def wsh.f1

bend-osdev-word64@0.1.1.0 · PROOF_text.bend:498

import bend-osdev-word64@0.1.1.0/PROOF_text.bend as PROOFText
import Base
import bend-osdev-u32@0.1.0.0/u32.bend as U
import bend-osdev-u32@0.1.0.0/LAWS.bend as UL

498def wsh.f1(+q: Nat, +r: Nat, +x: Nat, +e: {Nat.add(Nat.mul(q, 10n), r) == x : Nat}) -> {Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), x) == True{} : Bool}:
499  Equal.trans(Bool, Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), x), Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), Nat.add(r, Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)))), True{}, Equal.sym(Bool, Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), Nat.add(r, Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)))), Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), x), Equal.cong(Nat, Bool, zz => Nat.is_le(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), zz), Nat.add(r, Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q))), x, Equal.trans(Nat, Nat.add(r, Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q))), Nat.add(Nat.mul(q, 10n), r), x, wr.t11(r, q), e))), UL.nat_le_add(Nat.add(U.U32Nat.dbl(3n, q), U.U32Nat.dbl(1n, q)), r))

Uses (11)

Used by (1)