Documentation

Init.Data.Array.DecidableEq

theorem Array.isEqv_iff_rel {α : Type u_1} {xs ys : Array α} {r : ααBool} :
xs.isEqv ys r = true (h : xs.size = ys.size), ∀ (i : Nat) (h' : i < xs.size), r xs[i] ys[i] = true
theorem Array.isEqv_eq_decide {α : Type u_1} (xs ys : Array α) (r : ααBool) :
xs.isEqv ys r = if h : xs.size = ys.size then decide (∀ (i : Nat) (h' : i < xs.size), r xs[i] ys[i] = true) else false
@[simp]
theorem Array.isEqv_toList {α : Type u_1} {r : ααBool} [BEq α] (xs ys : Array α) :
xs.toList.isEqv ys.toList r = xs.isEqv ys r
theorem Array.eq_of_isEqv {α : Type u_1} [DecidableEq α] (xs ys : Array α) (h : (xs.isEqv ys fun (x y : α) => decide (x = y)) = true) :
xs = ys
theorem Array.isEqv_self_beq {α : Type u_1} [BEq α] [ReflBEq α] (xs : Array α) :
(xs.isEqv xs fun (x1 x2 : α) => x1 == x2) = true
theorem Array.isEqv_self {α : Type u_1} [DecidableEq α] (xs : Array α) :
(xs.isEqv xs fun (x1 x2 : α) => decide (x1 = x2)) = true
instance Array.instDecidableEq {α : Type u_1} [DecidableEq α] :
Equations
theorem Array.beq_eq_decide {α : Type u_1} [BEq α] (xs ys : Array α) :
(xs == ys) = if h : xs.size = ys.size then decide (∀ (i : Nat) (h' : i < xs.size), (xs[i] == ys[i]) = true) else false
@[simp]
theorem Array.beq_toList {α : Type u_1} [BEq α] (xs ys : Array α) :
(xs.toList == ys.toList) = (xs == ys)
@[simp]
theorem List.isEqv_toArray {α : Type u_1} {r : ααBool} [BEq α] (as bs : List α) :
as.toArray.isEqv bs.toArray r = as.isEqv bs r
@[simp]
theorem List.beq_toArray {α : Type u_1} [BEq α] (as bs : List α) :
(as.toArray == bs.toArray) = (as == bs)
instance Array.instLawfulBEq {α : Type u_1} [BEq α] [LawfulBEq α] :