def uq.val_lt
bend-osdev-algo@0.1.0.0 · proof_u32.bend:150
import bend-osdev-algo@0.1.0.0/proof_u32.bend as ProofU32
import Base
150def uq.val_lt(n: Nat, w: Word(n)) -> {Nat.is_lt(Word.to_nat(n, w), uq.pw(n)) == True{} : Bool}:
151 match n:
152 case 0n:
153 {==}
154 case 1n+ +p:
155 match w:
156 case WCon{False{}, +t}:
157 Equal.trans(Bool, Nat.is_lt(Nat.double(Word.to_nat(p, t)), Nat.double(uq.pw(p))), Nat.is_lt(Word.to_nat(p, t), uq.pw(p)), True{}, uq.lt_dbl(Word.to_nat(p, t), uq.pw(p)), uq.val_lt(p, t))
158 case WCon{True{}, +t}:
159 Equal.trans(Bool, Nat.is_lt(1n+Nat.double(Word.to_nat(p, t)), Nat.double(uq.pw(p))), Nat.is_lt(Word.to_nat(p, t), uq.pw(p)), True{}, uq.lt_dbl1(Word.to_nat(p, t), uq.pw(p)), uq.val_lt(p, t))