FormalConjectures/ErdosProblems/595.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, 2 contain sorry, 0 declared as axioms

Erdős Problem 595

References:

Imports (1)
  1. def Erdos595.IsCountableUnionOfTriangleFree line 40 source

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

    Statement uses: SimpleGraph

    Proof uses: Exists, Nat, And, SimpleGraph.CliqueFree, OfNat.ofNat, Eq, iSup

    2 instances, coercions and auxiliary constants left out.

  2. theorem Erdos595.erdos_595 Erdős Problem 595 ($250): Is there an infinite graph $G$ which contains no $K_4$ and is not the union of countably many triangle-free graphs? sorry line 54 source

    Source documentation

    Erdős Problem 595 ($250): Is there an infinite graph $G$ which contains no $K_4$ and is not the union of countably many triangle-free graphs?

    A problem of Erdős and Hajnal [Er87].

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Infinite, SimpleGraph, And, SimpleGraph.CliqueFree, OfNat.ofNat, Nat, Not, Erdos595.IsCountableUnionOfTriangleFree

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    2 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595 : answer(sorry) ↔
        ∃ (V : Type*) (_ : Infinite V) (G : SimpleGraph V),
          G.CliqueFree 4 ∧ ¬IsCountableUnionOfTriangleFree G := by
    …

    Mentions: Erdos595.IsCountableUnionOfTriangleFree

  3. theorem Erdos595.erdos_595.variants.folkman_finite Folkman–Nešetřil–Rödl (finite version) [Fo70, NeRo75]: For every n ≥ 1, there exists a graph G (on a finite vertex set) that contains no sorry line 77 source

    Source documentation

    Folkman–Nešetřil–Rödl (finite version) [Fo70, NeRo75]: For every n ≥ 1, there exists a graph G (on a finite vertex set) that contains no $K_4$ and whose edges cannot be covered by n triangle-free graphs.

    More precisely: for every n : ℕ with 1 ≤ n, there exist a finite type V and a graph G : SimpleGraph V with:

    1. G.CliqueFree 4 (no $K_4$), and
    2. For every family H : Fin n → SimpleGraph V of triangle-free graphs, G ≠ ⨆ i, H i.

    This is the finite analogue of Problem 595. The proofs of Folkman [Fo70] and Nešetřil–Rödl [NeRo75] give different explicit constructions.

    depends on sorry what this means

    Statement uses: Iff, True, Nat, LE.le, OfNat.ofNat, Exists, Fintype, SimpleGraph, And, SimpleGraph.CliqueFree, Fin, Ne, iSup

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.folkman_finite : answer(True) ↔
        ∀ n : ℕ, 1 ≤ n →
        ∃ (V : Type*) (_ : Fintype V) (G : SimpleGraph V),
          G.CliqueFree 4 ∧
          ∀ (H : Fin n → SimpleGraph V), (∀ i, (H i).CliqueFree 3) → G ≠ ⨆ i, H i := by
    …
  4. theorem Erdos595.erdos_595.variants.subgraph_of_countable_union Monotonicity: If G is a countable union of triangle-free graphs and H ≤ G (i.e., H is a subgraph of G), then H is also a countable union of triangle-free graphs line 93 source

    Source documentation

    Monotonicity: If G is a countable union of triangle-free graphs and H ≤ G (i.e., H is a subgraph of G), then H is also a countable union of triangle-free graphs.

    Proof: If G = ⨆ i, G_i with each G_i triangle-free, then H = ⨆ i, H ⊓ G_i. Each H ⊓ G_i is triangle-free because it is a subgraph of G_i.

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

    Statement uses: SimpleGraph, LE.le, Erdos595.IsCountableUnionOfTriangleFree

    Proof uses: Nat, And, SimpleGraph.CliqueFree, OfNat.ofNat, Eq, iSup, Exists.intro, Min.min, And.intro, SimpleGraph.CliqueFree.anti, inf_le_right, SimpleGraph.ext, funext, SimpleGraph.Adj, propext, Eq.mpr, Iff, Exists, id, congrArg and 4 more

    15 instances, coercions and auxiliary constants left out.

    Tactic trace: 14 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.subgraph_of_countable_union
        {V : Type*} {G H : SimpleGraph V}
        (hH : H ≤ G) (hG : IsCountableUnionOfTriangleFree G) :
        IsCountableUnionOfTriangleFree H := by
    …

    Mentions: Erdos595.IsCountableUnionOfTriangleFree

  5. theorem Erdos595.erdos_595.variants.triangle_free_is_union Triangle-free graphs are trivially countable unions of triangle-free graphs: if G is already triangle-free, then G = ⨆ i : ℕ, G_i where G_0 = G and G_i = ⊥ for i ≥ 1 line 115 source

    Source documentation

    Triangle-free graphs are trivially countable unions of triangle-free graphs: if G is already triangle-free, then G = ⨆ i : ℕ, G_i where G_0 = G and G_i = ⊥ for i ≥ 1.

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

    Statement uses: SimpleGraph, SimpleGraph.CliqueFree, OfNat.ofNat, Nat, Erdos595.IsCountableUnionOfTriangleFree

    Proof uses: Exists.intro, And, Eq, iSup, ite, Bot.bot, And.intro, dite, of_eq_true, Eq.trans, True, congrFun', congrArg, ite_cond_eq_true, eq_self, eq_true, Not, ite_cond_eq_false, eq_false, SimpleGraph.cliqueFree_bot and 17 more

    18 instances, coercions and auxiliary constants left out.

    Tactic trace: 24 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.triangle_free_is_union
        {V : Type*} (G : SimpleGraph V) (hG : G.CliqueFree 3) :
        IsCountableUnionOfTriangleFree G := by
    …

    Mentions: Erdos595.IsCountableUnionOfTriangleFree

  6. theorem Erdos595.erdos_595.variants.complete_nat_is_union Documented declaration: complete_nat_is_union line 144 source

    Source documentation

    The complete graph ⊤ on ℕ is a countable union of triangle-free graphs: we decompose it into the family of star graphs {H_m}_{m : ℕ}, where H_m is the graph with edges {m, n} for all n ≠ m. Each star is triangle-free (any two non-center vertices share no edge within the star), and their union covers all edges of ⊤.

    Proof sketch (star triangle-free): If {a, b, c} were a triangle in H_m, then each of the three edges {a, b}, {a, c}, {b, c} would pass through m. In particular, from {a, b} we get a = m or b = m; from {b, c} we get b = m or c = m. Case analysis shows that two vertices must equal m, contradicting the triangle having three distinct vertices.

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

    Statement uses: Erdos595.IsCountableUnionOfTriangleFree, Nat, Top.top, SimpleGraph

    Proof uses: Exists.intro, And, SimpleGraph.CliqueFree, OfNat.ofNat, Eq, iSup, SimpleGraph.fromRel, Or, And.intro, Eq.mpr, Finset, Not, SimpleGraph.IsNClique, id, congrArg, SimpleGraph.CliqueFree.eq_1, SimpleGraph.IsClique, Finset.card, False, Eq.mp and 31 more

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 35 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.complete_nat_is_union :
        IsCountableUnionOfTriangleFree (⊤ : SimpleGraph ℕ) := by
    …

    Mentions: Erdos595.IsCountableUnionOfTriangleFree

  7. theorem Erdos595.erdos_595.variants.K4_not_cliqueFree The complete graph ⊤ on Fin 4 is not $K_4$-free: ⊤ on Fin 4 equals the complete graph $K_4$, so it contains $K_4$ as a subgraph and is not $K_4$-free line 198 source

    Source documentation

    The complete graph ⊤ on Fin 4 is not $K_4$-free: ⊤ on Fin 4 equals the complete graph $K_4$, so it contains $K_4$ as a subgraph and is not $K_4$-free.

    This sanity check confirms the $K_4$-free hypothesis of Problem 595 is non-trivial.

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

    Statement uses: Not, SimpleGraph.CliqueFree, Fin, OfNat.ofNat, Nat, Top.top, SimpleGraph

    Proof uses: Eq.mpr, SimpleGraph.IsContained, SimpleGraph.completeGraph, id, Eq, congrArg, propext, SimpleGraph.not_cliqueFree_iff_top_isContained, SimpleGraph.IsContained.of_le, SimpleGraph.Adj

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.K4_not_cliqueFree :
        ¬ (⊤ : SimpleGraph (Fin 4)).CliqueFree 4 := by
    …
  8. theorem Erdos595.erdos_595.variants.reformulation_edge_colouring Documented declaration: reformulation_edge_colouring line 212 source

    Source documentation

    Reformulation via edge colourings: A graph G is a countable union of triangle-free graphs if and only if there is a colouring of the edges of G by ℕ such that no monochromatic triangle exists.

    More precisely: IsCountableUnionOfTriangleFree G is equivalent to the existence of a map c : G.edgeSet → ℕ such that for each n : ℕ, the subgraph of edges coloured n is triangle-free.

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

    Statement uses: SimpleGraph, Iff, Erdos595.IsCountableUnionOfTriangleFree, Exists, Sym2, SimpleGraph.edgeSet, Nat, SimpleGraph.CliqueFree, SimpleGraph.fromEdgeSet, Set.ofPred, Membership.mem, Set, Eq, Subtype.mk, OfNat.ofNat

    Proof uses: Iff.intro, And, iSup, Sym2.ind, Sym2.mk, Exists.imp, Eq.mp, SimpleGraph.Adj, congrArg, propext, SimpleGraph.iSup_adj, SimpleGraph.mem_edgeSet, Exists.intro, Exists.choose, LE.le, SimpleGraph.CliqueFree.anti, Ne, SimpleGraph.fromEdgeSet_adj, Exists.choose_spec, congrFun' and 4 more

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

    Open to load the checked before-and-after goal states.

    theorem erdos_595.variants.reformulation_edge_colouring {V : Type*} (G : SimpleGraph V) :
        IsCountableUnionOfTriangleFree G ↔
        ∃ c : G.edgeSet → ℕ,
          ∀ n : ℕ,
            (SimpleGraph.fromEdgeSet {e | ∃ h : e ∈ G.edgeSet, c ⟨e, h⟩ = n}).CliqueFree 3 := by
    …

    Mentions: Erdos595.IsCountableUnionOfTriangleFree, c