Documentation

Mathlib.Combinatorics.SimpleGraph.Triangle.Basic

Triangles in graphs #

A triangle in a simple graph is a 3-clique, namely a set of three vertices that are pairwise adjacent.

This module defines and proves properties about triangles in simple graphs.

Main declarations #

TODO #

A graph has edge-disjoint triangles if each edge belongs to at most one triangle.

Equations
Instances For

    A graph is locally linear if each edge belongs to exactly one triangle.

    Equations
    Instances For
      theorem SimpleGraph.LocallyLinear.map {α : Type u_1} {β : Type u_2} {G : SimpleGraph α} (f : α β) (hG : G.LocallyLinear) :
      @[simp]
      theorem SimpleGraph.locallyLinear_comap {α : Type u_1} {β : Type u_2} {G : SimpleGraph β} {e : α β} :
      def SimpleGraph.FarFromTriangleFree {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] (G : SimpleGraph α) (ε : 𝕜) [Fintype α] [DecidableRel G.Adj] :

      A simple graph is ε-far from triangle-free if one must remove at least ε * (card α) ^ 2 edges to make it triangle-free.

      Equations
      Instances For
        theorem SimpleGraph.farFromTriangleFree_iff {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] :
        G.FarFromTriangleFree ε ∀ ⦃H : SimpleGraph α⦄ [inst : DecidableRel H.Adj], H GH.CliqueFree 3ε * ↑(Fintype.card α ^ 2) G.edgeFinset.card - H.edgeFinset.card
        theorem SimpleGraph.farFromTriangleFree.le_card_sub_card {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] :
        G.FarFromTriangleFree ε∀ ⦃H : SimpleGraph α⦄ [inst : DecidableRel H.Adj], H GH.CliqueFree 3ε * ↑(Fintype.card α ^ 2) G.edgeFinset.card - H.edgeFinset.card

        Alias of the forward direction of SimpleGraph.farFromTriangleFree_iff.

        theorem SimpleGraph.FarFromTriangleFree.mono {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε δ : 𝕜} [Fintype α] [DecidableRel G.Adj] (hε : G.FarFromTriangleFree ε) (h : δ ε) :
        theorem SimpleGraph.FarFromTriangleFree.cliqueFinset_nonempty' {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G H : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [DecidableRel H.Adj] [DecidableEq α] (hH : H G) (hG : G.FarFromTriangleFree ε) (hcard : G.edgeFinset.card - H.edgeFinset.card < ε * ↑(Fintype.card α ^ 2)) :
        theorem SimpleGraph.farFromTriangleFree_of_disjoint_triangles {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [DecidableEq α] (tris : Finset (Finset α)) (htris : tris G.cliqueFinset 3) (pd : (↑tris).Pairwise fun (x y : Finset α) => (x y).Subsingleton) (tris_big : ε * ↑(Fintype.card α ^ 2) tris.card) :

        If there are ε * (card α)^2 disjoint triangles, then the graph is ε-far from being triangle-free.

        theorem SimpleGraph.EdgeDisjointTriangles.farFromTriangleFree {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [DecidableEq α] (hG : G.EdgeDisjointTriangles) (tris_big : ε * ↑(Fintype.card α ^ 2) (G.cliqueFinset 3).card) :
        theorem SimpleGraph.FarFromTriangleFree.lt_half {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] (hG : G.FarFromTriangleFree ε) :
        ε < 2⁻¹
        theorem SimpleGraph.FarFromTriangleFree.lt_one {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] (hG : G.FarFromTriangleFree ε) :
        ε < 1
        theorem SimpleGraph.FarFromTriangleFree.nonpos {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] (h₀ : G.FarFromTriangleFree ε) (h₁ : G.CliqueFree 3) :
        ε 0
        theorem SimpleGraph.CliqueFree.not_farFromTriangleFree {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] (hG : G.CliqueFree 3) (hε : 0 < ε) :
        theorem SimpleGraph.FarFromTriangleFree.not_cliqueFree {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] (hG : G.FarFromTriangleFree ε) (hε : 0 < ε) :
        theorem SimpleGraph.FarFromTriangleFree.cliqueFinset_nonempty {α : Type u_1} {𝕜 : Type u_3} [LinearOrderedField 𝕜] {G : SimpleGraph α} {ε : 𝕜} [Fintype α] [DecidableRel G.Adj] [Nonempty α] [DecidableEq α] (hG : G.FarFromTriangleFree ε) (hε : 0 < ε) :