Skip to content

Commit b02af05

Browse files
committed
feat(SimpleGraph): characterise when the edge set is a given set (#31391)
This will used for rewriting in #31364.
1 parent 4055dfe commit b02af05

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Mathlib/Combinatorics/SimpleGraph/Basic.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,11 @@ theorem mem_edgeSet : s(v, w) ∈ G.edgeSet ↔ G.Adj v w :=
436436
theorem not_isDiag_of_mem_edgeSet : e ∈ edgeSet G → ¬e.IsDiag :=
437437
Sym2.ind (fun _ _ => Adj.ne) e
438438

439+
@[simp] lemma not_mem_edgeSet_of_isDiag : e.IsDiag → e ∉ edgeSet G :=
440+
imp_not_comm.1 G.not_isDiag_of_mem_edgeSet
441+
442+
alias _root_.Sym2.IsDiag.not_mem_edgeSet := not_mem_edgeSet_of_isDiag
443+
439444
theorem edgeSet_inj : G₁.edgeSet = G₂.edgeSet ↔ G₁ = G₂ := (edgeSetEmbedding V).eq_iff_eq
440445

441446
@[simp]
@@ -588,6 +593,10 @@ theorem fromEdgeSet_edgeSet : fromEdgeSet G.edgeSet = G := by
588593
ext v w
589594
exact ⟨fun h => h.1, fun h => ⟨h, G.ne_of_adj h⟩⟩
590595

596+
lemma edgeSet_eq_iff : G.edgeSet = s ↔ G = fromEdgeSet s ∧ Disjoint s {e | e.IsDiag} where
597+
mp := by rintro rfl; simp +contextual [Set.disjoint_right]
598+
mpr := by rintro ⟨rfl, hs⟩; simp [hs]
599+
591600
@[simp]
592601
theorem fromEdgeSet_empty : fromEdgeSet (∅ : Set (Sym2 V)) = ⊥ := by
593602
ext v w

0 commit comments

Comments
 (0)