<<

The Conjecture

Adrian Rauchhaus

21. Juni 2018 The Theorem There is no packing of equally sized in the Euclidean three-space with a higher average density than that of√ the cubic close packing and the hexagonal close packing (of π/ 18). The Theorem There is no packing of equally sized spheres in the Euclidean three-space with a higher average density than that of√ the cubic close packing and the hexagonal close packing (of π/ 18). I Formulated by ca. 1600

I Part of Hilberts 18th problem

I Fejes Tóth suggests the use of computers for solving ca. 1950

I Proven by Thomas Hales and Samuel Ferguson in 1998

I Formalization of the proof in the FlysPecK project from 2003 to 2014

History of the problem I Part of Hilberts 18th problem

I Fejes Tóth suggests the use of computers for solving ca. 1950

I Proven by Thomas Hales and Samuel Ferguson in 1998

I Formalization of the proof in the FlysPecK project from 2003 to 2014

History of the problem

I Formulated by Johannes Kepler ca. 1600 I Fejes Tóth suggests the use of computers for solving ca. 1950

I Proven by Thomas Hales and Samuel Ferguson in 1998

I Formalization of the proof in the FlysPecK project from 2003 to 2014

History of the problem

I Formulated by Johannes Kepler ca. 1600

I Part of Hilberts 18th problem I Proven by Thomas Hales and Samuel Ferguson in 1998

I Formalization of the proof in the FlysPecK project from 2003 to 2014

History of the problem

I Formulated by Johannes Kepler ca. 1600

I Part of Hilberts 18th problem

I Fejes Tóth suggests the use of computers for solving ca. 1950 I Formalization of the proof in the FlysPecK project from 2003 to 2014

History of the problem

I Formulated by Johannes Kepler ca. 1600

I Part of Hilberts 18th problem

I Fejes Tóth suggests the use of computers for solving ca. 1950

I Proven by Thomas Hales and Samuel Ferguson in 1998 History of the problem

I Formulated by Johannes Kepler ca. 1600

I Part of Hilberts 18th problem

I Fejes Tóth suggests the use of computers for solving ca. 1950

I Proven by Thomas Hales and Samuel Ferguson in 1998

I Formalization of the proof in the FlysPecK project from 2003 to 2014 I HOL Light

I Isabelle HOL

I HOL Zero

The proof assistants

For the formal proof of the Kepler Conjecture three proof assistants were used: I Isabelle HOL

I HOL Zero

The proof assistants

For the formal proof of the Kepler Conjecture three proof assistants were used:

I HOL Light I HOL Zero

The proof assistants

For the formal proof of the Kepler Conjecture three proof assistants were used:

I HOL Light

I Isabelle HOL The proof assistants

For the formal proof of the Kepler Conjecture three proof assistants were used:

I HOL Light

I Isabelle HOL

I HOL Zero I Density is scale invariant → Sufficient to consider unit balls

I Packing can be identified with the centers of the spheres

I Definition of a packing in HOL Light:

|− packing V <=> (!u v. u IN V /\ v IN V /\ dist(u,v) <&2==> u = v )

Formalization

I The density of an infinite packing V is the limit of the density in finite spherical containers as the radius of the containers grows to infinity. I Packing can be identified with the centers of the spheres

I Definition of a packing in HOL Light:

|− packing V <=> (!u v. u IN V /\ v IN V /\ dist(u,v) <&2==> u = v )

Formalization

I The density of an infinite packing V is the limit of the density in finite spherical containers as the radius of the containers grows to infinity.

I Density is scale invariant → Sufficient to consider unit balls I Definition of a packing in HOL Light:

|− packing V <=> (!u v. u IN V /\ v IN V /\ dist(u,v) <&2==> u = v )

Formalization

I The density of an infinite packing V is the limit of the density in finite spherical containers as the radius of the containers grows to infinity.

I Density is scale invariant → Sufficient to consider unit balls

I Packing can be identified with the centers of the spheres Formalization

I The density of an infinite packing V is the limit of the density in finite spherical containers as the radius of the containers grows to infinity.

I Density is scale invariant → Sufficient to consider unit balls

I Packing can be identified with the centers of the spheres

I Definition of a packing in HOL Light:

|− packing V <=> (!u v. u IN V /\ v IN V /\ dist(u,v) <&2==> u = v ) ∀ packings V ∃ c ∈ R : ∀r ≥ 1 : √ 3 2 |V ∩ Br (0)| ≤ π ∗ r / 18 + c ∗ r

Formalization in HOL Light:

|− the_kepler_conjecture <=> (!V. packing V ==> (?c. !r. &1 <= r ==> &(CARD(V INTER b a l l ( vec 0 , r ) ) ) <= p i ∗ r pow 3 / sqrt(&18) + c ∗ r pow 2) )

