mathlib documentation

core.​data.​bitvec

core.​data.​bitvec

def bitvec  :
ℕ → Type

Equations
def bitvec.​cong {a b : ℕ} :
a = b → bitvec a → bitvec b

Equations
def bitvec.​append {m n : ℕ} :
bitvec m → bitvec n → bitvec (m + n)

Equations
def bitvec.​shl {n : ℕ} :
bitvec n → ℕ → bitvec n

Equations
def bitvec.​fill_shr {n : ℕ} :
bitvec n → ℕ → bool → bitvec n

Equations
def bitvec.​ushr {n : ℕ} :
bitvec n → ℕ → bitvec n

Equations
def bitvec.​sshr {m : ℕ} :
bitvec m → ℕ → bitvec m

Equations
def bitvec.​not {n : ℕ} :
bitvec n → bitvec n

Equations
def bitvec.​and {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
def bitvec.​or {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
def bitvec.​xor {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
def bitvec.​xor3  :
bool → bool → bool → bool

Equations
def bitvec.​carry  :
bool → bool → bool → bool

Equations
def bitvec.​neg {n : ℕ} :
bitvec n → bitvec n

Equations
def bitvec.​adc {n : ℕ} :
bitvec n → bitvec n → bool → bitvec (n + 1)

Equations
def bitvec.​add {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
def bitvec.​sbb {n : ℕ} :
bitvec n → bitvec n → bool → bool × bitvec n

Equations
def bitvec.​sub {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
@[instance]

Equations
@[instance]
def bitvec.​has_one {n : ℕ} :

Equations
@[instance]
def bitvec.​has_add {n : ℕ} :

Equations
@[instance]
def bitvec.​has_sub {n : ℕ} :

Equations
@[instance]
def bitvec.​has_neg {n : ℕ} :

Equations
def bitvec.​mul {n : ℕ} :
bitvec n → bitvec n → bitvec n

Equations
@[instance]
def bitvec.​has_mul {n : ℕ} :

Equations
def bitvec.​uborrow {n : ℕ} :
bitvec n → bitvec n → bool

Equations
def bitvec.​ult {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​ugt {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​ule {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​uge {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​sborrow {n : ℕ} :
bitvec n → bitvec n → bool

Equations
def bitvec.​slt {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​sgt {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​sle {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​sge {n : ℕ} :
bitvec n → bitvec n → Prop

Equations
def bitvec.​add_lsb  :
ℕ → bool → ℕ

Equations
theorem bitvec.​to_nat_of_nat {k n : ℕ} :
(bitvec.of_nat k n).to_nat = n % 2 ^ k

@[instance]

Equations