when a gui for dynamic geometry becomes an interactive proof … · 2010-11-10 · geometry...

41
When a GUI for dynamic geometry becomes an interactive proof language. Julien Narboux under the supervision of Hugo Herbelin LIX, ´ Ecole Polytechnique Thursday 14 April 2005, Chambery, France Julien Narboux A GUI for proving.

Upload: others

Post on 06-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

When a GUI for dynamic geometry becomes aninteractive proof language.

Julien Narbouxunder the supervision of

Hugo Herbelin

LIX, Ecole Polytechnique

Thursday 14 April 2005, Chambery, France

Julien Narboux A GUI for proving.

Page 2: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Outline

1. Introduction

2. Related work and motivations

3. A presentation of DrGeoCaml

4. From diagrams to generic sketches

5. Gui vs language

6. Conclusion

Julien Narboux A GUI for proving.

Page 3: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Introduction

A diagram can be seen asa high level description ofa proof.

Gauss (7-year-old) :

• ◦ ◦ ◦ ◦

• • ◦ ◦ ◦

• • • ◦ ◦

. . .

• • • • ◦

1 + 2 + 3 + . . . + n =n(n + 1)

2

Julien Narboux A GUI for proving.

Page 4: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Introduction

A diagram can be seen asa high level description ofa proof.

Gauss (7-year-old) :

• ◦ ◦ ◦ ◦

• • ◦ ◦ ◦

• • • ◦ ◦

. . .

• • • • ◦

1 + 2 + 3 + . . . + n =n(n + 1)

2

Julien Narboux A GUI for proving.

Page 5: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

But sometimes a diagramcan be misleading.

Misleading ?a

aOriginal author unknown, this dia-gram is from Daniel Winterstein’s Phd.

Julien Narboux A GUI for proving.

Page 6: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Diagrammatic Reasoning.• The Diamond system (Mateja Jamnik’s phd)• Dr Doodle (Daniel Winterstein’s phd)• CDEG (Nathaniel Miller’s phd)

Julien Narboux A GUI for proving.

Page 7: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Diagrammatic Reasoning.• The Diamond system (Mateja Jamnik’s phd)• Dr Doodle (Daniel Winterstein’s phd)• CDEG (Nathaniel Miller’s phd)

Julien Narboux A GUI for proving.

Page 8: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Diagrammatic Reasoning.• The Diamond system (Mateja Jamnik’s phd)• Dr Doodle (Daniel Winterstein’s phd)• CDEG (Nathaniel Miller’s phd)

Julien Narboux A GUI for proving.

Page 9: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Interactive Geometry.

There are quite many interactive geometry software :

Julien Narboux A GUI for proving.

Page 10: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Interactive Geometry.

There are quite many interactive geometry software :Cabri Geometer, CaR, Cinderella, Declic, Dr. Geo, Euclid,Euklid DynaGeo, Eukleides, Gava, GeoExp, GeoFlash,GeoLabo, Geometria, Geometrix, Geometry Explorer,GeoPlanW, GeoSpaceW, GEUP, GeoView, GEX, GRACE,KGeo, KIG, Non-Euclid, Sketchpad, XCas. . .

Julien Narboux A GUI for proving.

Page 11: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Related work.

Interactive Geometry.

But few can deal with proofs :Cabri Geometer, CaR, Cinderella, Declic, Dr. Geo, Euclid,Euklid DynaGeo, Eukleides, Gava, GeoExp, GeoFlash,GeoLabo, Geometria, Geometrix, Geometry Explorer,GeoPlanW, GeoSpaceW, GEUP, GeoView, GEX, GRACE,KGeo, KIG, Non-Euclid, Sketchpad, XCas. . .

Julien Narboux A GUI for proving.

Page 12: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Interactive geometry software are mainly used for educationalpurposes but few of them can deal with proofs.

Julien Narboux A GUI for proving.

Page 13: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Cinderella Probalistic method, no proof shown.Geometrix Interactive proof system using a base of

lemmas.Geometry Explorer Implementation of the full angle method

using prolog, and visualization of theproofs in a diagrammatic way.

GeoView Uses GeoPlan and Pcoq to visualizestatements.

GEX/Geometer Implementation of the area method, ofWu’s method and of deductive databasemethods, visualization of statments only.

Julien Narboux A GUI for proving.

Page 14: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Cinderella Probalistic method, no proof shown.Geometrix Interactive proof system using a base of

lemmas.Geometry Explorer Implementation of the full angle method

using prolog, and visualization of theproofs in a diagrammatic way.

GeoView Uses GeoPlan and Pcoq to visualizestatements.

GEX/Geometer Implementation of the area method, ofWu’s method and of deductive databasemethods, visualization of statments only.

Julien Narboux A GUI for proving.

