ProofNat.go_eq: law of lawful-words@0.1.0.0 Import: import lawful-words@0.1.0.0/proof_nat.bend as ProofNat Lines 943-952 of lawful-words@0.1.0.0/proof_nat.bend: https://jend.leeeet.dev/read.txt?path=lawful-words@0.1.0.0/proof_nat.bend&start_line=943&end_line=952 import Base # The loop of Nat.divmod keeps d * b + r + n, with b = 1 + bp and m + r = bp. law go_eq: for +n: Nat for +m: Nat for +d: Nat for +r: Nat for +bp: Nat for +h: {Nat.add(m, r) == bp : Nat} {Nat.add(Nat.mul(Pair.fst(Nat, Nat, Nat.divmod.go(n, m, d, r)), 1n+bp), Pair.snd(Nat, Nat, Nat.divmod.go(n, m, d, r))) == Nat.add(Nat.mul(d, 1n+bp), Nat.add(r, n)) : Nat} Uses (12): 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.divmod.go https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair.fst https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair.snd https://jend.leeeet.dev/definition.txt?path=lawful-words@0.1.0.0/proof_nat.bend&name=add_assoc https://jend.leeeet.dev/definition.txt?path=lawful-words@0.1.0.0/proof_nat.bend&name=add_left_comm https://jend.leeeet.dev/definition.txt?path=lawful-words@0.1.0.0/proof_nat.bend&name=add_succ https://jend.leeeet.dev/definition.txt?path=lawful-words@0.1.0.0/proof_nat.bend&name=add_zero