@@ -562,7 +562,7 @@ theorem surjective_Quotient_mk'' : Function.Surjective (Quotient.mk'' : α → Q
562
562
instance argument. -/
563
563
-- Porting note: removed `@[elab_as_elim]` because it gave "unexpected eliminator resulting type"
564
564
-- porting note (#11083): removed `@[reducible]` because it caused extremely slow `simp`
565
- protected def liftOn' (q : Quotient s₁) (f : α → φ) (h : ∀ a b, @Setoid.r α s₁ a b → f a = f b) :
565
+ protected def liftOn' (q : Quotient s₁) (f : α → φ) (h : ∀ a b, s₁ a b → f a = f b) :
566
566
φ :=
567
567
Quotient.liftOn q f h
568
568
@@ -580,7 +580,7 @@ instead of instance arguments. -/
580
580
-- Porting note: removed `@[elab_as_elim]` because it gave "unexpected eliminator resulting type"
581
581
-- porting note (#11083): removed `@[reducible]` because it caused extremely slow `simp`
582
582
protected def liftOn₂' (q₁ : Quotient s₁) (q₂ : Quotient s₂) (f : α → β → γ)
583
- (h : ∀ a₁ a₂ b₁ b₂, @Setoid.r α s₁ a₁ b₁ → @Setoid.r β s₂ a₂ b₂ → f a₁ a₂ = f b₁ b₂) : γ :=
583
+ (h : ∀ a₁ a₂ b₁ b₂, s₁ a₁ b₁ → s₂ a₂ b₂ → f a₁ a₂ = f b₁ b₂) : γ :=
584
584
Quotient.liftOn₂ q₁ q₂ f h
585
585
586
586
@[simp]
@@ -692,19 +692,19 @@ theorem map₂'_mk'' (f : α → β → γ) (h) (x : α) :
692
692
rfl
693
693
694
694
theorem exact' {a b : α} :
695
- (Quotient.mk'' a : Quotient s₁) = Quotient.mk'' b → @Setoid.r _ s₁ a b :=
695
+ (Quotient.mk'' a : Quotient s₁) = Quotient.mk'' b → s₁ a b :=
696
696
Quotient.exact
697
697
698
- theorem sound' {a b : α} : @Setoid.r _ s₁ a b → @Quotient.mk'' α s₁ a = Quotient.mk'' b :=
698
+ theorem sound' {a b : α} : s₁ a b → @Quotient.mk'' α s₁ a = Quotient.mk'' b :=
699
699
Quotient.sound
700
700
701
701
@[simp]
702
702
protected theorem eq' {s₁ : Setoid α} {a b : α} :
703
- @Quotient.mk' α s₁ a = @Quotient.mk' α s₁ b ↔ @Setoid.r _ s₁ a b :=
703
+ @Quotient.mk' α s₁ a = @Quotient.mk' α s₁ b ↔ s₁ a b :=
704
704
Quotient.eq
705
705
706
706
@[simp]
707
- protected theorem eq'' {a b : α} : @Quotient.mk'' α s₁ a = Quotient.mk'' b ↔ @Setoid.r _ s₁ a b :=
707
+ protected theorem eq'' {a b : α} : @Quotient.mk'' α s₁ a = Quotient.mk'' b ↔ s₁ a b :=
708
708
Quotient.eq
709
709
710
710
/-- A version of `Quotient.out` taking `{s₁ : Setoid α}` as an implicit argument instead of an
@@ -716,7 +716,7 @@ noncomputable def out' (a : Quotient s₁) : α :=
716
716
theorem out_eq' (q : Quotient s₁) : Quotient.mk'' q.out' = q :=
717
717
q.out_eq
718
718
719
- theorem mk_out' (a : α) : @Setoid.r α s₁ (Quotient.mk'' a : Quotient s₁).out' a :=
719
+ theorem mk_out' (a : α) : s₁ (Quotient.mk'' a : Quotient s₁).out' a :=
720
720
Quotient.exact (Quotient.out_eq _)
721
721
722
722
section
@@ -742,13 +742,13 @@ theorem map'_mk {t : Setoid β} (f : α → β) (h) (x : α) :
742
742
743
743
end
744
744
745
- instance (q : Quotient s₁) (f : α → Prop ) (h : ∀ a b, @Setoid.r α s₁ a b → f a = f b)
745
+ instance (q : Quotient s₁) (f : α → Prop ) (h : ∀ a b, s₁ a b → f a = f b)
746
746
[DecidablePred f] :
747
747
Decidable (Quotient.liftOn' q f h) :=
748
748
Quotient.lift.decidablePred _ _ q
749
749
750
750
instance (q₁ : Quotient s₁) (q₂ : Quotient s₂) (f : α → β → Prop )
751
- (h : ∀ a₁ b₁ a₂ b₂, @Setoid.r α s₁ a₁ a₂ → @Setoid.r β s₂ b₁ b₂ → f a₁ b₁ = f a₂ b₂)
751
+ (h : ∀ a₁ b₁ a₂ b₂, s₁ a₁ a₂ → s₂ b₁ b₂ → f a₁ b₁ = f a₂ b₂)
752
752
[∀ a, DecidablePred (f a)] :
753
753
Decidable (Quotient.liftOn₂' q₁ q₂ f h) :=
754
754
Quotient.lift₂.decidablePred _ h _ _
0 commit comments