75
Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University CombinaTexas Texas A&M University 8 May 2016

Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Automated Conjecturing for Proof Discovery

Craig Larson(joint work with Nico Van Cleemput)

Virginia Commonwealth UniversityGhent University

CombinaTexasTexas A&M University

8 May 2016

Page 2: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Kiran Chilakamarri—On Conjectures

Page 3: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Goal

To tell you about a new idea for using our conjecture-generatingprogram:

generating sketches of proofs (or proof ideas);

and a new proof of the Friendship Theorem.

Page 4: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Goal

To tell you about a new idea for using our conjecture-generatingprogram:

generating sketches of proofs (or proof ideas);

and a new proof of the Friendship Theorem.

Page 5: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Goal

To tell you about a new idea for using our conjecture-generatingprogram:

generating sketches of proofs (or proof ideas);

and a new proof of the Friendship Theorem.

Page 6: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Our Program

Black box.

Main heuristic idea from Fajtlowicz’s Graffiti.

Ingredients: Objects, Invariants, Properties, Choice of Invariant orproperty of interest, choice of upper or lower bounds.

Page 7: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Our Program

Black box.

Main heuristic idea from Fajtlowicz’s Graffiti.

Ingredients: Objects, Invariants, Properties, Choice of Invariant orproperty of interest, choice of upper or lower bounds.

Page 8: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Our Program

Black box.

Main heuristic idea from Fajtlowicz’s Graffiti.

Ingredients: Objects, Invariants, Properties, Choice of Invariant orproperty of interest, choice of upper or lower bounds.

Page 9: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 10: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 11: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 12: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 13: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 14: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

I Open-source

I Written for Sage

I Python

I Lots of standard mathematical packages: GAP, R, GLPK,CVXOPT, NumPy, SciPy, LATEX, matlabplot

I Lots of Graph Theory: graphs, invariants, properties,constructors,. . .

I Growing

Page 15: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Program

Page 16: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Properties

Example: pairs have unique common neighbor:

Every pair of vertices has exactly one common neighbor.

Figure: A flower F4 with four petals.

Page 17: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Properties

Example: pairs have unique common neighbor:

Every pair of vertices has exactly one common neighbor.

Figure: A flower F4 with four petals.

Page 18: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Sufficient Condition Conjectures

164 graphs in the main database87 properties5 propositional operators: and, or, implies, not, xor

Page 19: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Sufficient Condition Conjectures

164 graphs in the main database87 properties5 propositional operators: and, or, implies, not, xor

Page 20: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

What you get

Conjectures that are true for all input objects.

Conjectures that say something not implied by any previouslyoutput conjecture.

Page 21: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

What you get

Conjectures that are true for all input objects.

Conjectures that say something not implied by any previouslyoutput conjecture.

Page 22: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

What you get

Conjectures that are true for all input objects.

Conjectures that say something not implied by any previouslyoutput conjecture.

Page 23: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Theory

Idea: You want conjectures that are an improvement on existingtheory.

property = pairs_have_unique_common_neighbor

theory = [is_k3]

propertyBasedConjecture(graph_objects, properties,

property, theory = theory, sufficient = True,

precomputed = precomputed)

Conjecture:

(((is_eulerian)&(is_planar))&(is_gallai_tree))->

(pairs_have_unique_common_neighbor)

Page 24: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Theory

Idea: You want conjectures that are an improvement on existingtheory.

property = pairs_have_unique_common_neighbor

theory = [is_k3]

propertyBasedConjecture(graph_objects, properties,

property, theory = theory, sufficient = True,

precomputed = precomputed)

Conjecture:

(((is_eulerian)&(is_planar))&(is_gallai_tree))->

(pairs_have_unique_common_neighbor)

Page 25: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Theory

Idea: You want conjectures that are an improvement on existingtheory.

property = pairs_have_unique_common_neighbor

theory = [is_k3]

propertyBasedConjecture(graph_objects, properties,

property, theory = theory, sufficient = True,

precomputed = precomputed)

Conjecture:

(((is_eulerian)&(is_planar))&(is_gallai_tree))->

(pairs_have_unique_common_neighbor)

Page 26: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Proof Sketch Generating Idea

I Prove: P =⇒ Q.

I Run necessary condition conjectures for P, using Q as the“theory”.

I The generated conjectures must be “better” than Q for atleast one graph conjectures.

I Get:P =⇒ C1

P =⇒ C2

I By the truth test, each object x that has property P hasproperties C1 and C2.

I Thus x is in the intersection of the set of graphs havingproperties C1 and C2.

I If there is x in the graph database with x in C1 ∩ C2 butx 6∈ Q then program wouldn’t stop—as conjectures could beimproved.

Page 27: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Proof Sketch Generating Idea

I Prove: P =⇒ Q.

I Run necessary condition conjectures for P, using Q as the“theory”.

