def AP.padp

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

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

400def AP.padp(n: Nat, d: Nat, h: {Nat.is_lt(d, n) == True{} : Bool}) -> {Word.shr.pad(n, AP.pw(n, d)) == AP.pw(1n+n, d) : Word(1n+n)}:
401  match n:
402    case 0n:
403      match d:
404        case 0n:
405          Empty.absurd({Word.shr.pad(0n, AP.pw(0n, 0n)) == AP.pw(1n, 0n) : Word(1n)}, AP.ft(h))
406        case 1n+e:
407          Empty.absurd({Word.shr.pad(0n, AP.pw(0n, 1n+e)) == AP.pw(1n, 1n+e) : Word(1n)}, AP.ft(h))
408    case 1n+ +q:
409      match d:
410        case 0n:
411          AP.wcon_cong(1n+q, True{}, Word.shr.pad(q, Word.zero(q)), Word.zero(1n+q), AP.padz(q))
412        case 1n+ +e:
413          AP.wcon_cong(1n+q, False{}, Word.shr.pad(q, AP.pw(q, e)), AP.pw(1n+q, e), AP.padp(q, e, h))

Uses (11)

Used by (1)