ProofNum.step_dg: law of lawful-fields@0.1.1.0 Import: import lawful-fields@0.1.1.0/proof_num.bend as ProofNum Lines 391-402 of lawful-fields@0.1.1.0/proof_num.bend: https://jend.leeeet.dev/read.txt?path=lawful-fields@0.1.1.0/proof_num.bend&start_line=391&end_line=402 import Base import lawful-fields@0.1.1.0/defs.bend as F # After byte x, from value a, by the digit test (dg). law step_dg: for +acc: U32 for +x: U32 for +M: Nat for +q: Nat for +dg: Bool for +hdg: {DG(x) == dg : Bool} for +hm: {Nat.pow(2n, 32n) == M : Nat} for +hcq: {U32.to_nat(429496729) == q : Nat} for +hq: {Nat.add(Nat.mul(q, 10n), 6n) == M : Nat} Inv(Bool.and(dg, FT(acc, x)), NA(acc, x), F.dec.push(Some{U32.to_nat(acc)}, F.digit.if(x, dg)), M) Uses (29): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe 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.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.pow 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.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_ge https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_le https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_lt 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=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=lawful-arrays@0.1.0.0/proof_base.bend&name=and_true_l https://jend.leeeet.dev/definition.txt?path=lawful-arrays@0.1.0.0/proof_base.bend&name=and_true_r https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/defs.bend&name=dec.push https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/defs.bend&name=digit.if https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=DG https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=FITSU https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=FT https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=Inv https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=NA https://jend.leeeet.dev/definition.txt?path=lawful-fields@0.1.1.0/proof_num.bend&name=step_fb