def internal_word_eq

bend-mathlib@0.8.1.0 · string.bend:277

import bend-mathlib@0.8.1.0/string.bend as String
import Base

277def internal_word_eq(n: Nat, a: Word(n), b: Word(n), +h: {Cmp.is_eq(Word.cmp(n, a, b)) == True{} : Bool}) -> {a == b : Word(n)}:
278  match n:
279    case 0n:
280      match a b:
281        case WNil{} WNil{}:
282          {==}
283    case 1n+ +p:
284      match a b:
285        case WCon{+ab, +at} WCon{+bb, +bt}:
286          %internal_fin_head(ab, bb, Word.cmp(p, at, bt), h) : {WCon{ab, at} == WCon{_, bt} : Word(1n+p)}
287          %internal_word_eq(p, at, bt, internal_fin_tail(ab, bb, Word.cmp(p, at, bt), h)) : {WCon{ab, at} == WCon{ab, _} : Word(1n+p)}
288          {==}

Uses (9)

Used by (1)