mathlib documentation

set_theory.​lists

set_theory.​lists

@[instance]
def lists'.​decidable_eq (α : Type u) [a : decidable_eq α] (a_1 : bool) :

inductive lists'  :
Type u → bool → Type u

def lists  :
Type u_1 → Type u_1

Equations
def lists'.​cons {α : Type u_1} :
lists α → lists' α bool.tt → lists' α bool.tt

Equations
@[simp]
def lists'.​to_list {α : Type u_1} {b : bool} :
lists' α b → list (lists α)

Equations
@[simp]
theorem lists'.​to_list_cons {α : Type u_1} (a : lists α) (l : lists' α bool.tt) :

@[simp]
def lists'.​of_list {α : Type u_1} :
list (lists α) → lists' α bool.tt

Equations
@[simp]
theorem lists'.​to_of_list {α : Type u_1} (l : list (lists α)) :

@[simp]
theorem lists'.​of_to_list {α : Type u_1} (l : lists' α bool.tt) :

@[instance]
def lists'.​has_subset {α : Type u_1} :

Equations
@[instance]
def lists'.​has_mem {α : Type u_1} {b : bool} :
has_mem (lists α) (lists' α b)

Equations
theorem lists'.​mem_def {α : Type u_1} {b : bool} {a : lists α} {l : lists' α b} :
a ∈ l ↔ ∃ (a' : lists α) (H : a' ∈ l.to_list), a.equiv a'

@[simp]
theorem lists'.​mem_cons {α : Type u_1} {a y : lists α} {l : lists' α bool.tt} :
a ∈ lists'.cons y l ↔ a.equiv y ∨ a ∈ l

theorem lists'.​cons_subset {α : Type u_1} {a : lists α} {l₁ l₂ : lists' α bool.tt} :
lists'.cons a l₁ ⊆ l₂ ↔ a ∈ l₂ ∧ l₁ ⊆ l₂

theorem lists'.​of_list_subset {α : Type u_1} {l₁ l₂ : list (lists α)} :
l₁ ⊆ l₂ → lists'.of_list l₁ ⊆ lists'.of_list l₂

theorem lists'.​subset_nil {α : Type u_1} {l : lists' α bool.tt} :

theorem lists'.​mem_of_subset' {α : Type u_1} {a : lists α} {l₁ l₂ : lists' α bool.tt} :
l₁ ⊆ l₂ → a ∈ l₁.to_list → a ∈ l₂

theorem lists'.​subset_def {α : Type u_1} {l₁ l₂ : lists' α bool.tt} :
l₁ ⊆ l₂ ↔ ∀ (a : lists α), a ∈ l₁.to_list → a ∈ l₂

def lists.​atom {α : Type u_1} :
α → lists α

Equations
def lists.​of' {α : Type u_1} :
lists' α bool.tt → lists α

Equations
@[simp]
def lists.​to_list {α : Type u_1} :
lists α → list (lists α)

Equations
def lists.​is_list {α : Type u_1} :
lists α → Prop

Equations
def lists.​of_list {α : Type u_1} :
list (lists α) → lists α

Equations
theorem lists.​is_list_to_list {α : Type u_1} (l : list (lists α)) :

theorem lists.​to_of_list {α : Type u_1} (l : list (lists α)) :

theorem lists.​of_to_list {α : Type u_1} {l : lists α} :

@[instance]
def lists.​inhabited {α : Type u_1} :

Equations
@[instance]
def lists.​decidable_eq {α : Type u_1} [decidable_eq α] :

Equations
@[instance]
def lists.​has_sizeof {α : Type u_1} [has_sizeof α] :

Equations
def lists.​induction_mut {α : Type u_1} (C : lists α → Sort u_2) (D : lists' α bool.tt → Sort u_3) :
(Π (a : α), C (lists.atom a)) → (Π (l : lists' α bool.tt), D l → C (lists.of' l)) → D lists'.nil → (Π (a : lists α) (l : lists' α bool.tt), C a → D l → D (lists'.cons a l)) → pprod (Π (l : lists α), C l) (Π (l : lists' α bool.tt), D l)

Equations
def lists.​mem {α : Type u_1} :
lists α → lists α → Prop

Equations
@[instance]
def lists.​has_mem {α : Type u_1} :
has_mem (lists α) (lists α)

Equations
theorem lists.​is_list_of_mem {α : Type u_1} {a l : lists α} :
a ∈ l → l.is_list

theorem lists.​equiv_atom {α : Type u_1} {a : α} {l : lists α} :
(lists.atom a).equiv l ↔ lists.atom a = l

@[instance]
def lists.​setoid {α : Type u_1} :

Equations
theorem lists.​sizeof_pos {α : Type u_1} {b : bool} (l : lists' α b) :
0 < sizeof l

theorem lists.​lt_sizeof_cons' {α : Type u_1} {b : bool} (a : lists' α b) (l : lists' α bool.tt) :
sizeof ⟨b, a⟩ < sizeof (a.cons' l)

theorem lists'.​mem_equiv_left {α : Type u_1} {l : lists' α bool.tt} {a a' : lists α} :
a.equiv a' → (a ∈ l ↔ a' ∈ l)

theorem lists'.​mem_of_subset {α : Type u_1} {a : lists α} {l₁ l₂ : lists' α bool.tt} :
l₁ ⊆ l₂ → a ∈ l₁ → a ∈ l₂

def finsets  :
Type u_1 → Type u_1

Equations
@[instance]
def finsets.​has_emptyc {α : Type u_1} :

Equations
@[instance]
def finsets.​inhabited {α : Type u_1} :

Equations
@[instance]
def finsets.​decidable_eq {α : Type u_1} [decidable_eq α] :

Equations