COP 5021 Lecture -*- Outline -*- * Calculational Style Proofs ** proof formats with equality ------------------------------------------ CALCULATIONAL STYLE PROOFS Why? General Format A == {hint why A == B} B == {hint why B == C} C This establishes that A == C because it shows (A == B) /\ (B == C) If C is true, then this proves A ------------------------------------------ ... to prove theorems carefully (not skipping steps, get feedback) to understand reasons to make proofs that are easily read and understood Note that we don't say "by transitivitity" *** proof formats with implication ------------------------------------------ STANDARD PROOF OUTLINES To show: A ==> D A ==> {hint why A ==> B} B == {hint why B == C} C ==> {hint why C ==> D} D Another way: D <== {hint why C ==> D} C == {hint why B == C} B <== {hint why A ==> B} A ------------------------------------------ Q: What's the logical formula that these are equivalent to? (A ==> B) /\ (B == C) /\ (C ==> D) We would use the second one when D is more complex than A as it is useful to make things simpler. ** rules and strategies *** rules ------------------------------------------ SOME INFORMAL RULES A. Don't use two reasons in one hint, use two steps instead B. Substituting equals for equals always is okay. C. Be careful with substitution when you only know an implication ------------------------------------------ *** strategies ------------------------------------------ SOME STRATEGIES, HINTS A. Start from the more complex side. B. Use lemmas to isolate parts of a proof. C. Avoid proof by contradiction if possible. D. Look at the proof afterwards to see if it can be simplified, or clarified ------------------------------------------ ** practice --------------------------------------------------------- PRACTICE For the following: give a proof or find a counterexample. P <==> P <==> P <==> !P P <== Q <==> P \/ !Q <==> P P ==> Q <==> P \/ Q <==> Q X ==> X \/ Y absorption: X \/ (X /\ Y) <==> X currying: P ==> (Q ==> R) <==> (P /\ Q ==> R) golden rule: P /\ Q <==> P <==> Q <==> P \/ Q (P ==> Q) \/ (Q ==> P) conjunction distributes over implication: P /\ (Q ==> R) <==> P /\ Q ==> P /\ R disjunction distributes over discrepancy: P \/ (Q <=!=> R) <==> P \/ Q <=!=> P \/ R (P <==> P \/ Q) /\ (P \/ Q <==> P) <==> P <==> Q --------------------------------------------------------- The first 2 are not valid. For counterexamples: take P as true in the first formula take P as false in the second formula