def un.pad
bend-osdev-u32@0.1.0.0 · PROOF.bend:788
import bend-osdev-u32@0.1.0.0/PROOF.bend as PROOF
import Base
788def un.pad(p: Nat, t: Word(p)) -> {Word.to_nat(1n+p, Word.shr.pad(p, t)) == Word.to_nat(p, t) : Nat}:
789 match p:
790 case 0n:
791 {==}
792 case 1n+ +q:
793 match t:
794 case WCon{False{}, +r}:
795 un.double_cong(Word.to_nat(1n+q, Word.shr.pad(q, r)), Word.to_nat(q, r), un.pad(q, r))
796 case WCon{True{}, +r}:
797 un.succ_cong(Nat.double(Word.to_nat(1n+q, Word.shr.pad(q, r))), Nat.double(Word.to_nat(q, r)), un.double_cong(Word.to_nat(1n+q, Word.shr.pad(q, r)), Word.to_nat(q, r), un.pad(q, r)))