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
Kiran Chilakamarri—On Conjectures
Goal To tell you about a new idea for using our conjecture-generating program:
Goal To tell you about a new idea for using our conjecture-generating program: generating sketches of proofs (or proof ideas);
Goal To tell you about a new idea for using our conjecture-generating program: generating sketches of proofs (or proof ideas); and a new proof of the Friendship Theorem.
Our Program Black box.
Our Program Black box. Main heuristic idea from Fajtlowicz’s Graffiti.
Our Program Black box. Main heuristic idea from Fajtlowicz’s Graffiti. Ingredients: Objects, Invariants, Properties, Choice of Invariant or property of interest, choice of upper or lower bounds.
The Program ◮ Open-source
The Program ◮ Open-source ◮ Written for Sage
The Program ◮ Open-source ◮ Written for Sage ◮ Python
The Program ◮ Open-source ◮ Written for Sage ◮ Python ◮ Lots of standard mathematical packages: GAP, R, GLPK, CVXOPT, NumPy, SciPy, L A T EX, matlabplot
The Program ◮ Open-source ◮ Written for Sage ◮ Python ◮ Lots of standard mathematical packages: GAP, R, GLPK, CVXOPT, NumPy, SciPy, L A T EX, matlabplot ◮ Lots of Graph Theory: graphs, invariants, properties, constructors,. . .
The Program ◮ Open-source ◮ Written for Sage ◮ Python ◮ Lots of standard mathematical packages: GAP, R, GLPK, CVXOPT, NumPy, SciPy, L A T EX, matlabplot ◮ Lots of Graph Theory: graphs, invariants, properties, constructors,. . . ◮ Growing
The Program
Properties Example: pairs have unique common neighbor : Every pair of vertices has exactly one common neighbor.
Properties Example: pairs have unique common neighbor : Every pair of vertices has exactly one common neighbor. Figure: A flower F 4 with four petals.
Sufficient Condition Conjectures 164 graphs in the main database 87 properties 5 propositional operators: and, or, implies, not, xor
Sufficient Condition Conjectures 164 graphs in the main database 87 properties 5 propositional operators: and, or, implies, not, xor
What you get
What you get Conjectures that are true for all input objects.
What you get Conjectures that are true for all input objects. Conjectures that say something not implied by any previously output conjecture.
Theory Idea: You want conjectures that are an improvement on existing theory.
Theory Idea: You want conjectures that are an improvement on existing theory. property = pairs_have_unique_common_neighbor theory = [is_k3] propertyBasedConjecture(graph_objects, properties, property, theory = theory, sufficient = True, precomputed = precomputed)
Theory Idea: You want conjectures that are an improvement on existing theory. 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)
Proof Sketch Generating Idea ◮ Prove: P = ⇒ Q . ◮ Run necessary condition conjectures for P , using Q as the “theory”. ◮ The generated conjectures must be “better” than Q for at least one graph conjectures. ◮ Get: P = ⇒ C 1 P = ⇒ C 2 ◮ By the truth test, each object x that has property P has properties C 1 and C 2 . ◮ Thus x is in the intersection of the set of graphs having properties C 1 and C 2 . ◮ If there is x in the graph database with x in C 1 ∩ C 2 but x �∈ Q then program wouldn’t stop—as conjectures could be improved.
Proof Sketch Generating Idea ◮ Prove: P = ⇒ Q . ◮ Run necessary condition conjectures for P , using Q as the “theory”. ◮ Lemma 1: P = ⇒ C 1 ◮ Lemma 2: P = ⇒ C 2 ◮ Lemma 3: C 1 ∩ C 2 ⊆ Q ◮ Then lemmas imply Theorem: P = ⇒ Q ◮ (semantic proof)
The Friendship Theorem If every pair of people in a group have exactly one friend in common, then there is a person in the group that is friends with all of them.
The Friendship Theorem If every pair of people in a group have exactly one friend in common, then there is a person in the group that is friends with all of them. If every pair of vertices in a graph have a unique common neighbor, then there is a vertex in the graph that is adjacent to all the other vertices (Erd˝ os, R´ enyi, S´ os, 1966).
The Friendship Theorem If every pair of vertices in a graph have a unique common neighbor, then there is a vertex in the graph that is adjacent to all the other vertices.
The Friendship Theorem If every pair of vertices in a graph have a unique common neighbor, then there is a vertex in the graph that is adjacent to all the other vertices. Useful Observation: Can’t have any four-cycles.
Conjectured Lemmas Investigate: (pairs_have_unique_common_neighbor)->(has_star_center)
Conjectured Lemmas Investigate: (pairs_have_unique_common_neighbor)->(has_star_center) Investigation: property = pairs_have_unique_common_neighbor theory = [has_star_center]
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)
Conjectured Lemma 1 (pairs_have_unique_common_neighbor)->(is_eulerian) Euler’s criterion: A connected graph is eulerian if and only if every degree is even.
Conjectured Lemma 1 (pairs_have_unique_common_neighbor)->(is_eulerian)
Conjectured Lemma 1 (pairs_have_unique_common_neighbor)->(is_eulerian)
Conjectured Lemma 1 (pairs_have_unique_common_neighbor)->(is_eulerian)
Conjectured Lemma 2 (pairs_have_unique_common_neighbor)->(is_circular_planar) Theorem (Chartrand & Harary, 1967) A graph is outerplanar if and only if it does not contain a subdivision of K 4 or K 3 , 3 .
Conjectured Lemma 2 (pairs_have_unique_common_neighbor)->(is_circular_planar)
Conjectured Lemma 3 (pairs_have_unique_common_neighbor)->(is_gallai_tree)
Conjectured Lemma 3 Proof Main Ideas: ◮ Two-connected Gallai-trees are complete graphs or odd cycles.
Conjectured Lemma 3 Proof Main Ideas: ◮ Two-connected Gallai-trees are complete graphs or odd cycles. ◮ Outerplanar and Gallai-tree means the blocks are odd cycles.
Conjectured Lemma 3 Proof Main Ideas: ◮ Two-connected Gallai-trees are complete graphs or odd cycles. ◮ Outerplanar and Gallai-tree means the blocks are odd cycles. ◮ If cycle has degree two vertices then the neighbors of these vertices must be adjacent.
Conjectured Lemma 3 Proof Main Ideas: ◮ Two-connected Gallai-trees are complete graphs or odd cycles. ◮ Outerplanar and Gallai-tree means the blocks are odd cycles. ◮ If cycle has degree two vertices then the neighbors of these vertices must be adjacent. 0 1 8 2 7 3 6 4 5
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian.
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4.
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4. ◮ Then the unique neighbor condition yields a contradiction.
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4. ◮ Then the unique neighbor condition yields a contradiction. ◮ So the graph is a triangle.
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4. ◮ Then the unique neighbor condition yields a contradiction. ◮ So the graph is a triangle. ◮ Apply induction.
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4. ◮ Then the unique neighbor condition yields a contradiction. ◮ So the graph is a triangle. ◮ Apply induction. ◮ Assume the graph has a cut vertex v .
Conjectured Lemma 3 Proof Main Ideas: ◮ Assume the graph is two-connected. It is outerplanar and eulerian. ◮ If the graph is not a cycle, there is a vertex of degree at least 4. ◮ Then the unique neighbor condition yields a contradiction. ◮ So the graph is a triangle. ◮ Apply induction. ◮ Assume the graph has a cut vertex v . ◮ Each block is two-connected and must have the property that every pair of vertices has a unique common neighbor.
Recommend
More recommend