def t63
bend-collections-laws-math@1.0.0.0 · proofs/math/typed/f64divq.bend:45
import bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64divq.bend as F64divq
import Base
import bend-collections-laws-math@1.0.0.0/spec/lib/common.bend as C
import bend-collections-laws-math@1.0.0.0/spec/math/w64.bend as SW
import bend-collections-laws-math@1.0.0.0/src/math/u64.bend as WU
import bend-collections-laws-math@1.0.0.0/proofs/lib/logic.bend as L
import bend-collections-laws-math@1.0.0.0/proofs/lib/lemmas/proofs/nat_algebra.bend as NA
import bend-collections-laws-math@1.0.0.0/proofs/math/typed/width.bend as WW
45def t63(+one: Nat, +h1: {one == 1n : Nat}, +d1: U32, +d2: U32) -> {C.fits(63n, Nat.add(C.shift(62n, one), C.high(2n, SW.value(WU.U64{d2, d1})))) == True{} : Bool}:
46 +f = WW.limbs_fit(62n, 1n, C.high(2n, SW.value(WU.U64{d2, d1})), one, hq62(d1, d2), L.subst(Nat, z => {C.fits(1n, z) == True{} : Bool}, 1n, one, Equal.sym(Nat, one, 1n, h1), {==}))
47 L.subst(Nat, z => {C.fits(63n, z) == True{} : Bool}, Nat.add(C.high(2n, SW.value(WU.U64{d2, d1})), C.shift(62n, one)), Nat.add(C.shift(62n, one), C.high(2n, SW.value(WU.U64{d2, d1}))), NA.add_comm(C.high(2n, SW.value(WU.U64{d2, d1})), C.shift(62n, one)), f)