I Lemma 1:P =⇒ C1

I Lemma 2:P =⇒ C2

I Lemma 3:C1 ∩ C2 ⊆ Q

I Then lemmas imply Theorem:

P =⇒ Q

I (semantic proof)

Page 28: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship Theorem

If every pair of people in a group have exactly one friend incommon, then there is a person in the group that is friends with allof them.

If every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices (Erdos, Renyi, Sos, 1966).

Page 29: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship Theorem

If every pair of people in a group have exactly one friend incommon, then there is a person in the group that is friends with allof them.

If every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices (Erdos, Renyi, Sos, 1966).

Page 30: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship Theorem

If every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.

Page 31: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship Theorem

If every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.

Useful Observation: Can’t have any four-cycles.

Page 32: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemmas

Investigate:

(pairs_have_unique_common_neighbor)->(has_star_center)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [has_star_center]

Conjectures:

(pairs_have_unique_common_neighbor)->(is_eulerian)

(pairs_have_unique_common_neighbor)->(is_circular_planar)

(pairs_have_unique_common_neighbor)->(is_gallai_tree)

Page 33: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemmas

Investigate:

(pairs_have_unique_common_neighbor)->(has_star_center)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [has_star_center]

Conjectures:

(pairs_have_unique_common_neighbor)->(is_eulerian)

(pairs_have_unique_common_neighbor)->(is_circular_planar)

(pairs_have_unique_common_neighbor)->(is_gallai_tree)

Page 34: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemmas

Investigate:

(pairs_have_unique_common_neighbor)->(has_star_center)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [has_star_center]

Conjectures:

(pairs_have_unique_common_neighbor)->(is_eulerian)

(pairs_have_unique_common_neighbor)->(is_circular_planar)

(pairs_have_unique_common_neighbor)->(is_gallai_tree)

Page 35: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 1

(pairs_have_unique_common_neighbor)->(is_eulerian)

Euler’s criterion: A connected graph is eulerian if and only if everydegree is even.

Page 36: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 1

(pairs_have_unique_common_neighbor)->(is_eulerian)

Page 37: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 1

(pairs_have_unique_common_neighbor)->(is_eulerian)

Page 38: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 1

(pairs_have_unique_common_neighbor)->(is_eulerian)

Page 39: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 2

(pairs_have_unique_common_neighbor)->(is_circular_planar)

Theorem (Chartrand & Harary, 1967) A graph is outerplanar if andonly if it does not contain a subdivision of K4 or K3,3.

Page 40: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 2

(pairs_have_unique_common_neighbor)->(is_circular_planar)

Page 41: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

(pairs_have_unique_common_neighbor)->(is_gallai_tree)

Page 42: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Two-connected Gallai-trees are complete graphs or odd cycles.

I Outerplanar and Gallai-tree means the blocks are odd cycles.

I If cycle has degree two vertices then the neighbors of thesevertices must be adjacent.

01

2

3

4 5

6

7

8

Page 43: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Two-connected Gallai-trees are complete graphs or odd cycles.

I Outerplanar and Gallai-tree means the blocks are odd cycles.

I If cycle has degree two vertices then the neighbors of thesevertices must be adjacent.

01

2

3

4 5

6

7

8

Page 44: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Two-connected Gallai-trees are complete graphs or odd cycles.

I Outerplanar and Gallai-tree means the blocks are odd cycles.

I If cycle has degree two vertices then the neighbors of thesevertices must be adjacent.

01

2

3

4 5

6

7

8

Page 45: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Two-connected Gallai-trees are complete graphs or odd cycles.

I Outerplanar and Gallai-tree means the blocks are odd cycles.

I If cycle has degree two vertices then the neighbors of thesevertices must be adjacent.

01

2

3

4 5

6

7

8

Page 46: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 47: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 48: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 49: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 50: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 51: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 52: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 53: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 54: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Conjectured Lemma 3

Proof Main Ideas:

I Assume the graph is two-connected. It is outerplanar andeulerian.

I If the graph is not a cycle, there is a vertex of degree at least4.

I Then the unique neighbor condition yields a contradiction.

I So the graph is a triangle.

I Apply induction.

I Assume the graph has a cut vertex v .

I Each block is two-connected and must have the property thatevery pair of vertices has a unique common neighbor.

I So each block is a triangle.

I All components of G − v are Gallai trees.

Page 55: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship TheoremIf every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.Proof Ideas:

I Assume all pairs have a unique common neighbor.

I Then the graph is eulerian, outerplanar, and a Gallai-tree.I If its two-connected, its a triangle.I If it has two or more cut-vertices, diameter is at least 3,

violating the common neighbor condition.I So it has at most one cut vertex, and all blocks are triangles.

Page 56: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship TheoremIf every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.Proof Ideas:

I Assume all pairs have a unique common neighbor.I Then the graph is eulerian, outerplanar, and a Gallai-tree.

