@@ -90,9 +90,10 @@ theorem lift_mk (f : α → γ) (h : ∀ a₁ a₂, r a₁ a₂ → f a₁ = f a
90
90
rfl
91
91
#align quot.lift_beta Quot.lift_mk
92
92
93
- theorem lift_on_mk (a : α) (f : α → γ) (h : ∀ a₁ a₂, r a₁ a₂ → f a₁ = f a₂) :
93
+ theorem liftOn_mk (a : α) (f : α → γ) (h : ∀ a₁ a₂, r a₁ a₂ → f a₁ = f a₂) :
94
94
Quot.liftOn (Quot.mk r a) f h = f a :=
95
95
rfl
96
+ #align quot.lift_on_mk Quot.liftOn_mk
96
97
97
98
/-- Descends a function `f : α → β → γ` to quotients of `α` and `β`. -/
98
99
-- porting note: removed `@[elab_as_elim]`, gave "unexpected resulting type γ"
@@ -116,10 +117,11 @@ protected def liftOn₂ (p : Quot r) (q : Quot s) (f : α → β → γ)
116
117
Quot.lift₂ f hr hs p q
117
118
118
119
@[simp]
119
- theorem lift_on ₂_mk (a : α) (b : β) (f : α → β → γ) (hr : ∀ a b₁ b₂, s b₁ b₂ → f a b₁ = f a b₂)
120
+ theorem liftOn ₂_mk (a : α) (b : β) (f : α → β → γ) (hr : ∀ a b₁ b₂, s b₁ b₂ → f a b₁ = f a b₂)
120
121
(hs : ∀ a₁ a₂ b, r a₁ a₂ → f a₁ b = f a₂ b) :
121
122
Quot.liftOn₂ (Quot.mk r a) (Quot.mk s b) f hr hs = f a b :=
122
123
rfl
124
+ #align quot.lift_on₂_mk Quot.liftOn₂_mk
123
125
124
126
variable {t : γ → γ → Prop }
125
127
@@ -284,15 +286,17 @@ theorem Quotient.lift₂_mk {α : Sort _} {β : Sort _} {γ : Sort _} [Setoid α
284
286
Quotient.lift₂ f h (Quotient.mk _ a) (Quotient.mk _ b) = f a b :=
285
287
rfl
286
288
287
- theorem Quotient.lift_on_mk [s : Setoid α] (f : α → β) (h : ∀ a b : α, a ≈ b → f a = f b) (x : α) :
289
+ theorem Quotient.liftOn_mk [s : Setoid α] (f : α → β) (h : ∀ a b : α, a ≈ b → f a = f b) (x : α) :
288
290
Quotient.liftOn (Quotient.mk s x) f h = f x :=
289
291
rfl
292
+ #align Quotient.lift_on_mk Quotient.liftOn_mk
290
293
291
294
@[simp]
292
- theorem Quotient.lift_on ₂_mk {α : Sort _} {β : Sort _} [Setoid α] (f : α → α → β)
295
+ theorem Quotient.liftOn ₂_mk {α : Sort _} {β : Sort _} [Setoid α] (f : α → α → β)
293
296
(h : ∀ a₁ a₂ b₁ b₂ : α, a₁ ≈ b₁ → a₂ ≈ b₂ → f a₁ a₂ = f b₁ b₂) (x y : α) :
294
297
Quotient.liftOn₂ (Quotient.mk _ x) (Quotient.mk _ y) f h = f x y :=
295
298
rfl
299
+ #align Quotient.lift_on₂_mk Quotient.liftOn₂_mk
296
300
297
301
/-- `quot.mk r` is a surjective function. -/
298
302
theorem surjective_quot_mk (r : α → α → Prop ) : Function.Surjective (Quot.mk r) :=
@@ -617,10 +621,11 @@ protected def hrecOn' {φ : Quotient s₁ → Sort _} (qa : Quotient s₁) (f :
617
621
Quot.hrecOn qa f c
618
622
619
623
@[simp]
620
- theorem hrec_on '_mk'' {φ : Quotient s₁ → Sort _} (f : ∀ a, φ (Quotient.mk'' a))
624
+ theorem hrecOn '_mk'' {φ : Quotient s₁ → Sort _} (f : ∀ a, φ (Quotient.mk'' a))
621
625
(c : ∀ a₁ a₂, a₁ ≈ a₂ → HEq (f a₁) (f a₂))
622
626
(x : α) : (Quotient.mk'' x).hrecOn' f c = f x :=
623
627
rfl
628
+ #align quotient.hrec_on'_mk'' Quotient.hrecOn'_mk''
624
629
625
630
/-- Recursion on two `Quotient` arguments `a` and `b`, result type depends on `⟦a⟧` and `⟦b⟧`. -/
626
631
protected def hrecOn₂' {φ : Quotient s₁ → Quotient s₂ → Sort _} (qa : Quotient s₁)
@@ -630,11 +635,12 @@ protected def hrecOn₂' {φ : Quotient s₁ → Quotient s₂ → Sort _} (qa :
630
635
Quotient.hrecOn₂ qa qb f c
631
636
632
637
@[simp]
633
- theorem hrec_on ₂'_mk'' {φ : Quotient s₁ → Quotient s₂ → Sort _}
638
+ theorem hrecOn ₂'_mk'' {φ : Quotient s₁ → Quotient s₂ → Sort _}
634
639
(f : ∀ a b, φ (Quotient.mk'' a) (Quotient.mk'' b))
635
640
(c : ∀ a₁ b₁ a₂ b₂, a₁ ≈ a₂ → b₁ ≈ b₂ → HEq (f a₁ b₁) (f a₂ b₂)) (x : α) (qb : Quotient s₂) :
636
641
(Quotient.mk'' x).hrecOn₂' qb f c = qb.hrecOn' (f x) fun _ _ => c _ _ _ _ (Setoid.refl _) :=
637
642
rfl
643
+ #align quotient.hrec_on₂'_mk'' Quotient.hrecOn₂'_mk''
638
644
639
645
/-- Map a function `f : α → β` that sends equivalent elements to equivalent elements
640
646
to a function `quotient sa → quotient sb`. Useful to define unary operations on quotients. -/
@@ -688,13 +694,15 @@ protected theorem mk''_eq_mk (x : α) : Quotient.mk'' x = Quotient.mk s x :=
688
694
rfl
689
695
690
696
@[simp]
691
- protected theorem lift_on '_mk (x : α) (f : α → β) (h) : (Quotient.mk s x).liftOn' f h = f x :=
697
+ protected theorem liftOn '_mk (x : α) (f : α → β) (h) : (Quotient.mk s x).liftOn' f h = f x :=
692
698
rfl
699
+ #align quotient.lift_on'_mk Quotient.liftOn'_mk
693
700
694
701
@[simp]
695
- protected theorem lift_on ₂'_mk [t : Setoid β] (f : α → β → γ) (h) (a : α) (b : β) :
702
+ protected theorem liftOn ₂'_mk [t : Setoid β] (f : α → β → γ) (h) (a : α) (b : β) :
696
703
Quotient.liftOn₂' (Quotient.mk s a) (Quotient.mk t b) f h = f a b :=
697
704
Quotient.liftOn₂'_mk'' _ _ _ _
705
+ #align quotient.lift_on₂'_mk Quotient.liftOn₂'_mk
698
706
699
707
@[simp]
700
708
theorem map'_mk [t : Setoid β] (f : α → β) (h) (x : α) :
0 commit comments