Skip to content

Commit 9eb53bd

Browse files
committed
chore: remove uses of Subrelation (leanprover-community#41450)
Following up on the description of leanprover-community#40792, this removes additional uses of `Subrelation` now that leanprover-community#30526 has been merged.
1 parent 024a9ab commit 9eb53bd

2 files changed

Lines changed: 20 additions & 21 deletions

File tree

Mathlib/Logic/Relation.lean

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ open Function
5656

5757
variable {α β γ δ ε ζ : Type*}
5858

59-
theorem Subrelation.antisymm {r r' : α → α → Prop} (h1 : Subrelation r r') (h2 : Subrelation r' r) :
59+
theorem Subrelation.antisymm {r r' : α → α → Prop} (h1 : r ≤ r') (h2 : r' ≤ r) :
6060
r = r' :=
61-
funext₂ fun _ _ => propext ⟨h1, h2⟩
61+
funext₂ fun a b => propext ⟨h1 a b, h2 a b
6262

6363
section NeImp
6464

@@ -816,34 +816,33 @@ theorem mono {r p : α → α → Prop} (hrp : r ≤ p) : EqvGen r ≤ EqvGen p
816816
| symm a b _ ih => exact EqvGen.symm _ _ ih
817817
| trans a b c _ _ hab hbc => exact EqvGen.trans _ _ _ hab hbc
818818

819-
lemma eqvGen_le {r r' : α → α → Prop} [IsEquiv α r'] (h : Subrelation r r') :
820-
Subrelation (EqvGen r) r'
819+
lemma eqvGen_le {r r' : α → α → Prop} [IsEquiv α r'] (h : r ≤ r') : EqvGen r ≤ r'
821820
| _, _, .refl _ => _root_.refl _
822-
| _, _, .symm _ _ hxy => _root_.symm (eqvGen_le h hxy :)
823-
| _, _, .trans _ _ _ hxy hyz => _root_.trans (eqvGen_le h hxy :) (eqvGen_le h hyz :)
824-
| _, _, .rel _ _ hab => h hab
821+
| _, _, .symm _ _ hxy => _root_.symm (eqvGen_le h _ _ hxy)
822+
| _, _, .trans _ _ _ hxy hyz => _root_.trans (eqvGen_le h _ _ hxy) (eqvGen_le h _ _ hyz)
823+
| _, _, .rel _ _ hab => h _ _ hab
825824

826-
lemma eqvGen_mono {r r' : α → α → Prop} (h : Subrelation r r') : Subrelation (EqvGen r) (EqvGen r')
825+
lemma eqvGen_mono {r r' : α → α → Prop} (h : r ≤ r') : EqvGen rEqvGen r'
827826
| _, _, .refl _ => .refl _
828-
| _, _, .symm _ _ hxy => .symm _ _ (eqvGen_mono h hxy)
829-
| _, _, .trans _ _ _ hxy hyz => .trans _ _ _ (eqvGen_mono h hxy) (eqvGen_mono h hyz)
830-
| _, _, .rel _ _ hab => .rel _ _ (h hab)
827+
| _, _, .symm _ _ hxy => .symm _ _ (eqvGen_mono h _ _ hxy)
828+
| _, _, .trans _ _ _ hxy hyz => .trans _ _ _ (eqvGen_mono h _ _ hxy) (eqvGen_mono h _ _ hyz)
829+
| _, _, .rel _ _ hab => .rel _ _ (h _ _ hab)
831830

832-
lemma reflGen_le_eqvGen : Subrelation (ReflGen r) (EqvGen r)
831+
lemma reflGen_le_eqvGen : ReflGen rEqvGen r
833832
| _, _, .refl => .refl _
834833
| _, _, .single h => .rel _ _ h
835834

836-
lemma symmGen_le_eqvGen : Subrelation (SymmGen r) (EqvGen r)
835+
lemma symmGen_le_eqvGen : SymmGen rEqvGen r
837836
| _, _, .inl h => .rel _ _ h
838837
| _, _, .inr h => _root_.symm <| .rel _ _ h
839838

840-
lemma transGen_le_eqvGen : Subrelation (TransGen r) (EqvGen r) := by
839+
lemma transGen_le_eqvGen : TransGen rEqvGen r := by
841840
intro _ _ h
842841
induction h using TransGen.trans_induction_on with
843842
| trans _ _ h1 h2 => exact _root_.trans h1 h2
844843
| single h => exact .rel _ _ h
845844

846-
lemma reflTransGen_le_eqvGen : Subrelation (ReflTransGen r) (EqvGen r) := by
845+
lemma reflTransGen_le_eqvGen : ReflTransGen rEqvGen r := by
847846
intro _ _ h
848847
induction h using ReflTransGen.trans_induction_on with
849848
| refl => exact .refl _
@@ -853,27 +852,27 @@ lemma reflTransGen_le_eqvGen : Subrelation (ReflTransGen r) (EqvGen r) := by
853852
@[simp, grind =]
854853
lemma eqvGen_reflGen : EqvGen (ReflGen r) = EqvGen r :=
855854
Subrelation.antisymm
856-
(eqvGen_le (reflGen_le_eqvGen _)) (eqvGen_mono (.single))
855+
(eqvGen_le (reflGen_le_eqvGen _)) (eqvGen_mono fun _ _ => .single)
857856

858857
@[simp, grind =]
859858
lemma eqvGen_transGen : EqvGen (TransGen r) = EqvGen r :=
860859
Subrelation.antisymm
861-
(eqvGen_le (transGen_le_eqvGen _)) (eqvGen_mono .single)
860+
(eqvGen_le (transGen_le_eqvGen _)) (eqvGen_mono fun _ _ => .single)
862861

863862
@[simp, grind =]
864863
lemma eqvGen_symmGen : EqvGen (SymmGen r) = EqvGen r :=
865864
Subrelation.antisymm
866-
(eqvGen_le (symmGen_le_eqvGen _)) (eqvGen_mono .inl)
865+
(eqvGen_le (symmGen_le_eqvGen _)) (eqvGen_mono fun _ _ => .inl)
867866

868867
@[simp, grind =]
869868
lemma eqvGen_reflTransGen : EqvGen (ReflTransGen r) = EqvGen r :=
870869
Subrelation.antisymm
871-
(eqvGen_le (reflTransGen_le_eqvGen _)) (eqvGen_mono .single)
870+
(eqvGen_le (reflTransGen_le_eqvGen _)) (eqvGen_mono fun _ _ => .single)
872871

873872
@[grind =]
874873
lemma eqvGen_eq_reflTransGen [Std.Symm r] : EqvGen r = ReflTransGen r :=
875874
have : IsEquiv α (ReflTransGen r) := ⟨⟩
876-
Subrelation.antisymm (eqvGen_le .single) (reflTransGen_le_eqvGen _)
875+
Subrelation.antisymm (eqvGen_le fun _ _ => .single) (reflTransGen_le_eqvGen _)
877876

878877
lemma reflTransGen_symmGen : ReflTransGen (SymmGen r) = EqvGen r := by
879878
rw [← eqvGen_eq_reflTransGen, eqvGen_symmGen]

Mathlib/Order/JordanHolder.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ theorem Iso.rel
116116
(h_rel : ∀ {x y}, IsMaximal x (x ⊔ y) → e (x, x ⊔ y) (x ⊓ y, y))
117117
{x y : X × X} (h_iso : Iso x y) : e x y := by
118118
have : IsEquiv (X × X) e := { refl _ := h_refl, symm _ _ := h_symm, trans _ _ _ := h_trans }
119-
refine Relation.EqvGen.eqvGen_le ?_ h_iso
119+
refine Relation.EqvGen.eqvGen_le ?_ _ _ h_iso
120120
rintro ⟨a, b⟩ ⟨c, d⟩ ⟨h, rfl : b = a ⊔ d, rfl : c = a ⊓ d⟩
121121
exact h_rel h
122122

0 commit comments

Comments
 (0)