Documentation

Mathlib.Init.Data.Bool.Lemmas

Lemmas about booleans #

These are the lemmas about booleans which were present in core Lean 3. See also the file Mathlib.Data.Bool.Basic which contains lemmas about booleans from mathlib 3.

@[simp]
theorem Bool.cond_true {α : Type u} {a : α} {b : α} :
(bif true then a else b) = a
@[simp]
theorem Bool.cond_false {α : Type u} {a : α} {b : α} :
(bif false then a else b) = b
@[simp]
theorem Bool.cond_self {α : Type u} (b : Bool) (a : α) :
(bif b then a else a) = a
@[simp]
@[simp]
theorem Bool.decide_iff (p : Prop) [d : Decidable p] :
theorem Bool.decide_true {p : Prop} [Decidable p] :
pdecide p = true
theorem Bool.bool_eq_false {b : Bool} :
¬b = trueb = false
theorem Bool.decide_false_iff (p : Prop) :
∀ {x : Decidable p}, decide p = false ¬p
theorem Bool.decide_congr {p : Prop} {q : Prop} [Decidable p] [Decidable q] (h : p q) :
theorem Bool.coe_or_iff (a : Bool) (b : Bool) :
(a || b) = true a = true b = true
theorem Bool.coe_and_iff (a : Bool) (b : Bool) :
(a && b) = true a = true b = true
theorem Bool.coe_xor_iff (a : Bool) (b : Bool) :
xor a b = true Xor' (a = true) (b = true)
@[simp]
theorem Bool.ite_eq_true_distrib (c : Prop) [Decidable c] (a : Bool) (b : Bool) :
((if c then a else b) = true) = if c then a = true else b = true
@[simp]
theorem Bool.ite_eq_false_distrib (c : Prop) [Decidable c] (a : Bool) (b : Bool) :
((if c then a else b) = false) = if c then a = false else b = false