@[protected]
theorem
quot.indep_coherent
{α : Sort u}
{r : α → α → Prop}
{β : quot r → Sort v}
(f : Π (a : α), β (quot.mk r a))
(h : ∀ (a b : α) (p : r a b), eq.rec (f a) _ = f b)
(a b : α) :
r a b → quot.indep f a = quot.indep f b
@[protected, reducible]
def
quot.rec_on_subsingleton
{α : Sort u}
{r : α → α → Prop}
{β : quot r → Sort v}
[h : ∀ (a : α), subsingleton (β (quot.mk r a))]
(q : quot r)
(f : Π (a : α), β (quot.mk r a)) :
β q
Equations
- q.rec_on_subsingleton f = quot.rec f _ q
Instances for quotient
- t2_space_of_properly_discontinuous_smul_of_t2_space
- t2_space_of_properly_discontinuous_vadd_of_t2_space
- quotient.countable
- quotient.inhabited
- quotient.subsingleton
- quotient.fintype
- quotient.finite
- quotient_group.fintype_quotient_right_rel
- quotient_add_group.fintype_quotient_right_rel
- quotient.topological_space
- quotient.compact_space
- uniform_space.separation_setoid.uniform_space
- uniform_space.separated_separation
- uniform_space.complete_space_separation
- quotient.sequential_space
- uniform_space.comm_ring
- uniform_space.topological_ring
@[protected, reducible]
def
quotient.lift₂
{α : Sort u_a}
{β : Sort u_b}
{φ : Sort u_c}
[s₁ : setoid α]
[s₂ : setoid β]
(f : α → β → φ)
(c : ∀ (a₁ : α) (a₂ : β) (b₁ : α) (b₂ : β), a₁ ≈ b₁ → a₂ ≈ b₂ → f a₁ a₂ = f b₁ b₂)
(q₁ : quotient s₁)
(q₂ : quotient s₂) :
φ
Equations
- quotient.lift₂ f c q₁ q₂ = quotient.lift (λ (a₁ : α), quotient.lift (f a₁) _ q₂) _ q₁
@[protected, reducible]
def
quotient.lift_on₂
{α : Sort u_a}
{β : Sort u_b}
{φ : Sort u_c}
[s₁ : setoid α]
[s₂ : setoid β]
(q₁ : quotient s₁)
(q₂ : quotient s₂)
(f : α → β → φ)
(c : ∀ (a₁ : α) (a₂ : β) (b₁ : α) (b₂ : β), a₁ ≈ b₁ → a₂ ≈ b₂ → f a₁ a₂ = f b₁ b₂) :
φ
Equations
- q₁.lift_on₂ q₂ f c = quotient.lift₂ f c q₁ q₂
@[protected]
@[protected, reducible]
def
quotient.rec_on_subsingleton₂
{α : Sort u_a}
{β : Sort u_b}
[s₁ : setoid α]
[s₂ : setoid β]
{φ : quotient s₁ → quotient s₂ → Sort u_c}
[h : ∀ (a : α) (b : β), subsingleton (φ ⟦a⟧ ⟦b⟧)]
(q₁ : quotient s₁)
(q₂ : quotient s₂)
(f : Π (a : α) (b : β), φ ⟦a⟧ ⟦b⟧) :
φ q₁ q₂
Equations
- q₁.rec_on_subsingleton₂ q₂ f = q₁.rec_on_subsingleton (λ (a : α), q₂.rec_on_subsingleton (λ (b : β), f a b))
- rel : ∀ {α : Type u} {r : α → α → Prop} (x y : α), r x y → eqv_gen r x y
- refl : ∀ {α : Type u} {r : α → α → Prop} (x : α), eqv_gen r x x
- symm : ∀ {α : Type u} {r : α → α → Prop} (x y : α), eqv_gen r x y → eqv_gen r y x
- trans : ∀ {α : Type u} {r : α → α → Prop} (x y z : α), eqv_gen r x y → eqv_gen r y z → eqv_gen r x z
@[protected, instance]
def
quotient.decidable_eq
{α : Sort u}
{s : setoid α}
[d : Π (a b : α), decidable (a ≈ b)] :
decidable_eq (quotient s)
Equations
- quotient.decidable_eq = λ (q₁ q₂ : quotient s), q₁.rec_on_subsingleton₂ q₂ (λ (a₁ a₂ : α), quotient.decidable_eq._match_1 a₁ a₂ (d a₁ a₂))
- quotient.decidable_eq._match_1 a₁ a₂ (decidable.is_true h₁) = decidable.is_true _
- quotient.decidable_eq._match_1 a₁ a₂ (decidable.is_false h₂) = decidable.is_false _