Page 15: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Cinderella Probalistic method, no proof shown.Geometrix Interactive proof system using a base of

lemmas.Geometry Explorer Implementation of the full angle method

using prolog, and visualization of theproofs in a diagrammatic way.

GeoView Uses GeoPlan and Pcoq to visualizestatements.

GEX/Geometer Implementation of the area method, ofWu’s method and of deductive databasemethods, visualization of statments only.

Julien Narboux A GUI for proving.

Page 16: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Cinderella Probalistic method, no proof shown.Geometrix Interactive proof system using a base of

lemmas.Geometry Explorer Implementation of the full angle method

using prolog, and visualization of theproofs in a diagrammatic way.

GeoView Uses GeoPlan and Pcoq to visualizestatements.

GEX/Geometer Implementation of the area method, ofWu’s method and of deductive databasemethods, visualization of statments only.

Julien Narboux A GUI for proving.

Page 17: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Cinderella Probalistic method, no proof shown.Geometrix Interactive proof system using a base of

lemmas.Geometry Explorer Implementation of the full angle method

using prolog, and visualization of theproofs in a diagrammatic way.

GeoView Uses GeoPlan and Pcoq to visualizestatements.

GEX/Geometer Implementation of the area method, ofWu’s method and of deductive databasemethods, visualization of statments only.

Julien Narboux A GUI for proving.

Page 18: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

My goal is to combine these features:• dynamic geometry• automation• proof assistant• interactive manual/diagrammatic proof

Julien Narboux A GUI for proving.

Page 19: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Motivations• The use of a proof assistant provides a way to combine

geometrical proofs with larger proofs (involving inductionfor instance).

• There are facts than can not be visualized graphically andthere are facts that are difficult to understand without agraphical approach.

• We should have both the ability to make arbitrarily complexproofs and use a base of known lemmas.

• The verification of the proofs by the proof assistantprovides a high level of confidence.

Julien Narboux A GUI for proving.

Page 20: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Motivations• The use of a proof assistant provides a way to combine

geometrical proofs with larger proofs (involving inductionfor instance).

• There are facts than can not be visualized graphically andthere are facts that are difficult to understand without agraphical approach.

• We should have both the ability to make arbitrarily complexproofs and use a base of known lemmas.

• The verification of the proofs by the proof assistantprovides a high level of confidence.

Julien Narboux A GUI for proving.

Page 21: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Motivations• The use of a proof assistant provides a way to combine

geometrical proofs with larger proofs (involving inductionfor instance).

• There are facts than can not be visualized graphically andthere are facts that are difficult to understand without agraphical approach.

• We should have both the ability to make arbitrarily complexproofs and use a base of known lemmas.

• The verification of the proofs by the proof assistantprovides a high level of confidence.

Julien Narboux A GUI for proving.

Page 22: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Motivations• The use of a proof assistant provides a way to combine

geometrical proofs with larger proofs (involving inductionfor instance).

• There are facts than can not be visualized graphically andthere are facts that are difficult to understand without agraphical approach.

• We should have both the ability to make arbitrarily complexproofs and use a base of known lemmas.

• The verification of the proofs by the proof assistantprovides a high level of confidence.

Julien Narboux A GUI for proving.

Page 23: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

A quick overview of DrGeoCaml

• Based on NicolasFrancois’ work.

• Writen using ocaml andlablgtk2.

• Distributed under theGPL2 licence.

https://gna.org/projects/geocaml

Julien Narboux A GUI for proving.

Page 24: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Drgeocaml’s features:• points, lines, circles,

vectors, segments,intersections, perpendicularlines, perpendicularbissectors,anglebissectors. . .

• central symetry, translation,and axial symetry

• text labels• measures of angle,

distances and areas

• I/O: natural language, .kir,.zir .csr / .svg, .png

• properties tests (collinear-ity,orthogonality,. . . )

Missing features:

• Common features:• loci and conics• macros• animations

• Interactive proof:to be discussed today !

Julien Narboux A GUI for proving.

Page 25: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

What about colors and style ? should that be included in theproof language ?

Julien Narboux A GUI for proving.

Page 26: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

What is a diagram ?

What is the difference between a diagram, a formula and a pic-ture ?

• There are elements of the diagram which do not have anymeaning.

• A diagrams is an example of something.• A diagram is well defined.

Julien Narboux A GUI for proving.

Page 27: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

What is a diagram ?

What is the difference between a diagram, a formula and a pic-ture ?

• There are elements of the diagram which do not have anymeaning.

• A diagrams is an example of something.• A diagram is well defined.

Julien Narboux A GUI for proving.

Page 28: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

What is a diagram ?

What is the difference between a diagram, a formula and a pic-ture ?

