F64cmp.xshx: def of bend-collections-laws-math@1.0.0.0 Import: import bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64cmp.bend as F64cmp Lines 121-125 of bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64cmp.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64cmp.bend&start_line=121&end_line=125 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/f64.bend as SF import bend-collections-laws-math@1.0.0.0/src/math/f64.bend as F # xsh at a double, stated with SF.xexp as mcf uses it (the unfolding of # xexp is a small step here, so no conversion walks C.shift(1925n, _)) def xshx(+x: F.F64) -> {C.shift(SF.xexp(x), SF.mant(x)) == C.shift(1925n, C.shift(SF.pick(Nat, Nat.is_eq(SF.efield(x), 0n), 1n, SF.efield(x)), SF.mant(x))) : Nat}: +P = SF.pick(Nat, Nat.is_eq(SF.efield(x), 0n), Nat.sub(SF.zb(), 1074n), Nat.sub(Nat.add(SF.efield(x), SF.zb()), 1075n)) Equal.trans(Nat, C.shift(SF.xexp(x), SF.mant(x)), C.shift(P, SF.mant(x)), C.shift(1925n, C.shift(SF.pick(Nat, Nat.is_eq(SF.efield(x), 0n), 1n, SF.efield(x)), SF.mant(x))), Equal.cong(Nat, Nat, z => C.shift(z, SF.mant(x)), SF.xexp(x), P, {==}), xsh(SF.efield(x), Nat.is_eq(SF.efield(x), 0n), SF.mant(x))) Uses (14): 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_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64cmp.bend&name=xsh https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/lib/common.bend&name=shift https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/f64.bend&name=efield https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/f64.bend&name=mant https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/f64.bend&name=pick https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/f64.bend&name=xexp https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/f64.bend&name=zb https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-math@1.0.0.0/src/math/f64.bend&name=F64