def h.wcmp_sound

bend-kit-collections@0.1.4.1 · PROOF.bend:1798

import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF
import Base

1798def h.wcmp_sound(+n: Nat, a: Word(n), b: Word(n), +e: {Cmp.is_eq(Word.cmp(n, a, b)) == True{} : Bool})
1799  -> {a == b : Word(n)}:
1800  match n:
1801    case 0n:
1802      match a b:
1803        case WNil{} WNil{}:
1804          {==}
1805    case 1n+p:
1806      match a b:
1807        case WCon{+x, +at} WCon{+y, +bt}:
1808          +e1 = h.fin_hd(Word.cmp(p, at, bt), x, y, e)
1809          +e2 = h.wcmp_sound(p, at, bt, h.fin_eq(Word.cmp(p, at, bt), x, y, e))
1810          %e1 : {WCon{x, at} == WCon{_, bt} : Word(1n+p)}
1811          %e2 : {WCon{x, at} == WCon{x, _} : Word(1n+p)}
1812          {==}

Uses (9)

Used by (1)