@@ -124,7 +124,7 @@ protected theorem exact {p p' : α × α} (h : Sym2.mk p = Sym2.mk p') : Sym2.Re
124
124
protected theorem eq {p p' : α × α} : Sym2.mk p = Sym2.mk p' ↔ Sym2.Rel α p p' :=
125
125
Quotient.eq' (s₁ := Sym2.Rel.setoid α)
126
126
127
- @[elab_as_elim]
127
+ @[elab_as_elim, cases_eliminator, induction_eliminator ]
128
128
protected theorem ind {f : Sym2 α → Prop } (h : ∀ x y, f s(x, y)) : ∀ i, f i :=
129
129
Quot.ind <| Prod.rec <| h
130
130
#align sym2.ind Sym2.ind
@@ -273,7 +273,7 @@ theorem map_comp {g : β → γ} {f : α → β} : Sym2.map (g ∘ f) = Sym2.map
273
273
#align sym2.map_comp Sym2.map_comp
274
274
275
275
theorem map_map {g : β → γ} {f : α → β} (x : Sym2 α) : map g (map f x) = map (g ∘ f) x := by
276
- revert x; apply Sym2.ind ; aesop
276
+ induction x ; aesop
277
277
#align sym2.map_map Sym2.map_map
278
278
279
279
@[simp]
@@ -317,8 +317,8 @@ instance : SetLike (Sym2 α) α where
317
317
coe z := { x | z.Mem x }
318
318
coe_injective' z z' h := by
319
319
simp only [Set.ext_iff, Set.mem_setOf_eq] at h
320
- induction' z using Sym2.ind with x y
321
- induction' z' using Sym2.ind with x' y'
320
+ induction' z with x y
321
+ induction' z' with x' y'
322
322
have hx := h x; have hy := h y; have hx' := h x'; have hy' := h y'
323
323
simp only [mem_iff', eq_self_iff_true, or_true_iff, iff_true_iff,
324
324
true_or_iff, true_iff_iff] at hx hy hx' hy'
@@ -385,7 +385,7 @@ theorem other_mem {a : α} {z : Sym2 α} (h : a ∈ z) : Mem.other h ∈ z := by
385
385
386
386
theorem mem_and_mem_iff {x y : α} {z : Sym2 α} (hne : x ≠ y) : x ∈ z ∧ y ∈ z ↔ z = s(x, y) := by
387
387
constructor
388
- · induction' z using Sym2.ind with x' y'
388
+ · induction' z with x' y'
389
389
rw [mem_iff, mem_iff]
390
390
aesop
391
391
· rintro rfl
@@ -405,7 +405,7 @@ end Membership
405
405
406
406
@[simp]
407
407
theorem mem_map {f : α → β} {b : β} {z : Sym2 α} : b ∈ Sym2.map f z ↔ ∃ a, a ∈ z ∧ f a = b := by
408
- induction' z using Sym2.ind with x y
408
+ induction' z with x y
409
409
simp only [map_pair_eq, mem_iff, exists_eq_or_imp, exists_eq_left]
410
410
aesop
411
411
#align sym2.mem_map Sym2.mem_map
@@ -465,7 +465,7 @@ theorem diag_isDiag (a : α) : IsDiag (diag a) :=
465
465
#align sym2.diag_is_diag Sym2.diag_isDiag
466
466
467
467
theorem IsDiag.mem_range_diag {z : Sym2 α} : IsDiag z → z ∈ Set.range (@diag α) := by
468
- induction' z using Sym2.ind with x y
468
+ induction' z with x y
469
469
rintro (rfl : x = y)
470
470
exact ⟨_, rfl⟩
471
471
#align sym2.is_diag.mem_range_diag Sym2.IsDiag.mem_range_diag
@@ -692,7 +692,7 @@ def Mem.other' [DecidableEq α] {a : α} {z : Sym2 α} (h : a ∈ z) : α :=
692
692
693
693
@[simp]
694
694
theorem other_spec' [DecidableEq α] {a : α} {z : Sym2 α} (h : a ∈ z) : s(a, Mem.other' h) = z := by
695
- induction z using Sym2.ind
695
+ induction z
696
696
have h' := mem_iff.mp h
697
697
aesop (add norm unfold [Sym2.rec, Quot.rec]) (rule_sets := [Sym2])
698
698
#align sym2.other_spec' Sym2.other_spec'
@@ -709,7 +709,7 @@ theorem other_mem' [DecidableEq α] {a : α} {z : Sym2 α} (h : a ∈ z) : Mem.o
709
709
710
710
theorem other_invol' [DecidableEq α] {a : α} {z : Sym2 α} (ha : a ∈ z) (hb : Mem.other' ha ∈ z) :
711
711
Mem.other' hb = a := by
712
- induction z using Sym2.ind
712
+ induction z
713
713
aesop (rule_sets := [Sym2]) (add norm unfold [Sym2.rec, Quot.rec])
714
714
#align sym2.other_invol' Sym2.other_invol'
715
715
@@ -724,7 +724,7 @@ theorem other_invol {a : α} {z : Sym2 α} (ha : a ∈ z) (hb : Mem.other ha ∈
724
724
theorem filter_image_mk_isDiag [DecidableEq α] (s : Finset α) :
725
725
((s ×ˢ s).image Sym2.mk).filter IsDiag = s.diag.image Sym2.mk := by
726
726
ext z
727
- induction' z using Sym2.inductionOn
727
+ induction' z
728
728
simp only [mem_image, mem_diag, exists_prop, mem_filter, Prod.exists, mem_product]
729
729
constructor
730
730
· rintro ⟨⟨a, b, ⟨ha, hb⟩, h⟩, hab⟩
@@ -739,7 +739,7 @@ theorem filter_image_mk_not_isDiag [DecidableEq α] (s : Finset α) :
739
739
(((s ×ˢ s).image Sym2.mk).filter fun a : Sym2 α => ¬a.IsDiag) =
740
740
s.offDiag.image Sym2.mk := by
741
741
ext z
742
- induction z using Sym2.inductionOn
742
+ induction z
743
743
simp only [mem_image, mem_offDiag, mem_filter, Prod.exists, mem_product]
744
744
constructor
745
745
· rintro ⟨⟨a, b, ⟨ha, hb⟩, h⟩, hab⟩
0 commit comments