/-
Copyright 2026 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/
import FormalConjecturesUtilWritten on the Wall II - Conjecture 103
Reference: E. DeLaVina, Written on the Wall II, Conjectures of Graffiti.pc
namespace WrittenOnTheWallII.GraphConjecture103open SimpleGraphThe 11-vertex counterexample: a triangle with four leaves on each of two vertices.
abbrev wowii103Counterexample : SimpleGraph (Fin 11) :=
SimpleGraph.fromEdgeSet {
s(0, 1), s(0, 2), s(1, 2),
s(0, 3), s(0, 4), s(0, 5), s(0, 6),
s(1, 7), s(1, 8), s(1, 9), s(1, 10)
}The counterexample is connected.
@[category test, AMS 5]
theorem wowii103Counterexample_connected : wowii103Counterexample.Connected := ⊢ wowii103Counterexample.Connected
All goals completed! 🐙The counterexample has independence number nine.
⊢ wowii103Counterexample.computable_indep_num = 9
decide +native All goals completed! 🐙The largest induced bipartite subgraph of the counterexample has ten vertices.
@[category test, AMS 5]
theorem wowii103Counterexample_bipartiteSize :
wowii103Counterexample.largestInducedBipartiteSubgraphSize = 10 := by ⊢ wowii103Counterexample.largestInducedBipartiteSubgraphSize = 10
rw [largestInducedBipartiteSubgraphSize_eq_computable ⊢ wowii103Counterexample.computableLargestInducedBipartiteSubgraphSize = 10 ⊢ wowii103Counterexample.computableLargestInducedBipartiteSubgraphSize = 10] ⊢ wowii103Counterexample.computableLargestInducedBipartiteSubgraphSize = 10
decide +native All goals completed! 🐙The counterexample has average eccentricity $30/11$.
@[category test, AMS 5]
theorem wowii103Counterexample_averageEccentricity :
averageEccentricity wowii103Counterexample = 30 / 11 := by ⊢ wowii103Counterexample.averageEccentricity = 30 / 11
unfold averageEccentricity ⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11
have hsum : (∑ v : Fin 11, (wowii103Counterexample.eccent v).toNat) = 30 := by ⊢ wowii103Counterexample.averageEccentricity = 30 / 11 hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11
simp_rw [ ⊢ ∑ v, (wowii103Counterexample.eccent v).toNat = 30 hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11eccent_eq_computable wowii103Counterexample wowii103Counterexample_connected ⊢ ∑ x, (↑(wowii103Counterexample.computable_eccent x)).toNat = 30 hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11]
decide +native hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11 hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑(∑ v, (wowii103Counterexample.eccent v).toNat) / ↑(Fintype.card (Fin 11)) = 30 / 11
rw [hsum hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑30 / ↑(Fintype.card (Fin 11)) = 30 / 11 hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑30 / ↑(Fintype.card (Fin 11)) = 30 / 11] hsum:∑ v, (wowii103Counterexample.eccent v).toNat = 30⊢ ↑30 / ↑(Fintype.card (Fin 11)) = 30 / 11
norm_num All goals completed! 🐙The logarithm of the counterexample's average eccentricity lies strictly between one and two.
@[category test, AMS 5]
theorem one_lt_log_thirty_eleven_and_lt_two :
1 < Real.log (30 / 11 : ℝ) ∧ Real.log (30 / 11 : ℝ) < 2 := by ⊢ 1 < Real.log (30 / 11) ∧ Real.log (30 / 11) < 2
constructor left ⊢ 1 < Real.log (30 / 11)right ⊢ Real.log (30 / 11) < 2
· left ⊢ 1 < Real.log (30 / 11) rw [Real.lt_log_iff_exp_lt (by ⊢ 0 < 30 / 11 left ⊢ Real.exp 1 < 30 / 11 norm_num All goals completed! 🐙 left ⊢ Real.exp 1 < 30 / 11)]left ⊢ Real.exp 1 < 30 / 11
exact Real.exp_one_lt_d9.trans (by ⊢ 2.7182818286 < 30 / 11 norm_num All goals completed! 🐙)
· right ⊢ Real.log (30 / 11) < 2 exact (Real.log_lt_sub_one_of_pos (by ⊢ 0 < 30 / 11 norm_num All goals completed! 🐙) (by ⊢ 30 / 11 ≠ 1 norm_num All goals completed! 🐙)).trans (by ⊢ 30 / 11 - 1 < 2 norm_num All goals completed! 🐙)WOWII Conjecture 103
For a simple connected graph $G$,
$\alpha(G) \le \lfloor b(G) - \ln(\mathrm{ecc_avg}(G)) \rfloor$
where $\alpha(G) = G.\mathrm{indepNum}$ is the independence number,
$b(G)$ is the largest induced bipartite subgraph size, and
$\mathrm{ecc_avg}(G) = G.\mathrm{averageEccentricity}$ is the average
eccentricity of $G$. Uses Real.log (natural logarithm).
This conjecture is false. The graph wowii103Counterexample has independence number $9$,
largest induced bipartite subgraph size $10$, and average eccentricity $30/11$. Since
$1 < \ln(30/11) < 2$, the proposed upper bound is $8$.
@[category research solved, AMS 5]
theorem conjecture103 : answer(False) ↔
∀ (α : Type) [Fintype α] [DecidableEq α] [Nontrivial α]
(G : SimpleGraph α) (_h : G.Connected),
(G.indepNum : ℝ) ≤ ⌊b G - Real.log (averageEccentricity G)⌋ := by ⊢ False ↔
∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋
show False ↔ _ ⊢ False ↔
∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋
rw [false_iff ⊢ ¬∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋ ⊢ ¬∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋] ⊢ ¬∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋
intro h h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋⊢ False
have hbad := h (Fin 11) wowii103Counterexample wowii103Counterexample_connected h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑α(wowii103Counterexample) ≤ ↑⌊wowii103Counterexample.b - Real.log wowii103Counterexample.averageEccentricity⌋⊢ False
rw [wowii103Counterexample_indepNum, h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊wowii103Counterexample.b - Real.log wowii103Counterexample.averageEccentricity⌋⊢ False h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False b, h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤
↑⌊↑wowii103Counterexample.largestInducedBipartiteSubgraphSize - Real.log wowii103Counterexample.averageEccentricity⌋⊢ False h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False wowii103Counterexample_bipartiteSize, h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log wowii103Counterexample.averageEccentricity⌋⊢ False h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False
wowii103Counterexample_averageEccentricity h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False] at hbad h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ False
have hfloor : ⌊(10 : ℝ) - Real.log (30 / 11 : ℝ)⌋ = (8 : ℤ) := by ⊢ False ↔
∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋ h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False
rw [Int.floor_eq_iff h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ ↑8 ≤ 10 - Real.log (30 / 11) ∧ 10 - Real.log (30 / 11) < ↑8 + 1 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ ↑8 ≤ 10 - Real.log (30 / 11) ∧ 10 - Real.log (30 / 11) < ↑8 + 1 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False] h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ ↑8 ≤ 10 - Real.log (30 / 11) ∧ 10 - Real.log (30 / 11) < ↑8 + 1 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False
constructor left h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ ↑8 ≤ 10 - Real.log (30 / 11)right h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ 10 - Real.log (30 / 11) < ↑8 + 1 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False <;> left h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ ↑8 ≤ 10 - Real.log (30 / 11)right h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ 10 - Real.log (30 / 11) < ↑8 + 1 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False norm_num right h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ 10 - Real.log (30 / 11) < 9 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False <;> left h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ 8 ≤ 10 - Real.log (30 / 11)right h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋⊢ 10 - Real.log (30 / 11) < 9 h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False linarith [one_lt_log_thirty_eleven_and_lt_two.1,
one_lt_log_thirty_eleven_and_lt_two.2] h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False h:∀ (α : Type) [inst : Fintype α] [DecidableEq α] [Nontrivial α] (G : SimpleGraph α),
G.Connected → ↑α(G) ≤ ↑⌊G.b - Real.log G.averageEccentricity⌋hbad:↑9 ≤ ↑⌊↑10 - Real.log (30 / 11)⌋hfloor:⌊10 - Real.log (30 / 11)⌋ = 8⊢ False
norm_num [hfloor] at hbad All goals completed! 🐙end WrittenOnTheWallII.GraphConjecture103