def word.cmp_nat

bend-osdev-algo@0.1.0.0 · PROOF.bend:910

import bend-osdev-algo@0.1.0.0/PROOF.bend as PROOF
import Base

910def word.cmp_nat(n: Nat, a: Word(n), b: Word(n)) -> {Word.cmp(n, a, b) == Nat.cmp(Word.to_nat(n, a), Word.to_nat(n, b)) : Cmp}:
911  match n:
912    case 0n:
913      match a b:
914        case WNil{} WNil{}:
915          {==}
916    case 1n+ +p:
917      match a b:
918        case WCon{True{}, +at} WCon{True{}, +bt}:
919          word.cmp_nat.h(p, True{}, True{}, at, bt, word.cmp_nat(p, at, bt))
920        case WCon{True{}, +at} WCon{False{}, +bt}:
921          word.cmp_nat.h(p, True{}, False{}, at, bt, word.cmp_nat(p, at, bt))
922        case WCon{False{}, +at} WCon{True{}, +bt}:
923          word.cmp_nat.h(p, False{}, True{}, at, bt, word.cmp_nat(p, at, bt))
924        case WCon{False{}, +at} WCon{False{}, +bt}:
925          word.cmp_nat.h(p, False{}, False{}, at, bt, word.cmp_nat(p, at, bt))

Uses (10)

Used by (1)