def internal_bit_double_lt

bend-mathlib@0.8.1.0 · u32.bend:824

import bend-mathlib@0.8.1.0/u32.bend as U32
import Base
import bend-mathlib@0.8.1.0/nat.bend as MNat

824def internal_bit_double_lt(x: Bool, +r: Nat, +b: Nat, h: MNat.lt(r, b)) -> MNat.lt(Nat.add(internal_bv(x), Nat.double(r)), Nat.double(b)):
825  match x:
826    case False{}:
827      MNat.double_lt_double(r, b, h)
828    case True{}:
829      %Equal.sym(Bool, Nat.is_lt(1n+Nat.double(r), Nat.double(b)), Nat.is_le(2n+Nat.double(r), Nat.double(b)), MNat.is_lt_eq_succ_le(1n+Nat.double(r), Nat.double(b))) : {_ == True{} : Bool}
830      MNat.double_le_double(1n+r, b, MNat.succ_le_of_lt(r, b, h))

Uses (13)

Used by (2)