1 / 13

A Tool for Facilitating Students' Construction of Proofs

A Tool for Facilitating Students' Construction of Proofs. by Hugh McGuire. E.g.:. Why have students use software for constructing proofs?. Software provides framework for proofs. - students sometimes err just setting up proofs

nau
Download Presentation

A Tool for Facilitating Students' Construction of Proofs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Tool forFacilitating Students' Construction of Proofs by Hugh McGuire

  2. E.g.:

  3. Why have students use software for constructing proofs? • Software provides framework for proofs. - students sometimes err just setting up proofs • Software does ‘secretarial’ work of performing symbolic manipulations. e.g. substituting "0" and "n+1" where appropriate when applying stepwise induction - students sometimes err in copying, substituting, … • Software enforces soundness. e.g. to prove something for general n, can’t just prove for a sample value

  4. Why not have students use software for constructing proofs?? • Formal logic is cumbersome whereas English is ‘powerful’? But ProofBuilder provides same ‘operations’ as English: induction, case splitting, substitution according to equations, direct proof, proof by contradiction, etc. • Software doesn’t provide standard mathematics notation? But ProofBuilder provides “”, “¬”, “≤”, “”, etc. • You may want to use different symbols? But user can choose e.g. “” vs. “=>” vs. “implies” (vs. …) • Software does work that students should do? But ProofBuilderavoids “automated reasoning”: the user needs to select logic operations.

  5. Comparisons to related work • Tools such as Maple, Mathematica do some of the work that students should do in proofs, e.g. providing solutions for summations. • Flash proofs of [Ensley2006] are ‘prefabricated’. • Systems profiled in [JAR 32:3]are restricted to propositions or do automated reasoning rather than making students learn to construct proofs. • [EPGY:TPE2006] and [Billingsley2006] use some notation that isn’t standard for mathematics; and they check proofs more than helping students construct proofs by performing selected logic steps. • Tableau [Burback1990] and Deduct [Colon2003] limit scope (operations, notation) to [Manna1993], e.g. no case splitting, “”, “|” (divides), numerals (“2”,“3”,…), etc. Also, no longer supported. • ProofBuilder extends the capabilities of Tableau and Deduct, providing more notation (see preceding paragraph),adding more processing such as simplification of “¬P  (P  Q)”, providing more proof strategies/structures such as case splitting, etc.

  6. Sample theorems 1 • Here are some theorems which are provable using ProofBuilder: • [(P ∨ Q) ⇒ R] ⇒ [(P ⇒ R) ∧ (Q ⇒ R)] • (∀x,y,z)[x|y ∧ x|z ⇒ x|(y + z)] • (∀n)[10^n mod 3 = 1] • (∀x,y)[log(x, x^y) = y] • (∀n)[n ≤ 2^n] • (∀S1,S2)[(S1  S2)  (S1  ~S2) = S1]

  7. Sample theorems 2: showing axioms • Axioms: (∀x).IsParent(mother_of(x),x) (∀x).IsParent(father_of(x),x) (∀p,x)[IsParent(p,x) ⇒ IsGrandmother(mother_of(p),x)] (∀p,x)[IsParent(p,x) ⇒ IsGrandfather(father_of(p),x)] • Theorems: (∀x)(∃p).IsParent(p,x) (∀p,x)(IsParent(p,x) ⇒ [p = mother_of(x) ∨ p = father_of(x)]) ⇒ (∀g,x)((∃p)[IsParent(g,p) ∧ IsParent(p,x)] ⇒ [IsGrandmother(g,x) ∨ IsGrandfather(g,x)])

  8. How to use ProofBuilder 1: starting • ProofBuilder is written in Java (version 5.0), so it runs on essentially all platforms. • You can double-click on ProofBuilder.jar . • Or in a command-line environment such as LINUX you can type: $ java -jar ProofBuilder.jar -ea $ • Main window etc. opens. • You need to enter theorem, then select logic steps using menus or keyboard shortcuts…

  9. How to use ProofBuilder2: entering formulas • You can type formulas or copy/paste them (from Web etc.). • Formulas can be separated into premises and theorem. • If typing formulas, pressing alt (+ctrl on Mac) maps characters to symbols e.g. as follows: n  ¬ ^   |   ?  =   a   x   g  ≥ l  ≤ #  ≠ e   [  {  u   n   @  Øs  ∑ p  ∏ etc. • If you want, instead of that, you can type words e.g. “not”, “and”, “implies”, “forall”, “union”, … • Or further if you want instead, you can type symbols using ASCII characters e.g. “/\”, “=>”, “A”, “!=”, “union”, …

  10. How to Use ProofBuilder3: doing deductive steps • Deductive steps apply to overall formulas or subformulas which you select. • Rewrite, e.g. change ¬(1  2) to (¬1  ¬2) or vice-versa. • Substitute using equivalences, e.g. given(x,y)(x|y  (z)[x*z = y]), change a|b to (z)[a*z = b] . • Remove quantifiers, e.g. change (z)[a*z = b] to a*k1 = b . • Substitute using equations, e.g. given a*k1 = b and a*k2 = c, change a*z = b + c to a*z = a*k1 + a*k2 . • Invoke induction, stepwise or strong, e.g. as shown earlier on page 2. • Split proof into cases, e.g. as shown earlier on page 2. • Etc.

  11. Status, evaluation of ProofBuilder • current version is `beta’/`alpha’: written just last summer (2006), and used in just one semester so far. • Students managed to use ProofBuilderas well as previous students used Deduct. • Students were happy to have software do some of the work of constructing proofs. • Students naturally wanted remaining bugs fixed, plus they had suggestions e.g. to improve mechanisms for selecting subformulas. • Students need more guidance regarding what they should be trying to achieve (showing that a formula is true). • I’m interested in obtaining more feedback from a broad range of people (students, instructors, researchers of reasoning systems).

  12. Future work • Continue general development: finish various features such as saving intermediate work, improve the mechanisms for selecting subformulas, … • Obtain more comparative analyses of ProofBuilderby obtaining evaluations of it from other instructors etc. • Cover more topics such as group theory, and proof strategies/structures such as some of [Gries1993].

  13. References • [Billingsley2006] Billingsley,William & Robinson,Peter: "An Interface for Student Proof Exercises Using MathsTiles and Isabelle/HOL in an Intelligent Book", manuscript, 2006. • [Burback1990] Burback,Ron & Fraser,Scott & McGuire,Hugh & Smith,Jeff & Winstandley,Michael: "Using the Deductive Tableau System", Chariot Software Group, 1990. • [Colon2003] Colon,Michael: "Deduct", software, not published. • [EPGY:TPE2006] Education Program for Gifted Youth (EPGY) Theorem Proving Environment – Overview, http://epgy.stanford.edu/TPE , 2006. • [Ensley2006] Ensley,Douglas & Crawley,J.Winston: "Discrete Mathematics: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games", Wiley, 2006. • [JAR 32:3] Journal of Automated Reasoning, Vol.32 (2004), No.3 (February): special issue focusing on education. • [Gries1993] Gries,David & Schneider, Fred: “A Logical Approach to Discrete Math”, Springer, 1993. • [Manna1993] Manna,Zohar & Waldinger,Richard: "The Deductive Foundations of Computer Programming", Addison-Wesley, 1993.

More Related