FormalConjectures/ErdosProblems/184.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

7 declarations, 6 contain sorry, 0 declared as axioms

Erdős Problem 184

References:

Imports (1)
  1. def Erdos184.IsCycleOrEdge A graph $H$ is a cycle or an edge if it is connected and 2-regular, or if it has exactly one edge line 45 source

    Source documentation

    A graph $H$ is a cycle or an edge if it is connected and 2-regular, or if it has exactly one edge.

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

    Statement uses: Fintype, SimpleGraph

    Proof uses: Or, And, SimpleGraph.Connected, SimpleGraph.IsRegularOfDegree, Membership.mem, Set, SimpleGraph.neighborSet, Classical.propDecidable, SimpleGraph.Adj, OfNat.ofNat, Nat, Eq, Finset.card, Sym2, SimpleGraph.edgeFinset

    6 instances, coercions and auxiliary constants left out.

    def IsCycleOrEdge {U : Type*} [Fintype U] (H : SimpleGraph U) : Prop :=
    …
  2. theorem Erdos184.erdos_184 Any graph on $n$ vertices can be decomposed into $O(n)$ many edge-disjoint cycles and edges sorry line 54 source

    Source documentation

    Any graph on $n$ vertices can be decomposed into $O(n)$ many edge-disjoint cycles and edges.

    depends on sorry what this means

    Statement uses: Exists, Nat, Real, And, Asymptotics.IsBigO, Filter.atTop, Fintype, DecidableEq, SimpleGraph, Finset, SimpleGraph.Subgraph, Membership.mem, Erdos184.IsCycleOrEdge, SimpleGraph.Subgraph.verts, Set, Classical.propDecidable, SimpleGraph.Subgraph.coe, SimpleGraph.IsDecomposition, LE.le, Finset.card and 1 more

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

    21 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184 :
        ∃ f : ℕ → ℝ,
          (f =O[atTop] fun n : ℕ ↦ (n : ℝ)) ∧
          ∀ {V : Type*} [Fintype V] [DecidableEq V] (G : SimpleGraph V),
          ∃ (D : Finset G.Subgraph),
            (∀ H ∈ D, IsCycleOrEdge H.coe) ∧
            IsDecomposition G D ∧
            (D.card : ℝ) ≤ f (Fintype.card V) := by
    …

    Mentions: Erdos184.IsCycleOrEdge

  3. theorem Erdos184.erdos_184.variants.n_log_n Erdős and Gallai [EGP66] proved that $O(n \log n)$ many cycles and edges suffices sorry line 69 source

    Source documentation

    Erdős and Gallai [EGP66] proved that $O(n \log n)$ many cycles and edges suffices.

    depends on sorry what this means

    Statement uses: Exists, Nat, Real, And, Asymptotics.IsBigO, Filter.atTop, HMul.hMul, Real.log, Fintype, DecidableEq, SimpleGraph, Finset, SimpleGraph.Subgraph, Membership.mem, Erdos184.IsCycleOrEdge, SimpleGraph.Subgraph.verts, Set, Classical.propDecidable, SimpleGraph.Subgraph.coe, SimpleGraph.IsDecomposition and 3 more

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

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184.variants.n_log_n :
        ∃ f : ℕ → ℝ,
          (f =O[atTop] fun n : ℕ ↦ (n : ℝ) * Real.log (n : ℝ)) ∧
          ∀ {V : Type*} [Fintype V] [DecidableEq V] (G : SimpleGraph V),
          ∃ (D : Finset G.Subgraph),
            (∀ H ∈ D, IsCycleOrEdge H.coe) ∧
            IsDecomposition G D ∧
            (D.card : ℝ) ≤ f (Fintype.card V) := by
    …

    Mentions: Erdos184.IsCycleOrEdge

  4. theorem Erdos184.erdos_184.variants.lower_bound The graph $K_{3,n-3}$ shows that at least $(1+c)n$ many cycles and edges are required, for some constant $c>0$ sorry line 85 source

    Source documentation

    The graph $K_{3,n-3}$ shows that at least $(1+c)n$ many cycles and edges are required, for some constant $c>0$.

    depends on sorry what this means

    Statement uses: Exists, Real, And, GT.gt, OfNat.ofNat, Filter.Eventually, Nat, SimpleGraph, Fin, SimpleGraph.fromRel, LT.lt, LE.le, Finset, SimpleGraph.Subgraph, Membership.mem, Erdos184.IsCycleOrEdge, SimpleGraph.Subgraph.verts, Set, Classical.propDecidable, SimpleGraph.Subgraph.coe and 5 more

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

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184.variants.lower_bound :
        ∃ c > 0, ∀ᶠ n in atTop,
          let G : SimpleGraph (Fin n) := fromRel (fun (i j : Fin n) => (i : ℕ) < 3 ∧ 3 ≤ (j : ℕ));
    …

    Mentions: c

  5. theorem Erdos184.erdos_184.variants.covering In [Er71] Erdős suggests that only $n-1$ many cycles and edges are required if we do not require them to be edge-disjoint sorry line 100 source

    Source documentation

    In [Er71] Erdős suggests that only $n-1$ many cycles and edges are required if we do not require them to be edge-disjoint. Pyber [Py85] proved this.

    depends on sorry what this means

    Statement uses: Iff, True, Fintype, DecidableEq, Nonempty, SimpleGraph, Exists, Finset, SimpleGraph.Subgraph, And, Membership.mem, Erdos184.IsCycleOrEdge, SimpleGraph.Subgraph.verts, Set, Classical.propDecidable, SimpleGraph.Subgraph.coe, Eq, Sym2, Set.iUnion, SimpleGraph.Subgraph.edgeSet and 7 more

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

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184.variants.covering :
        answer(True) ↔
          ∀ {V : Type} [Fintype V] [DecidableEq V] [Nonempty V] (G : SimpleGraph V),
          ∃ (D : Finset G.Subgraph),
            (∀ H ∈ D, IsCycleOrEdge H.coe) ∧
            (⋃ H ∈ D, H.edgeSet) = G.edgeSet ∧
            (D.card : ℝ) ≤ (Fintype.card V : ℝ) - 1 := by
    …

    Mentions: Erdos184.IsCycleOrEdge

  6. theorem Erdos184.erdos_184.variants.bucic_montgomery The best bound available is due to Bucić and Montgomery [BM22], who prove that $O(n\log^* n)$ many cycles and edges suffice, where $\log^*$ is the iterated logarithm function sorry line 115 source

    Source documentation

    The best bound available is due to Bucić and Montgomery [BM22], who prove that $O(n\log^* n)$ many cycles and edges suffice, where $\log^*$ is the iterated logarithm function.

    depends on sorry what this means

    Statement uses: Exists, Nat, Real, And, Asymptotics.IsBigO, Filter.atTop, HMul.hMul, Real.iteratedLog, Fintype, DecidableEq, SimpleGraph, Finset, SimpleGraph.Subgraph, Membership.mem, Erdos184.IsCycleOrEdge, SimpleGraph.Subgraph.verts, Set, Classical.propDecidable, SimpleGraph.Subgraph.coe, SimpleGraph.IsDecomposition and 3 more

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

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184.variants.bucic_montgomery :
        ∃ f : ℕ → ℝ,
          (f =O[atTop] fun n : ℕ ↦ (n : ℝ) * (Real.iteratedLog (n : ℝ) : ℝ)) ∧
          ∀ {V : Type*} [Fintype V] [DecidableEq V] (G : SimpleGraph V),
          ∃ (D : Finset G.Subgraph),
            (∀ H ∈ D, IsCycleOrEdge H.coe) ∧
            IsDecomposition G D ∧
            (D.card : ℝ) ≤ f (Fintype.card V) := by
    …

    Mentions: Real.iteratedLog, Erdos184.IsCycleOrEdge

  7. theorem Erdos184.erdos_184.variants.conlon_fox_sudakov Conlon, Fox, and Sudakov [CFS14] proved that $O_\epsilon(n)$ cycles and edges suffice if $G$ has minimum degree at least $\epsilon n$, for any $\epsilon>0$ sorry line 131 source

    Source documentation

    Conlon, Fox, and Sudakov [CFS14] proved that $O_\epsilon(n)$ cycles and edges suffice if $G$ has minimum degree at least $\epsilon n$, for any $\epsilon>0$.

    depends on sorry what this means

    Statement uses: Real, GT.gt, OfNat.ofNat, Exists, Nat, And, Asymptotics.IsBigO, Filter.atTop, Fintype, DecidableEq, SimpleGraph, GE.ge, SimpleGraph.minDegree, Classical.propDecidable, SimpleGraph.Adj, HMul.hMul, Fintype.card, Finset, SimpleGraph.Subgraph, Membership.mem and 7 more

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

    31 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_184.variants.conlon_fox_sudakov :
        ∀ ε > 0, ∃ f : ℕ → ℝ,
          (f =O[atTop] fun n : ℕ ↦ (n : ℝ)) ∧
          ∀ {V : Type*} [Fintype V] [DecidableEq V] (G : SimpleGraph V),
          (G.minDegree : ℝ) ≥ ε * (Fintype.card V : ℝ) →
          ∃ (D : Finset G.Subgraph),
            (∀ H ∈ D, IsCycleOrEdge H.coe) ∧
            IsDecomposition G D ∧
            (D.card : ℝ) ≤ f (Fintype.card V) := by
    …

    Mentions: Erdos184.IsCycleOrEdge