• There are elements of the diagram which do not have anymeaning.

• A diagrams is an example of something.• A diagram is well defined.

Julien Narboux A GUI for proving.

Page 29: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Generic Sketches

My goal is :• to define when a diagram is a proper example of

something.• to keep the direct intuitive representation of the

geometrical facts.• but I don’t want to deal with the ambiguities created by the

size of the pencil

Julien Narboux A GUI for proving.

Page 30: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Generic Sketches

My goal is :• to define when a diagram is a proper example of

something.• to keep the direct intuitive representation of the

geometrical facts.• but I don’t want to deal with the ambiguities created by the

size of the pencil

Julien Narboux A GUI for proving.

Page 31: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Generic Sketches

My goal is :• to define when a diagram is a proper example of

something.• to keep the direct intuitive representation of the

geometrical facts.• but I don’t want to deal with the ambiguities created by the

size of the pencil

Julien Narboux A GUI for proving.

Page 32: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Figure

A figure is a the couple formed of a set of points and a set ofgeometric constraints over these points.

Sketch

A sketch is a maping from the set of points of a figure to R2

which is compatible with the constraints of that figure.

Generic Sketches (Informal Definition)

Given a figure F , we say that a set of sketches G is generic forsome property P of arity n iff

∀(A1, . . . , An) ∈ F npoints

(∀s ∈ G, Pf (s(A1), . . . , s(An)) = >) ⇒ (∀Pts, FC → P(A1, . . . , An))Julien Narboux A GUI for proving.

Page 33: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Figure

A figure is a the couple formed of a set of points and a set ofgeometric constraints over these points.

Sketch

A sketch is a maping from the set of points of a figure to R2

which is compatible with the constraints of that figure.

Generic Sketches (Informal Definition)

Given a figure F , we say that a set of sketches G is generic forsome property P of arity n iff

∀(A1, . . . , An) ∈ F npoints

(∀s ∈ G, Pf (s(A1), . . . , s(An)) = >) ⇒ (∀Pts, FC → P(A1, . . . , An))Julien Narboux A GUI for proving.

Page 34: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Figure

A figure is a the couple formed of a set of points and a set ofgeometric constraints over these points.

Sketch

A sketch is a maping from the set of points of a figure to R2

which is compatible with the constraints of that figure.

Generic Sketches (Informal Definition)

Given a figure F , we say that a set of sketches G is generic forsome property P of arity n iff

∀(A1, . . . , An) ∈ F npoints

(∀s ∈ G, Pf (s(A1), . . . , s(An)) = >) ⇒ (∀Pts, FC → P(A1, . . . , An))Julien Narboux A GUI for proving.

Page 35: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Examples

Three free points.

collinear any non degenerated triangle is a generic sketchcollinear and equal length non isosceles, non degenerated

triangles are generic sketches

Three collinear points

Between → Several Cases

Julien Narboux A GUI for proving.

Page 36: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

Negative predicates

• Negative predicates are difficult to visualize.

Three points

6= → you need to put the three points at the same place.

Julien Narboux A GUI for proving.

Page 37: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

DefinitionExamplesCase distinctionWhat about ”Not” ?

Gui/Language

Unification Diagram matchingProof of an existential theo-rem

Macro

Assert a new fact Mark a fact on the diagramDelete an assumption Delete some objectProve that the theorem isfalse

Collect counter examples

Julien Narboux A GUI for proving.

Page 38: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

DefinitionExamplesCase distinctionWhat about ”Not” ?

Animation or Graph ?

• The process of doing the diagram is important.• We need a way to reflect that.

Julien Narboux A GUI for proving.

Page 39: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

DefinitionExamplesCase distinctionWhat about ”Not” ?

Animation or Graph ?

• The process of doing the diagram is important.• We need a way to reflect that.

Julien Narboux A GUI for proving.

Page 40: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

DefinitionExamplesCase distinctionWhat about ”Not” ?

• We do need to mix visualization, automation, andinteractive proof.

• Visualizing negative statments is difficult.• Diagrams have to come with a notion which tells what we

can deduce from the diagram.• We need animation.

Thank you !

Julien Narboux A GUI for proving.

Page 41: When a GUI for dynamic geometry becomes an interactive proof … · 2010-11-10 · Geometry Explorer Implementation of the full angle method using prolog, and visualization of the

IntroductionRelated work and motivationsA presentation of DrGeoCaml

From diagrams to generic sketchesGui vs language

Conclusion

DefinitionExamplesCase distinctionWhat about ”Not” ?

• We do need to mix visualization, automation, andinteractive proof.

• Visualizing negative statments is difficult.• Diagrams have to come with a notion which tells what we

can deduce from the diagram.• We need animation.

Thank you !

Julien Narboux A GUI for proving.