I If its two-connected, its a triangle.I If it has two or more cut-vertices, diameter is at least 3,

violating the common neighbor condition.I So it has at most one cut vertex, and all blocks are triangles.

Page 57: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship TheoremIf every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.Proof Ideas:

I Assume all pairs have a unique common neighbor.I Then the graph is eulerian, outerplanar, and a Gallai-tree.I If its two-connected, its a triangle.

I If it has two or more cut-vertices, diameter is at least 3,violating the common neighbor condition.

I So it has at most one cut vertex, and all blocks are triangles.

Page 58: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship TheoremIf every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.Proof Ideas:

I Assume all pairs have a unique common neighbor.I Then the graph is eulerian, outerplanar, and a Gallai-tree.I If its two-connected, its a triangle.I If it has two or more cut-vertices, diameter is at least 3,

violating the common neighbor condition.

I So it has at most one cut vertex, and all blocks are triangles.

Page 59: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Friendship TheoremIf every pair of vertices in a graph have a unique commonneighbor, then there is a vertex in the graph that is adjacent to allthe other vertices.Proof Ideas:

I Assume all pairs have a unique common neighbor.I Then the graph is eulerian, outerplanar, and a Gallai-tree.I If its two-connected, its a triangle.I If it has two or more cut-vertices, diameter is at least 3,

violating the common neighbor condition.I So it has at most one cut vertex, and all blocks are triangles.

Page 60: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Using Conjectures to Investigate Lemma 2

Investigate:

(pairs_have_unique_common_neighbor)->(is_circular_planar)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [is_circular_planar]

Conjectures:

(pairs_have_unique_common_neighbor)->

((is_regular)->(is_planar_transitive))

(pairs_have_unique_common_neighbor)->(is_interval)

(pairs_have_unique_common_neighbor)->(is_factor_critical)

(pairs_have_unique_common_neighbor)->(is_kite_free)

Page 61: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Using Conjectures to Investigate Lemma 2

Investigate:

(pairs_have_unique_common_neighbor)->(is_circular_planar)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [is_circular_planar]

Conjectures:

(pairs_have_unique_common_neighbor)->

((is_regular)->(is_planar_transitive))

(pairs_have_unique_common_neighbor)->(is_interval)

(pairs_have_unique_common_neighbor)->(is_factor_critical)

(pairs_have_unique_common_neighbor)->(is_kite_free)

Page 62: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Using Conjectures to Investigate Lemma 2

Investigate:

(pairs_have_unique_common_neighbor)->(is_circular_planar)

Investigation:

property = pairs_have_unique_common_neighbor

theory = [is_circular_planar]

Conjectures:

(pairs_have_unique_common_neighbor)->

((is_regular)->(is_planar_transitive))

(pairs_have_unique_common_neighbor)->(is_interval)

(pairs_have_unique_common_neighbor)->(is_factor_critical)

(pairs_have_unique_common_neighbor)->(is_kite_free)

Page 63: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

New Project—Graph Theory

164 graphs with precomputed data

145 graphs with some missing data

87 properties

78 invariants

Open-source, on GitHub—anyone can use these definitions or addto them.

Page 64: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

New Project—Graph Theory

164 graphs with precomputed data

145 graphs with some missing data

87 properties

78 invariants

Open-source, on GitHub—anyone can use these definitions or addto them.

Page 65: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

New Project—Graph Theory

164 graphs with precomputed data

145 graphs with some missing data

87 properties

78 invariants

Open-source, on GitHub—anyone can use these definitions or addto them.

Page 66: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

New Project—Graph Theory

164 graphs with precomputed data

145 graphs with some missing data

87 properties

78 invariants

Open-source, on GitHub—anyone can use these definitions or addto them.

Page 67: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

New Project—Graph Theory

164 graphs with precomputed data

145 graphs with some missing data

87 properties

78 invariants

Open-source, on GitHub—anyone can use these definitions or addto them.

Page 68: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Human’s Can’t Make Better Conjectures

There are no simpler statements that are true and significant.

Page 69: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 70: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 71: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 72: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 73: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 74: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

The Dream & Kiran

Code all published graph theory concepts and examples.

This will be a huge project.

What you’d get:

I Conjectures that are true for all published examples.

I The simplest conjectures using published concepts.

Kiran would have liked that.

Page 75: Automated Conjecturing for Proof Discovery · Automated Conjecturing for Proof Discovery Craig Larson (joint work with Nico Van Cleemput) Virginia Commonwealth University Ghent University

Thank You!

Automated Conjecturing in Sage:http://nvcleemp.github.io/conjecturing/

C. E. Larson and N. Van Cleemput, Automated Conjecturing I:Fajtlowicz’s Dalmatian Heuristic Revisited, Artificial Intelligence

231 (2016) 17-38.

[email protected]