Toward the use of a proof assistant to teach mathematics. Julien - - PowerPoint PPT Presentation

toward the use of a proof assistant to teach mathematics
SMART_READER_LITE
LIVE PREVIEW

Toward the use of a proof assistant to teach mathematics. Julien - - PowerPoint PPT Presentation

Toward the use of a proof assistant to teach mathematics. Julien Narboux under the supervision of Hugo Herbelin LIX, Ecole Polytechnique ICTMT7, 26 July 2005, Bristol, UK Julien Narboux Introduction What is a proof assistant ?


slide-1
SLIDE 1

Toward the use of a proof assistant to teach mathematics.

Julien Narboux

under the supervision of Hugo Herbelin

LIX, ´ Ecole Polytechnique

ICTMT7, 26 July 2005, Bristol, UK

Julien Narboux

slide-2
SLIDE 2

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Outline

1

What is a proof assistant ?

2

Introduction to the Coq proof assistant

3

Some examples

4

Motivation for its use in the classroom

Julien Narboux

slide-3
SLIDE 3

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

The impact of the use of software on the proving activity is a well addressed issue in the litterature. CAS, DGS, . There are software whose sole purpose is to produce proofs : the proof assistants.

Julien Narboux

slide-4
SLIDE 4

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

The impact of the use of software on the proving activity is a well addressed issue in the litterature. CAS, DGS, . There are software whose sole purpose is to produce proofs : the proof assistants.

Julien Narboux

slide-5
SLIDE 5

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

The impact of the use of software on the proving activity is a well addressed issue in the litterature. CAS, DGS, PA. There are software whose sole purpose is to produce proofs : the proof assistants.

Julien Narboux

slide-6
SLIDE 6

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

CAS (Maple, MuPAD, Mathematica . . . ) Definitions, Questions → Results Computation Theorem Prover (Otter, Vampire . . . ) Definitions, Axioms, Statement → True, False, I don’t know, Nothing. Automatic proof Proof assistant (Coq (84), Isabelle, HOL, PVS (90’s). . . ) Axioms, Statement, Interractive Proof → Correct or not Interractive proof

Julien Narboux

slide-7
SLIDE 7

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Proof oriented software For example :

logic oriented (Hyperproof . . . ) geometry oriented (Geometrix, Baghera . . . ) algebra oriented (MathXpert . . . )

They are :

User friendly Give hints to the student

Proof assistants Not specialized A very large span of applications A very high level of confidence Real mathematics

Julien Narboux

slide-8
SLIDE 8

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

What can we prove ?

Programs (Line 14 of Paris’ subway . . . ) Mathematical statements (The fondamental theorem of algebra (Henk Barendregt’s group), The four colours theorem (Gonthier, Werner). . . )

Julien Narboux

slide-9
SLIDE 9

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

What can we prove ?

Programs (Line 14 of Paris’ subway . . . ) Mathematical statements (The fondamental theorem of algebra (Henk Barendregt’s group), The four colours theorem (Gonthier, Werner). . . )

Julien Narboux

slide-10
SLIDE 10

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-11
SLIDE 11

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-12
SLIDE 12

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-13
SLIDE 13

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-14
SLIDE 14

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-15
SLIDE 15

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion What ? Why ?

Why ?

To understand what a proof is. To ensure correctness of the proof (The four colours theorem again). To generate proofs that could not be done by hand, either

Proof of programs (often long but straightforward proofs with too many cases for an exhaustive search). Proof of mathematical statements (The four colours theorem).

For teaching.

Julien Narboux

slide-16
SLIDE 16

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

Coq

