def adc_con_not

bend-collections-laws-math@1.0.0.0 · proofs/lib/u32alg.bend:154

import bend-collections-laws-math@1.0.0.0/proofs/lib/u32alg.bend as U32alg
import Base

154def adc_con_not(+p: Nat, +at: Word(p), +bt: Word(p), sk: Bool & Bool, ih: @+k: Bool -> {Word.adc(p, at, bt, True{}, k) == Word.adc(p, at, Word.not(p, bt), False{}, k) : Word(p)}) -> {Word.adc.con(p, at, bt, True{}, sk) == Word.adc.con(p, at, Word.not(p, bt), False{}, sk) : Word(1n+p)}:
155  match sk:
156    case Tuple{s, k}:
157      Equal.cong(Word(p), Word(1n+p), w => WCon{s, w}, Word.adc(p, at, bt, True{}, k), Word.adc(p, at, Word.not(p, bt), False{}, k), ih(k))

Uses (10)

Used by (1)