Formalization

Mathematical formalization of the Kepler Conjecture: Formalization in HOL Light:

|− the_kepler_conjecture <=> (!V. packing V ==> (?c. !r. &1 <= r ==> &(CARD(V INTER b a l l ( vec 0 , r ) ) ) <= p i ∗ r pow 3 / sqrt(&18) + c ∗ r pow 2) )

Formalization

Mathematical formalization of the Kepler Conjecture:

∀ packings V ∃ c ∈ R : ∀r ≥ 1 : √ 3 2 |V ∩ Br (0)| ≤ π ∗ r / 18 + c ∗ r |− the_kepler_conjecture <=> (!V. packing V ==> (?c. !r. &1 <= r ==> &(CARD(V INTER b a l l ( vec 0 , r ) ) ) <= p i ∗ r pow 3 / sqrt(&18) + c ∗ r pow 2) )

Formalization

Mathematical formalization of the Kepler Conjecture:

∀ packings V ∃ c ∈ R : ∀r ≥ 1 : √ 3 2 |V ∩ Br (0)| ≤ π ∗ r / 18 + c ∗ r

Formalization in HOL Light: Formalization

Mathematical formalization of the Kepler Conjecture:

∀ packings V ∃ c ∈ R : ∀r ≥ 1 : √ 3 2 |V ∩ Br (0)| ≤ π ∗ r / 18 + c ∗ r

Formalization in HOL Light:

|− the_kepler_conjecture <=> (!V. packing V ==> (?c. !r. &1 <= r ==> &(CARD(V INTER b a l l ( vec 0 , r ) ) ) <= p i ∗ r pow 3 / sqrt(&18) + c ∗ r pow 2) ) I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations: : A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities : Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs. : A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture

Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: Main parts of the proof

The proof consists mainly of three parts of calculations:

I the_nonlinear_inequalities: A list of nearly a thousand nonlinear inequalities

I import_tame_classification: Possible counterexamples can be identified as tame (plane) graphs. Every tame graph is isomorphic to an element of a finite list of plane graphs.

I linear_programming_results: A large collection of linear programs that are infeasible for the possible counterexamples. Since the proof was not obtained in a single session the following theorem was formalized: |- the_nonlinear_inequalities /\ import_tame_classification ==> the_kepler_conjecture I Assume an arbitrary packing V

I Divide the into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres: I Divide the Euclidean space into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V : Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V

I Divide the Euclidean space into Marchal cells I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V

I Divide the Euclidean space into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V

I Divide the Euclidean space into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges

Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V

I Divide the Euclidean space into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster Idea of the proof

Transform the problem into a problem of distances between spheres:

I Assume an arbitrary packing V

I Divide the Euclidean space into Marchal cells: Vertices of the cells are spheres on the boundary, edges are line segments between vertices along the boundary of the cell

I Define some edges as critcal if they satisfy a specific length condition

I Cells that share critical edges form a cell cluster

I Assign a real number Γ(, X) to the critical cells, depending on volume, angles between edges and lengths of edges 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster 2. Local annulus inequality: Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} 2.52−t f (t) := 2.52−2 X ∀V ⊂ A : f (kvk) ≤ 12 v∈V

Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 2. Local annulus inequality: Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} 2.52−t f (t) := 2.52−2 X ∀V ⊂ A : f (kvk) ≤ 12 v∈V

Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} 2.52−t f (t) := 2.52−2 X ∀V ⊂ A : f (kvk) ≤ 12 v∈V

Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster 2. Local annulus inequality: 2.52−t f (t) := 2.52−2 X ∀V ⊂ A : f (kvk) ≤ 12 v∈V

Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster 2. Local annulus inequality: Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} X ∀V ⊂ A : f (kvk) ≤ 12 v∈V

Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster 2. Local annulus inequality: Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} 2.52−t f (t) := 2.52−2 Idea of the proof

The Kepler conjecture can be represented as a local optimization problem by using two inequalities: 1. Cell-cluster inequality: X ∀ critical edges  : Γ(, X) ≥ 0 X∈C

X a cell, C the cell cluster 2. Local annulus inequality: Constant ball annulus A = {x ∈ R3 : 2 ≤ kxk ≤ 2.52} 2.52−t f (t) := 2.52−2 X ∀V ⊂ A : f (kvk) ≤ 12 v∈V Figure: Constant ball annulus Figure: Constant ball annulus I Proving the local annulus inequality refutes all possible counterexamples This leads to the following intermediate result: |− the_nonlinear_inequalities /\ (!V. cell_cluster_inequality V) /\ (!V. packing V /\ V SUBSET ball_annulus ==> local_annulus_inequality V) ==> the_kepler_conjecture

