def AP.sub_one

bend-osdev-array@0.1.0.1 · PROOF.bend:473

import bend-osdev-array@0.1.0.1/PROOF.bend as PROOF
import Base

473def AP.sub_one(n: Nat, d: Nat) -> {Word.sub(n, AP.pw(n, d), AP.pw(n, 0n)) == AP.lm(n, d) : Word(n)}:
474  match n:
475    case 0n:
476      {==}
477    case 1n+ +q:
478      match d:
479        case 0n:
480          AP.wcon_cong(q, False{}, Word.adc(q, Word.zero(q), Word.zero(q), True{}, True{}), Word.zero(q), AP.z1(q))
481        case 1n+ +e:
482          AP.wcon_cong(q, True{}, Word.adc(q, AP.pw(q, e), Word.zero(q), True{}, False{}), AP.lm(q, e), AP.z2(q, e))

Uses (11)

Used by (1)