PROOFText.wsh.ed: def of bend-osdev-word64@0.1.1.0 Import: import bend-osdev-word64@0.1.1.0/PROOF_text.bend as PROOFText Lines 351-352 of bend-osdev-word64@0.1.1.0/PROOF_text.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-word64@0.1.1.0/PROOF_text.bend&start_line=351&end_line=352 import Base import bend-osdev-u32@0.1.0.0/LAWS.bend as UL import bend-osdev-word64@0.1.1.0/proof_value.bend as P def wsh.ed(+r: U32, +hr: {Nat.is_lt(U32.to_nat(r), 10n) == True{} : Bool}) -> {U32.sub(U32.add(48, r), 48) == r : U32}: UL.u32_value_eq(U32.sub(U32.add(48, r), 48), r, Equal.trans(Nat, U32.to_nat(U32.sub(U32.add(48, r), 48)), Nat.sub(U32.to_nat(r), 0n), U32.to_nat(r), Equal.trans(Nat, U32.to_nat(U32.sub(U32.add(48, r), 48)), Nat.sub(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(48)), Nat.sub(U32.to_nat(r), 0n), Equal.trans(Nat, U32.to_nat(U32.sub(U32.add(48, r), 48)), Nat.sub(U32.to_nat(U32.add(48, r)), U32.to_nat(48)), Nat.sub(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(48)), UL.u32_sub_value(U32.add(48, r), 48, Equal.trans(Bool, Nat.is_le(U32.to_nat(48), U32.to_nat(U32.add(48, r))), Nat.is_le(U32.to_nat(48), Nat.add(U32.to_nat(48), U32.to_nat(r))), True{}, Equal.cong(Nat, Bool, zz => Nat.is_le(U32.to_nat(48), zz), U32.to_nat(U32.add(48, r)), Nat.add(U32.to_nat(48), U32.to_nat(r)), UL.u32_add_value(48, r, 57, Equal.trans(Bool, Nat.is_le(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(57)), Nat.is_lt(U32.to_nat(r), 10n), True{}, Equal.trans(Bool, Nat.is_le(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(57)), Nat.is_le(1n+U32.to_nat(r), 10n), Nat.is_lt(U32.to_nat(r), 10n), {==}, P.wn.le_succ(U32.to_nat(r), 10n)), hr))), Equal.trans(Bool, Nat.is_le(U32.to_nat(48), Nat.add(U32.to_nat(48), U32.to_nat(r))), Nat.is_le(U32.to_nat(48), Nat.add(U32.to_nat(r), U32.to_nat(48))), True{}, Equal.cong(Nat, Bool, zz => Nat.is_le(U32.to_nat(48), zz), Nat.add(U32.to_nat(48), U32.to_nat(r)), Nat.add(U32.to_nat(r), U32.to_nat(48)), UL.nat_add_comm(U32.to_nat(48), U32.to_nat(r))), UL.nat_le_add(U32.to_nat(48), U32.to_nat(r))))), Equal.cong(Nat, Nat, zz => Nat.sub(zz, U32.to_nat(48)), U32.to_nat(U32.add(48, r)), Nat.add(U32.to_nat(48), U32.to_nat(r)), UL.u32_add_value(48, r, 57, Equal.trans(Bool, Nat.is_le(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(57)), Nat.is_lt(U32.to_nat(r), 10n), True{}, Equal.trans(Bool, Nat.is_le(Nat.add(U32.to_nat(48), U32.to_nat(r)), U32.to_nat(57)), Nat.is_le(1n+U32.to_nat(r), 10n), Nat.is_lt(U32.to_nat(r), 10n), {==}, P.wn.le_succ(U32.to_nat(r), 10n)), hr)))), {==}), wn.sub0(U32.to_nat(r)))) Uses (19): 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.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_le 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=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_add_comm https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_le_add https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=u32_add_value https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=u32_sub_value https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=u32_value_eq https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/PROOF_text.bend&name=wn.sub0 https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/proof_value.bend&name=wn.le_succ