Intermediate result

I Cell-cluster inequality is proven by solving a few hundred nonlinear inequalities This leads to the following intermediate result: |− the_nonlinear_inequalities /\ (!V. cell_cluster_inequality V) /\ (!V. packing V /\ V SUBSET ball_annulus ==> local_annulus_inequality V) ==> the_kepler_conjecture

Intermediate result

I Cell-cluster inequality is proven by solving a few hundred nonlinear inequalities

I Proving the local annulus inequality refutes all possible counterexamples Intermediate result

I Cell-cluster inequality is proven by solving a few hundred nonlinear inequalities

I Proving the local annulus inequality refutes all possible counterexamples This leads to the following intermediate result: |− the_nonlinear_inequalities /\ (!V. cell_cluster_inequality V) /\ (!V. packing V /\ V SUBSET ball_annulus ==> local_annulus_inequality V) ==> the_kepler_conjecture I Basic arithmetic operations, square roots, trigonometric√ √ functions and the analytic continuation of arctan( x)/ x to the region x > −1

Nonlinear inequalities

I Most of the inequalities have the form:

∀x, x ∈ D ⇒ f1(x) < 0 ∧ · · · ∧ fk (x) < 0

with n ∈ N, n ≤ 6, D = [a1, b1] × · · · × [an, bn] and x = (x1,..., xn) Nonlinear inequalities

I Most of the inequalities have the form:

∀x, x ∈ D ⇒ f1(x) < 0 ∧ · · · ∧ fk (x) < 0

with n ∈ N, n ≤ 6, D = [a1, b1] × · · · × [an, bn] and x = (x1,..., xn) I Basic arithmetic operations, square roots, trigonometric√ √ functions and the analytic continuation of arctan( x)/ x to the region x > −1 I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] I Let f : R → R Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I)

I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 I Other arithmetic operations defined analogously

Nonlinear inequalities

The inequalities are solved by using interval arithmetics: I Let f : R → R Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I)

I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 I Other arithmetic operations defined analogously

Nonlinear inequalities

The inequalities are solved by using interval arithmetics:

I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I)

I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 I Other arithmetic operations defined analogously

Nonlinear inequalities

The inequalities are solved by using interval arithmetics:

I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] I Let f : R → R I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 I Other arithmetic operations defined analogously

Nonlinear inequalities

The inequalities are solved by using interval arithmetics:

I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] I Let f : R → R Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I) I Other arithmetic operations defined analogously

Nonlinear inequalities

The inequalities are solved by using interval arithmetics:

I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] I Let f : R → R Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I)

I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 Nonlinear inequalities

The inequalities are solved by using interval arithmetics:

I Numbers are approximated by intervalls, e.g. π is represented by [3.14, 3.15] I Let f : R → R Then the interval extension F : IR → IR satisfies

∀I ∈ IR, {f (x): x ∈ I} ⊂ F(I)

I Sum of intervals:

[a1, b1] ⊕ [a2, b2] = [a, b]

for some a ≤ a1 + a2 and b ≥ b1 + b2 I Other arithmetic operations defined analogously Solution:

I Divide intervals into subintervals

I Use interval extensions based on Taylor approximations

Through partitioning of domains one obtains more than 23000 nonlinear inequalities. These can be verified in about 5000 hours in HOL Light.

Nonlinear inequalities

Problem:

I Natural interval extensions often imprecise I Use interval extensions based on Taylor approximations

Through partitioning of domains one obtains more than 23000 nonlinear inequalities. These can be verified in about 5000 hours in HOL Light.

Nonlinear inequalities

Problem:

I Natural interval extensions often imprecise

Solution:

I Divide intervals into subintervals Through partitioning of domains one obtains more than 23000 nonlinear inequalities. These can be verified in about 5000 hours in HOL Light.

Nonlinear inequalities

Problem:

I Natural interval extensions often imprecise

Solution:

I Divide intervals into subintervals

I Use interval extensions based on Taylor approximations These can be verified in about 5000 hours in HOL Light.

Nonlinear inequalities

Problem:

I Natural interval extensions often imprecise

Solution:

I Divide intervals into subintervals

I Use interval extensions based on Taylor approximations

Through partitioning of domains one obtains more than 23000 nonlinear inequalities. Nonlinear inequalities

Problem:

I Natural interval extensions often imprecise

Solution:

I Divide intervals into subintervals

I Use interval extensions based on Taylor approximations

Through partitioning of domains one obtains more than 23000 nonlinear inequalities. These can be verified in about 5000 hours in HOL Light. I n-tuples of data including a list of faces

I tame, if faces are triangles or hexagonal and the admissible weight is bounded

I Tame graphs collected in a text file called archive

I Possible counterexamples encoded as tame graphs

Tame classification

