Background Proof assistants in education Arend – System description Implementation Future work Arend — Proof Assistant Assisted Pegagogy A graphical proof assistant for undergraduate computer science education Andrew V. Clifton Department of Computer Science California State University, Fresno May 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Formal proofs Formal proofs — an important component of computer science education. Prove • ∀ x , y ∈ N : x + y = y + x . • If T is a complete binary tree with n = | T | nodes, then the height of any node is at most ⌊ log 2 n ⌋ . • The reverse of a regular language L R is itself regular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Delayed results; turn in a proof assignment, get results back a week later. Batch processing for proofs. • Non-interactive. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Paper proofs Paper proofs are common, but problematic for education: • Too fmexible; allow a wide variety of “almost correct” answers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Batch processing for proofs. • Non-interactive. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Paper proofs Paper proofs are common, but problematic for education: • Too fmexible; allow a wide variety of “almost correct” answers. • Delayed results; turn in a proof assignment, get results back a week later. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Non-interactive. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Paper proofs Paper proofs are common, but problematic for education: • Too fmexible; allow a wide variety of “almost correct” answers. • Delayed results; turn in a proof assignment, get results back a week later. Batch processing for proofs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Paper proofs Paper proofs are common, but problematic for education: • Too fmexible; allow a wide variety of “almost correct” answers. • Delayed results; turn in a proof assignment, get results back a week later. Batch processing for proofs. • Non-interactive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Automated theorem provers (e.g., AUTOMATH) • Model checkers • Proof assistants (Abella, Coq, Arend, etc.) Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Computer-assisted logic Using computers to do logic is not a new idea: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Model checkers • Proof assistants (Abella, Coq, Arend, etc.) Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Computer-assisted logic Using computers to do logic is not a new idea: • Automated theorem provers (e.g., AUTOMATH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Proof assistants (Abella, Coq, Arend, etc.) Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Computer-assisted logic Using computers to do logic is not a new idea: • Automated theorem provers (e.g., AUTOMATH) • Model checkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Computer-assisted logic Using computers to do logic is not a new idea: • Automated theorem provers (e.g., AUTOMATH) • Model checkers • Proof assistants (Abella, Coq, Arend, etc.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Assists the user in constructing a valid proof. • Forbids the construction of invalid proofs. • Presents proofs, complete or not, to the user in a comprehensible format. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Proof assistants A proof assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Forbids the construction of invalid proofs. • Presents proofs, complete or not, to the user in a comprehensible format. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Proof assistants A proof assistant • Assists the user in constructing a valid proof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
• Presents proofs, complete or not, to the user in a comprehensible format. Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Proof assistants A proof assistant • Assists the user in constructing a valid proof. • Forbids the construction of invalid proofs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Proof assistants A proof assistant • Assists the user in constructing a valid proof. • Forbids the construction of invalid proofs. • Presents proofs, complete or not, to the user in a comprehensible format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Proof assistants, cont. Some well-known proof assistants: • Twelf (previously used in CSCI 217) • Coq • Abella (currently used in CSCI 217) • Agda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Aside: the Curry-Howard Isomorphism An aside: Some proof assistants bridge the gap between functional programming and proofs, thanks to the Curry-Howard isomorphism. Defjnition The Curry-Howard isomorphism states that proofs are to propositions as programs are to types . a : A can mean “ a is a program with type A ”, or “ a is a proof of the proposition A ”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
But it is also the type of functions from P to Q . A proof of Q is a program that converts a proof (value) of P into a proof (value) of Q ! (End of aside.) P Background Proof assistants in education Arend – System description Proof assistants Implementation Future work Curry-Howard isomorphism, cont. Some examples: • If p : P and q : Q then the pair ( p , q ) : P ∧ Q . • If p : P and q : Q then either left ( p ) : P ∨ Q or right ( q ) : P ∨ Q • More interesting: P → Q means “ P implies Q ”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andrew V. Clifton Arend — Proof Assistant Assisted Pegagogy
Recommend
More recommend