FormalConjecturesForMathlib/Combinatorics/SimpleGraph/Ramsey.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

8 declarations, 0 contain sorry, 0 declared as axioms

Ramsey-type properties of graph pairs

The Erdős–Hajnal "exceptional pair" trio of predicates:

These were introduced for Erdős Problem 596 but are reusable for Problem 595 and other Ramsey-type questions; we factor them out per mo271's review.

It also defines the two-colour graph Ramsey number graphRamsey G H and the notion of a Ramsey size linear graph IsRamseySizeLinear G of Erdős, Faudree, Rousseau and Schelp.

References

Imports (6)
Imported by 1 file
  1. def SimpleGraph.HasFiniteRamseyProperty The finite Ramsey property for the pair line 55 source

    Source documentation

    The finite Ramsey property for the pair $(G_1, G_2)$: for every $n \geq 1$, there exists a $G_1$-free graph H on some vertex type in Type (universe 0) such that every n-edge-colouring of H contains a monochromatic copy of G_2.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: SimpleGraph

    Proof uses: Nat, LE.le, OfNat.ofNat, Exists, And, SimpleGraph.Free, Fin, SimpleGraph.IsEdgeColouring, SimpleGraph.IsContained

    2 instances, coercions and auxiliary constants left out.

    def HasFiniteRamseyProperty {U₁ U₂ : Type*}
        (G₁ : SimpleGraph U₁) (G₂ : SimpleGraph U₂) : Prop :=
    …
  2. def SimpleGraph.HasCountableRamseyEscape The countable Ramsey escape property for the pair line 66 source

    Source documentation

    The countable Ramsey escape property for the pair $(G_1, G_2)$: every $G_1$-free graph H on a Type-valued vertex type has a countable edge-colouring in which every colour class is $G_2$-free.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: SimpleGraph

    Proof uses: SimpleGraph.Free, Exists, Nat, And, SimpleGraph.IsEdgeColouring

    def HasCountableRamseyEscape {U₁ U₂ : Type*}
        (G₁ : SimpleGraph U₁) (G₂ : SimpleGraph U₂) : Prop :=
    …
  3. def SimpleGraph.IsErdosHajnalExceptional A pair $(G_1, G_2)$ is Erdős–Hajnal exceptional if it has both the finite Ramsey property and the countable Ramsey escape property line 75 source

    Source documentation

    A pair $(G_1, G_2)$ is Erdős–Hajnal exceptional if it has both the finite Ramsey property and the countable Ramsey escape property.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: SimpleGraph

    Proof uses: And, SimpleGraph.HasFiniteRamseyProperty, SimpleGraph.HasCountableRamseyEscape

    def IsErdosHajnalExceptional {U₁ U₂ : Type*}
        (G₁ : SimpleGraph U₁) (G₂ : SimpleGraph U₂) : Prop :=
    …
  4. def SimpleGraph.graphRamsey Documented declaration: graphRamsey line 87 source

    Source documentation

    The two-color Ramsey number graphRamsey G H is the minimum number of vertices n such that every 2-coloring of the edges of the complete graph on n vertices contains a copy of G in the first color or a copy of H in the second color.

    A 2-coloring of the complete graph on Fin n is represented by a graph C (the edges of the first color) and its complement Cᶜ (the edges of the second color).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fintype, SimpleGraph, Nat

    Proof uses: InfSet.sInf, Set.ofPred, Fin, Or, SimpleGraph.IsContained, Compl.compl

    2 instances, coercions and auxiliary constants left out.

    noncomputable def graphRamsey {α β : Type*} [Fintype α] [Fintype β]
        (G : SimpleGraph α) (H : SimpleGraph β) : ℕ :=
    …
  5. def SimpleGraph.diagonalGraphRamsey The diagonal graph Ramsey number R(G, G) line 92 source

    Source documentation

    The diagonal graph Ramsey number R(G, G).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fintype, SimpleGraph, Nat

    Proof uses: SimpleGraph.graphRamsey

    noncomputable def diagonalGraphRamsey {α : Type*} [Fintype α] (G : SimpleGraph α) : ℕ :=
    …
  6. def SimpleGraph.classicalRamsey The classical two-color Ramsey number R(k, l) = R(K_k, K_l) line 96 source

    Source documentation

    The classical two-color Ramsey number R(k, l) = R(K_k, K_l).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: SimpleGraph.graphRamsey, Fin, SimpleGraph.completeGraph

    1 instances, coercions and auxiliary constants left out.

    noncomputable def classicalRamsey (k l : ℕ) : ℕ :=
    …

    Mentions: SimpleGraph.l

  7. def SimpleGraph.diagonalRamsey The diagonal classical Ramsey number R(k) = R(K_k, K_k) line 100 source

    Source documentation

    The diagonal classical Ramsey number R(k) = R(K_k, K_k).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: SimpleGraph.classicalRamsey

    noncomputable def diagonalRamsey (k : ℕ) : ℕ :=
    …
  8. def SimpleGraph.IsRamseySizeLinear Documented declaration: IsRamseySizeLinear line 111 source

    Source documentation

    A graph G is Ramsey size linear if there exists a constant c > 0 such that for all graphs H with m edges and no isolated vertices, the Ramsey number satisfies R(G, H) ≤ c · m.

    Note that this is about the (vertex) Ramsey number graphRamsey G H, not the size Ramsey number sizeRamsey G H.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fintype, SimpleGraph

    Proof uses: Exists, Real, And, GT.gt, OfNat.ofNat, Nat, Fin, DecidableRel, SimpleGraph.Adj, LT.lt, SimpleGraph.degree, Membership.mem, Set, SimpleGraph.neighborSet, LE.le, SimpleGraph.graphRamsey, HMul.hMul, Set.ncard, Sym2, SimpleGraph.edgeSet

    14 instances, coercions and auxiliary constants left out.

    def IsRamseySizeLinear {α : Type*} [Fintype α] (G : SimpleGraph α) : Prop :=
    …