mathlib documentation

data.​sigma.​basic

data.​sigma.​basic

@[instance]
def sigma.​inhabited {α : Type u_1} {β : α → Type u_2} [inhabited α] [inhabited (inhabited.default α))] :

Equations
@[instance]
def sigma.​decidable_eq {α : Type u_1} {β : α → Type u_2} [h₁ : decidable_eq α] [h₂ : Π (a : α), decidable_eq (β a)] :

Equations
theorem sigma_mk_injective {α : Type u_1} {β : α → Type u_2} {i : α} :

@[simp, nolint]
theorem sigma.​mk.​inj_iff {α : Type u_1} {β : α → Type u_2} {a₁ a₂ : α} {b₁ : β a₁} {b₂ : β a₂} :
a₁, b₁⟩ = a₂, b₂⟩ a₁ = a₂ b₁ == b₂

@[simp]
theorem sigma.​eta {α : Type u_1} {β : α → Type u_2} (x : Σ (a : α), β a) :
x.fst, x.snd = x

@[ext]
theorem sigma.​ext {α : Type u_1} {β : α → Type u_2} {x₀ x₁ : sigma β} :
x₀.fst = x₁.fst(x₀.fst = x₁.fstx₀.snd == x₁.snd)x₀ = x₁

@[simp]
theorem sigma.​forall {α : Type u_1} {β : α → Type u_2} {p : (Σ (a : α), β a) → Prop} :
(∀ (x : Σ (a : α), β a), p x) ∀ (a : α) (b : β a), p a, b⟩

@[simp]
theorem sigma.​exists {α : Type u_1} {β : α → Type u_2} {p : (Σ (a : α), β a) → Prop} :
(∃ (x : Σ (a : α), β a), p x) ∃ (a : α) (b : β a), p a, b⟩

def sigma.​map {α₁ : Type u_3} {α₂ : Type u_4} {β₁ : α₁ → Type u_5} {β₂ : α₂ → Type u_6} (f₁ : α₁ → α₂) :
(Π (a : α₁), β₁ aβ₂ (f₁ a))sigma β₁sigma β₂

Map the left and right components of a sigma

Equations
theorem function.​injective.​sigma_map {α₁ : Type u_3} {α₂ : Type u_4} {β₁ : α₁ → Type u_5} {β₂ : α₂ → Type u_6} {f₁ : α₁ → α₂} {f₂ : Π (a : α₁), β₁ aβ₂ (f₁ a)} :
function.injective f₁(∀ (a : α₁), function.injective (f₂ a))function.injective (sigma.map f₁ f₂)

theorem function.​surjective.​sigma_map {α₁ : Type u_3} {α₂ : Type u_4} {β₁ : α₁ → Type u_5} {β₂ : α₂ → Type u_6} {f₁ : α₁ → α₂} {f₂ : Π (a : α₁), β₁ aβ₂ (f₁ a)} :
function.surjective f₁(∀ (a : α₁), function.surjective (f₂ a))function.surjective (sigma.map f₁ f₂)

def psigma.​elim {α : Sort u_1} {β : α → Sort u_2} {γ : Sort u_3} :
(Π (a : α), β a → γ)psigma β → γ

Nondependent eliminator for psigma.

Equations
@[simp]
theorem psigma.​elim_val {α : Sort u_1} {β : α → Sort u_2} {γ : Sort u_3} (f : Π (a : α), β a → γ) (a : α) (b : β a) :
psigma.elim f a, b⟩ = f a b

@[instance]
def psigma.​inhabited {α : Sort u_1} {β : α → Sort u_2} [inhabited α] [inhabited (inhabited.default α))] :

Equations
@[instance]
def psigma.​decidable_eq {α : Sort u_1} {β : α → Sort u_2} [h₁ : decidable_eq α] [h₂ : Π (a : α), decidable_eq (β a)] :

Equations
theorem psigma.​mk.​inj_iff {α : Sort u_1} {β : α → Sort u_2} {a₁ a₂ : α} {b₁ : β a₁} {b₂ : β a₂} :
a₁, b₁⟩ = a₂, b₂⟩ a₁ = a₂ b₁ == b₂

def psigma.​map {α₁ : Sort u_3} {α₂ : Sort u_4} {β₁ : α₁ → Sort u_5} {β₂ : α₂ → Sort u_6} (f₁ : α₁ → α₂) :
(Π (a : α₁), β₁ aβ₂ (f₁ a))psigma β₁psigma β₂

Map the left and right components of a sigma

Equations