Coq (http://coq.inria.fr/) a free software (GPL2), based on the Calculus of Inductive Constructions, developped at INRIA in the LogiCal team, since 1984.

Julien Narboux

slide-17
SLIDE 17

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

Coq

Coq (http://coq.inria.fr/) a free software (GPL2), based on the Calculus of Inductive Constructions, developped at INRIA in the LogiCal team, since 1984.

Julien Narboux

slide-18
SLIDE 18

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

Coq

Coq (http://coq.inria.fr/) a free software (GPL2), based on the Calculus of Inductive Constructions, developped at INRIA in the LogiCal team, since 1984.

Julien Narboux

slide-19
SLIDE 19

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

Coq

Coq (http://coq.inria.fr/) a free software (GPL2), based on the Calculus of Inductive Constructions, developped at INRIA in the LogiCal team, since 1984.

Julien Narboux

slide-20
SLIDE 20

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

What you need to trust :

The theory behind Coq. The Coq kernel implementation match the theory. Coq : > 130000 lines of code The kernel : < 11000 lines of code Your hardware, operating system and Ocaml compiler. Yours axioms.

Julien Narboux

slide-21
SLIDE 21

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

What you need to trust :

The theory behind Coq. The Coq kernel implementation match the theory. Coq : > 130000 lines of code The kernel : < 11000 lines of code Your hardware, operating system and Ocaml compiler. Yours axioms.

Julien Narboux

slide-22
SLIDE 22

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

What you need to trust :

The theory behind Coq. The Coq kernel implementation match the theory. Coq : > 130000 lines of code The kernel : < 11000 lines of code Your hardware, operating system and Ocaml compiler. Yours axioms.

Julien Narboux

slide-23
SLIDE 23

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion Can we trust a proof checked by the Coq proof assistant ?

What you need to trust :

The theory behind Coq. The Coq kernel implementation match the theory. Coq : > 130000 lines of code The kernel : < 11000 lines of code Your hardware, operating system and Ocaml compiler. Yours axioms.

Julien Narboux

slide-24
SLIDE 24

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion 1

∀xyz, x = y ∧ y = z → x = z

2

k=n

  • k=0

2k + 1 = (n + 1)2 A few difficulties : f(x, y) is noted (f x y). A → B → C is used to express A ∧ B → C. ¬A is defined by A → False.

Julien Narboux

slide-25
SLIDE 25

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Let’s start :

1 subgoal x : nat y : nat z : nat H : x = y /\ y = z __________________(1/1) x = z Examples: We know that : x, y and z are natural numbers and x = y ∧ y = z. We need to show that : x = z.

Julien Narboux

slide-26
SLIDE 26

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

How can I prove something ?

The proof can be described step-by-step using : case distinction absurd induction application of a theorem computation rewriting and sometimes automation . . .

Julien Narboux

slide-27
SLIDE 27

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Some examples now.

Julien Narboux

slide-28
SLIDE 28

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

It clarifies what we know, what we want to prove, what are the theorems, lemmas, axioms, definitions. . . It is rigourous. It helps to understand the logic. It clarifies what the logical rules are. It is fair: the proof is correct iff it is accepted by the system.

Julien Narboux

slide-29
SLIDE 29

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

It clarifies what we know, what we want to prove, what are the theorems, lemmas, axioms, definitions. . . It is rigourous. It helps to understand the logic. It clarifies what the logical rules are. It is fair: the proof is correct iff it is accepted by the system.

Julien Narboux

slide-30
SLIDE 30

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

It clarifies what we know, what we want to prove, what are the theorems, lemmas, axioms, definitions. . . It is rigourous. It helps to understand the logic. It clarifies what the logical rules are. It is fair: the proof is correct iff it is accepted by the system.

Julien Narboux

slide-31
SLIDE 31

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

It clarifies what we know, what we want to prove, what are the theorems, lemmas, axioms, definitions. . . It is rigourous. It helps to understand the logic. It clarifies what the logical rules are. It is fair: the proof is correct iff it is accepted by the system.

Julien Narboux

slide-32
SLIDE 32

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

It clarifies what we know, what we want to prove, what are the theorems, lemmas, axioms, definitions. . . It is rigourous. It helps to understand the logic. It clarifies what the logical rules are. It is fair: the proof is correct iff it is accepted by the system.

Julien Narboux

slide-33
SLIDE 33

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-34
SLIDE 34

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-35
SLIDE 35

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-36
SLIDE 36

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-37
SLIDE 37

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-38
SLIDE 38

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Limitations

Notations Error messages Interface Associativity-Commutativity Not enough automation Too much automation

Julien Narboux

slide-39
SLIDE 39

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

Work done or in progress

PCoq A gui to ease the usage of Coq. F . Guilhot’s work A formalization of high school geometry in Coq. CoqWeb An interface for solving exercises online using Coq (Work in progress). DrGeoCaml A gui for interactive proof in geometry using Coq (Work in progress).

Julien Narboux

slide-40
SLIDE 40

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

DGS to conjecture CAS to compute PA to prove Thank you !

Julien Narboux

slide-41
SLIDE 41

Introduction What is a proof assistant ? Introduction to the Coq proof assistant Some examples Motivation for its use in the classroom Conclusion

DGS to conjecture CAS to compute PA to prove Thank you !

Julien Narboux