@@ -29,18 +29,13 @@ theorem not_isDiag_iff_exists {z : Sym2 α} : ¬ z.IsDiag ↔ ∃ x y, x ≠ y
2929 · intro h; simpa using h x y
3030 · aesop
3131
32- @[coe]
33- protected def toMultiset (z : Sym2 α) : Multiset α :=
34- Sym2.lift ⟨fun x y => {x, y}, Multiset.pair_comm⟩ z
3532
3633instance : Coe (Sym2 α) (Multiset α) := ⟨Sym2.toMultiset⟩
3734
3835@[simp] lemma toMultiset_mk {x y : α} : (s(x, y) : Multiset α) = {x, y} := rfl
3936
4037variable [DecidableEq α]
4138
42- @[coe]
43- protected def toFinset (z : Sym2 α) : Finset α := Multiset.toFinset z
4439
4540instance : Coe (Sym2 α) (Finset α) := ⟨Sym2.toFinset⟩
4641
@@ -49,27 +44,18 @@ instance : Coe (Sym2 α) (Finset α) := ⟨Sym2.toFinset⟩
4944
5045@[simp] lemma toFinset_toMultiset {s : Sym2 α} : (s : Multiset α).toFinset = (s : Finset α) := rfl
5146
52- @[simp] lemma mem_toFinset {z : Sym2 α} {x : α} : x ∈ (z : Finset α) ↔ x ∈ z := by
53- induction z; simp
54-
5547@[simp] lemma coe_toFinset {z : Sym2 α} : ((z : Finset α) : Set α) = z := by
5648 ext; simp
5749
5850lemma toFinset_eq [Fintype α] {e : Sym2 α} : (e : Finset α) = {v | v ∈ e}.toFinset := by
5951 ext; simp
6052
61- lemma card_toFinset_of_isDiag {z : Sym2 α} (h : z.IsDiag) : (z : Finset α).card = 1 := by
62- obtain ⟨x, rfl⟩ := isDiag_iff_exists.mp h
63- simp [Finset.card_eq_one]
6453
6554lemma card_toFinset_mk_of_ne {x y : α} (h : x ≠ y) : s(x, y).toFinset.card = 2 := by
6655 rw [Finset.card_eq_two]
6756 use x, y, h
6857 simp
6958
70- lemma card_toFinset_of_not_isDiag {z : Sym2 α} (h : ¬z.IsDiag) : z.toFinset.card = 2 := by
71- induction z with | _ x y => exact card_toFinset_mk_of_ne h
72-
7359lemma one_le_card_toFinset {z : Sym2 α} : 1 ≤ z.toFinset.card := by
7460 induction z; simp
7561
@@ -88,14 +74,18 @@ namespace SimpleGraph
8874
8975variable {α : Type *} {G : SimpleGraph α} [DecidableEq α]
9076
91- lemma card_toFinset_of_mem_edgeSet (e : Sym2 α) (he : e ∈ G.edgeSet) :
92- (e : Finset α).card = 2 :=
93- Sym2.card_toFinset_of_not_isDiag (not_isDiag_of_mem_edgeSet _ he)
77+ -- lemma card_toFinset_of_mem_edgeSet (e : Sym2 α) (he : e ∈ G.edgeSet) :
78+ -- (e : Finset α).card = 2 := by
79+ -- refine Sym2.card_toFinset_of_not_isDiag ?_
80+
81+ -- have := (not_isDiag_of_mem_edgeSet _ he)
82+
83+ -- sorry
9484
95- lemma card_filter_mem_of_mem_edgeSet [Fintype α] (e : Sym2 α) (he : e ∈ G.edgeSet) :
96- Finset.card {v | v ∈ e} = 2 := by
97- rw [← SimpleGraph.card_toFinset_of_mem_edgeSet _ he]
98- congr; ext; simp
85+ -- lemma card_filter_mem_of_mem_edgeSet [Fintype α] (e : Sym2 α) (he : e ∈ G.edgeSet) :
86+ -- Finset.card {v | v ∈ e} = 2 := by
87+ -- rw [← SimpleGraph.card_toFinset_of_mem_edgeSet _ he]
88+ -- congr; ext; simp
9989
10090end SimpleGraph
10191
@@ -109,14 +99,14 @@ namespace SimpleGraph
10999
110100variable {α : Type *} [Fintype α] {G : SimpleGraph α} [DecidableRel G.Adj] [DecidableEq α]
111101
112- lemma card_toFinset_of_mem_edgeFinset (e : Sym2 α) (he : e ∈ G.edgeFinset) :
113- (e : Finset α).card = 2 :=
114- Sym2.card_toFinset_of_not_isDiag (not_isDiag_of_mem_edgeSet _ (mem_edgeFinset.mp he))
102+ -- lemma card_toFinset_of_mem_edgeFinset (e : Sym2 α) (he : e ∈ G.edgeFinset) :
103+ -- (e : Finset α).card = 2 :=
104+ -- Sym2.card_toFinset_of_not_isDiag (not_isDiag_of_mem_edgeSet _ (mem_edgeFinset.mp he))
115105
116- lemma card_filter_mem_of_mem_edgeFinset (e : Sym2 α) (he : e ∈ G.edgeFinset) :
117- Finset.card {v | v ∈ e} = 2 := by
118- rw [← SimpleGraph.card_toFinset_of_mem_edgeFinset _ he]
119- congr; ext; simp
106+ -- lemma card_filter_mem_of_mem_edgeFinset (e : Sym2 α) (he : e ∈ G.edgeFinset) :
107+ -- Finset.card {v | v ∈ e} = 2 := by
108+ -- rw [← SimpleGraph.card_toFinset_of_mem_edgeFinset _ he]
109+ -- congr; ext; simp
120110
121111end SimpleGraph
122112
0 commit comments