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))

Uses (11)

Used by (3)