def wr.t6
bend-osdev-word64@0.1.1.0 · PROOF_text.bend:214
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
214def wr.t6(+x0: Nat, +x1: Nat, +x2: Nat, +x3: Nat, +x4: Nat) -> {Nat.add(Nat.mul(Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.add(U.U32Nat.dbl(16n, 0n), x0)), x1), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.add(U.U32Nat.dbl(16n, 0n), x2)), x3))), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}:
215 %Equal.sym(Nat, U.U32Nat.dbl(16n, 0n), 0n, UL.dbl_zero(16n)) : {Nat.add(Nat.mul(Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.add(_, x0)), x1), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.add(U.U32Nat.dbl(16n, 0n), x2)), x3))), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
216 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, x0), x1), Nat.add(x1, U.U32Nat.dbl(16n, x0)), UL.nat_add_comm(U.U32Nat.dbl(16n, x0), x1)) : {Nat.add(Nat.mul(Nat.add(_, U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.add(U.U32Nat.dbl(16n, 0n), x2)), x3))), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
217 %Equal.sym(Nat, U.U32Nat.dbl(16n, 0n), 0n, UL.dbl_zero(16n)) : {Nat.add(Nat.mul(Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.add(_, x2)), x3))), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
218 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, x2), x3), Nat.add(x3, U.U32Nat.dbl(16n, x2)), UL.nat_add_comm(U.U32Nat.dbl(16n, x2), x3)) : {Nat.add(Nat.mul(Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), U.U32Nat.dbl(32n, _)), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
219 %Equal.sym(Nat, U.U32Nat.dbl(32n, Nat.add(x3, U.U32Nat.dbl(16n, x2))), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, x2))), UL.dbl_add(32n, x3, U.U32Nat.dbl(16n, x2))) : {Nat.add(Nat.mul(Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), _), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
220 %Equal.sym(Nat, U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, x2)), U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, x2)), UL.dbl_comm(32n, 16n, x2)) : {Nat.add(Nat.mul(Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), Nat.add(U.U32Nat.dbl(32n, x3), _)), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
221 %Equal.sym(Nat, U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, x2)), U.U32Nat.dbl(Nat.add(16n, 32n), x2), UL.dbl_dbl(16n, 32n, x2)) : {Nat.add(Nat.mul(Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), Nat.add(U.U32Nat.dbl(32n, x3), _)), 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
222 %Equal.sym(Nat, Nat.add(Nat.add(x1, U.U32Nat.dbl(16n, x0)), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2))), Nat.add(x1, Nat.add(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)))), UL.nat_add_assoc(x1, U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)))) : {Nat.add(Nat.mul(_, 10n), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
223 %Equal.sym(Nat, Nat.mul(Nat.add(x1, Nat.add(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)))), 10n), Nat.add(Nat.mul(x1, 10n), Nat.mul(Nat.add(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2))), 10n)), UL.nat_add_mul(x1, Nat.add(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2))), 10n)) : {Nat.add(_, x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
224 %Equal.sym(Nat, Nat.mul(Nat.add(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2))), 10n), Nat.add(Nat.mul(U.U32Nat.dbl(16n, x0), 10n), Nat.mul(Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)), 10n)), UL.nat_add_mul(U.U32Nat.dbl(16n, x0), Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)), 10n)) : {Nat.add(Nat.add(Nat.mul(x1, 10n), _), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
225 %Equal.sym(Nat, Nat.mul(Nat.add(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2)), 10n), Nat.add(Nat.mul(U.U32Nat.dbl(32n, x3), 10n), Nat.mul(U.U32Nat.dbl(48n, x2), 10n)), UL.nat_add_mul(U.U32Nat.dbl(32n, x3), U.U32Nat.dbl(48n, x2), 10n)) : {Nat.add(Nat.add(Nat.mul(x1, 10n), Nat.add(Nat.mul(U.U32Nat.dbl(16n, x0), 10n), _)), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
226 %Equal.sym(Nat, Nat.mul(x1, 10n), Nat.mul(10n, x1), UL.nat_mul_comm(x1, 10n)) : {Nat.add(Nat.add(_, Nat.add(Nat.mul(U.U32Nat.dbl(16n, x0), 10n), Nat.add(Nat.mul(U.U32Nat.dbl(32n, x3), 10n), Nat.mul(U.U32Nat.dbl(48n, x2), 10n)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
227 %Equal.sym(Nat, Nat.mul(U.U32Nat.dbl(16n, x0), 10n), U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), UL.dbl_mul_l(16n, x0, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(_, Nat.add(Nat.mul(U.U32Nat.dbl(32n, x3), 10n), Nat.mul(U.U32Nat.dbl(48n, x2), 10n)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
228 %Equal.sym(Nat, Nat.mul(x0, 10n), Nat.mul(10n, x0), UL.nat_mul_comm(x0, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, _), Nat.add(Nat.mul(U.U32Nat.dbl(32n, x3), 10n), Nat.mul(U.U32Nat.dbl(48n, x2), 10n)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
229 %Equal.sym(Nat, Nat.mul(U.U32Nat.dbl(32n, x3), 10n), U.U32Nat.dbl(32n, Nat.mul(x3, 10n)), UL.dbl_mul_l(32n, x3, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(_, Nat.mul(U.U32Nat.dbl(48n, x2), 10n)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
230 %Equal.sym(Nat, Nat.mul(x3, 10n), Nat.mul(10n, x3), UL.nat_mul_comm(x3, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, _), Nat.mul(U.U32Nat.dbl(48n, x2), 10n)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
231 %Equal.sym(Nat, Nat.mul(U.U32Nat.dbl(48n, x2), 10n), U.U32Nat.dbl(48n, Nat.mul(x2, 10n)), UL.dbl_mul_l(48n, x2, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), _))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
232 %Equal.sym(Nat, Nat.mul(x2, 10n), Nat.mul(10n, x2), UL.nat_mul_comm(x2, 10n)) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, _)))), x4) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
233 %Equal.sym(Nat, Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), x4), Nat.add(Nat.mul(10n, x1), Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), x4)), UL.nat_add_assoc(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), x4)) : {_ == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
234 %Equal.sym(Nat, Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), x4), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))), x4)), UL.nat_add_assoc(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))), x4)) : {Nat.add(Nat.mul(10n, x1), _) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
235 %Equal.sym(Nat, Nat.add(Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))), x4), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), Nat.add(U.U32Nat.dbl(48n, Nat.mul(10n, x2)), x4)), UL.nat_add_assoc(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)), x4)) : {Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), _)) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
236 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(48n, Nat.mul(10n, x2)), x4), Nat.add(x4, U.U32Nat.dbl(48n, Nat.mul(10n, x2))), UL.nat_add_comm(U.U32Nat.dbl(48n, Nat.mul(10n, x2)), x4)) : {Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), _))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
237 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), Nat.add(x4, U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), Nat.add(x4, Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), UL.nat_add_left_comm(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), x4, U.U32Nat.dbl(48n, Nat.mul(10n, x2)))) : {Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), _)) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
238 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(x4, Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), Nat.add(x4, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), UL.nat_add_left_comm(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4, Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))) : {Nat.add(Nat.mul(10n, x1), _) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
239 %Equal.sym(Nat, Nat.add(x4, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), Nat.add(Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), Equal.sym(Nat, Nat.add(Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), Nat.add(x4, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), UL.nat_add_assoc(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))))) : {Nat.add(Nat.mul(10n, x1), _) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
240 %Equal.sym(Nat, Nat.add(Nat.mul(10n, x1), Nat.add(Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), Equal.sym(Nat, Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))), Nat.add(Nat.mul(10n, x1), Nat.add(Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2))))), UL.nat_add_assoc(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(48n, Nat.mul(10n, x2)))))) : {_ == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
241 %Equal.sym(Nat, U.U32Nat.dbl(Nat.add(16n, 32n), Nat.mul(10n, x2)), U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, Nat.mul(10n, x2))), Equal.sym(Nat, U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, Nat.mul(10n, x2))), U.U32Nat.dbl(Nat.add(16n, 32n), Nat.mul(10n, x2)), UL.dbl_dbl(16n, 32n, Nat.mul(10n, x2)))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), _)) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
242 %Equal.sym(Nat, U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, Nat.mul(10n, x2))), U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, Nat.mul(10n, x2))), Equal.sym(Nat, U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, Nat.mul(10n, x2))), U.U32Nat.dbl(16n, U.U32Nat.dbl(32n, Nat.mul(10n, x2))), UL.dbl_comm(32n, 16n, Nat.mul(10n, x2)))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), _)) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
243 %Equal.sym(Nat, Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, Nat.mul(10n, x2)))), U.U32Nat.dbl(32n, Nat.add(Nat.mul(10n, x3), U.U32Nat.dbl(16n, Nat.mul(10n, x2)))), Equal.sym(Nat, U.U32Nat.dbl(32n, Nat.add(Nat.mul(10n, x3), U.U32Nat.dbl(16n, Nat.mul(10n, x2)))), Nat.add(U.U32Nat.dbl(32n, Nat.mul(10n, x3)), U.U32Nat.dbl(32n, U.U32Nat.dbl(16n, Nat.mul(10n, x2)))), UL.dbl_add(32n, Nat.mul(10n, x3), U.U32Nat.dbl(16n, Nat.mul(10n, x2))))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), _) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
244 %Equal.sym(Nat, Nat.add(Nat.mul(10n, x3), U.U32Nat.dbl(16n, Nat.mul(10n, x2))), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x2)), Nat.mul(10n, x3)), Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x2)), Nat.mul(10n, x3)), Nat.add(Nat.mul(10n, x3), U.U32Nat.dbl(16n, Nat.mul(10n, x2))), UL.nat_add_comm(U.U32Nat.dbl(16n, Nat.mul(10n, x2)), Nat.mul(10n, x3)))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), U.U32Nat.dbl(32n, _)) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
245 %Equal.sym(Nat, Nat.mul(10n, x3), Nat.mul(x3, 10n), Equal.sym(Nat, Nat.mul(x3, 10n), Nat.mul(10n, x3), UL.nat_mul_comm(x3, 10n))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x2)), _))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
246 %Equal.sym(Nat, Nat.mul(10n, x2), Nat.mul(x2, 10n), Equal.sym(Nat, Nat.mul(x2, 10n), Nat.mul(10n, x2), UL.nat_mul_comm(x2, 10n))) : {Nat.add(Nat.add(Nat.mul(10n, x1), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0)))), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, _), Nat.mul(x3, 10n)))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
247 %Equal.sym(Nat, Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4), Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4), Nat.add(x4, U.U32Nat.dbl(16n, Nat.mul(10n, x0))), UL.nat_add_comm(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4))) : {Nat.add(Nat.add(Nat.mul(10n, x1), _), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
248 %Equal.sym(Nat, Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4)), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(Nat.mul(10n, x1), x4)), Equal.sym(Nat, Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(Nat.mul(10n, x1), x4)), Nat.add(Nat.mul(10n, x1), Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), x4)), UL.nat_add_left_comm(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.mul(10n, x1), x4))) : {Nat.add(_, U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
249 %Equal.sym(Nat, Nat.mul(10n, x1), Nat.mul(x1, 10n), Equal.sym(Nat, Nat.mul(x1, 10n), Nat.mul(10n, x1), UL.nat_mul_comm(x1, 10n))) : {Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(10n, x0)), Nat.add(_, x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
250 %Equal.sym(Nat, Nat.mul(10n, x0), Nat.mul(x0, 10n), Equal.sym(Nat, Nat.mul(x0, 10n), Nat.mul(10n, x0), UL.nat_mul_comm(x0, 10n))) : {Nat.add(Nat.add(U.U32Nat.dbl(16n, _), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) == Nat.add(Nat.add(U.U32Nat.dbl(16n, Nat.mul(x0, 10n)), Nat.add(Nat.mul(x1, 10n), x4)), U.U32Nat.dbl(32n, Nat.add(U.U32Nat.dbl(16n, Nat.mul(x2, 10n)), Nat.mul(x3, 10n)))) : Nat}
251 {==}