def hi_one

bend-collections-laws-math@1.0.0.0 · proofs/math/typed/f64round.bend:487

import bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64round.bend as F64round
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/proofs/math/typed/u32laws.bend as LW
import bend-collections-laws-math@1.0.0.0/proofs/math/typed/natcmp.bend as NC

487# the high part of a q in [2^52, 2^53) is 1
488def hi_one(+H0: Nat, +a: {Nat.is_eq(C.half(H0), 0n) == True{} : Bool}, +b: {Nat.is_eq(H0, 0n) == False{} : Bool}) -> {H0 == 1n : Nat}:
489  match H0:
490    case 0n:
491      Empty.absurd({0n == 1n : Nat}, LW.true_ne_false(b))
492    case 1n:
493      {==}
494    case 2n+ +p:
495      NC.absurd_tf({2n+p == 1n : Nat}, a)

Uses (7)

Used by (2)