def bit_lt32.go

lawful-words@0.1.0.0 · proof_bytes.bend:105

import lawful-words@0.1.0.0/proof_bytes.bend as ProofBytes
import Base
import lawful-words@0.1.0.0/defs.bend as D
import lawful-words@0.1.0.0/proof_nat.bend as N

105def bit_lt32.go(+a: U32, +k: Nat, z: Bool, +ez: {Nat.is_lt(k, 32n) == z : Bool}) -> {D.bit(a, k) == Bool.and(z, D.bit(a, k)) : Bool}:
106  match z:
107    case True{}:
108      {==}
109    case False{}:
110      bit_ge32(a, k, N.not_lt_le(k, 32n, ez))

Uses (8)

Used by (1)