Plane graphs: I tame, if faces are triangles or hexagonal and the admissible weight is bounded

I Tame graphs collected in a text file called archive

I Possible counterexamples encoded as tame graphs

Tame classification

Plane graphs:

I n-tuples of data including a list of faces I Tame graphs collected in a text file called archive

I Possible counterexamples encoded as tame graphs

Tame classification

Plane graphs:

I n-tuples of data including a list of faces

I tame, if faces are triangles or hexagonal and the admissible weight is bounded I Possible counterexamples encoded as tame graphs

Tame classification

Plane graphs:

I n-tuples of data including a list of faces

I tame, if faces are triangles or hexagonal and the admissible weight is bounded

I Tame graphs collected in a text file called archive Tame classification

Plane graphs:

I n-tuples of data including a list of faces

I tame, if faces are triangles or hexagonal and the admissible weight is bounded

I Tame graphs collected in a text file called archive

I Possible counterexamples encoded as tame graphs In HOL Light: |− import_tame_classifiation <==> (!g. g IN PlaneGraphs /\ tame g ==> fgraph g IN_simeq archive)

Tame classification

Goal:

`”g ∈ PlaneGraphs” and ”tame g”

implies ”fgraph g ∈' Archive”

fgraph maps graph to the list of faces Tame classification

Goal:

`”g ∈ PlaneGraphs” and ”tame g”

implies ”fgraph g ∈' Archive”

fgraph maps graph to the list of faces

In HOL Light: |− import_tame_classifiation <==> (!g. g IN PlaneGraphs /\ tame g ==> fgraph g IN_simeq archive) I Start with a polygon as a seed graph

I Obtain new graphs by dividing the faces of the graph

I The function next_tame maps graph to obtainable tame graphs

I next_tame produces the set TameEnum

Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive

Tame classification

Enumeration of the tame graphs: I Obtain new graphs by dividing the faces of the graph

I The function next_tame maps graph to obtainable tame graphs

I next_tame produces the set TameEnum

Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive

Tame classification

Enumeration of the tame graphs:

I Start with a polygon as a seed graph I The function next_tame maps graph to obtainable tame graphs

I next_tame produces the set TameEnum

Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive

Tame classification

Enumeration of the tame graphs:

I Start with a polygon as a seed graph

I Obtain new graphs by dividing the faces of the graph I next_tame produces the set TameEnum

Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive

Tame classification

Enumeration of the tame graphs:

I Start with a polygon as a seed graph

I Obtain new graphs by dividing the faces of the graph

I The function next_tame maps graph to obtainable tame graphs Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive

Tame classification

Enumeration of the tame graphs:

I Start with a polygon as a seed graph

I Obtain new graphs by dividing the faces of the graph

I The function next_tame maps graph to obtainable tame graphs

I next_tame produces the set TameEnum Tame classification

Enumeration of the tame graphs:

I Start with a polygon as a seed graph

I Obtain new graphs by dividing the faces of the graph

I The function next_tame maps graph to obtainable tame graphs

I next_tame produces the set TameEnum

Isabelle can automatically compute:

` fgraph ’ TameEnum ⊆' Archive Tame enumeration

At this point we know:

I An infinite possible counterexample can be reduced to a finite packing

I Finite packings can be encoded as plane graphs

I Only finitely many tame plane graphs exist I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314 I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions I Solvable in about 15 hours

I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs I This concludes the proof

Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours Linear programs

I Counterexamples have to fulfill a list of inequalities

I Substitution leads to linear relaxations Example: x + x2 ≤ 3 and x ≥ 2 Substitute y := x2 This implies x + y ≤ 3 and y ≥ 4 Adding x ≥ 2 and y ≥ 4 leads to x + y ≥ 6, a contradiction

I HOL Light solves equations over rational inequalities, modifies them to integer inequalities Example: x ≥ π ⇒ x ≥ 3, 14 ⇔ 100x ≥ 314

I Inaccurate approximations lead to case distinctions

I In total 43078 linear programs

I Solvable in about 15 hours

I This concludes the proof References

I Hales, T., Adams, M., Bauer, G., Dang, T., Harrison, J., Hoang, L., . . . Zumkeller, R. (2017). A formal proof of the Kepler Conjecture. Forum of , Pi, 5, E2. doi:10.1017/fmp.2017.1

I Hales, T. C., Dense Packings: a Blueprint for Formal Proofs, London Mathematical Society Lecture Note Series, 400 (Cambridge University Press, 2012)

I George G. Szpiro. Die Keplersche Vermutung. Springer-Verlag, 2011

Pictures:

I https://hexnet.org/content/close-packing-spheres

I https://upload.wikimedia.org/wikipedia/commons/2/2e/ Closepacking.svg