LAWS.high_lt: law of bend-osdev-u32@0.1.0.0 Import: import bend-osdev-u32@0.1.0.0/LAWS.bend as LAWS Lines 660-668 of bend-osdev-u32@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&start_line=660&end_line=668 import Base import bend-osdev-u32@0.1.0.0/u32.bend as U # x below 2^(k + j): high(k, x) below 2^j law high_lt: for +k: Nat for +j: Nat for +m: Nat for +x: Nat for e: {Nat.add(k, j) == m : Nat} for h: {Nat.is_lt(x, U.U32Nat.dbl(m, 1n)) == True{} : Bool} {Nat.is_lt(U.U32Nat.high(k, x), U.U32Nat.dbl(j, 1n)) == True{} : Bool} Uses (17): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.trans https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=dbl_dbl https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=dbl_lt https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=low_high https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_lt_add https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_lt_witness https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/PROOF.bend&name=ur.r44 https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/u32.bend&name=U32Nat.dbl https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/u32.bend&name=U32Nat.high https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/u32.bend&name=U32Nat.low