meeting -*- Outline -*- * derivations (4.2) Q: what kind of practical problems might you how to if you try to use the derivation formats for reasonably sized realistic proofs? it's hard to type, you quickly run out of horizontal space, assumptions are repeated all over, explicitly invoking trivial rules like transitivity, substitution, and symmetry ideas: write the proof sideways with indentation, avoid repeating assumptions by using scope ------------------------------------------ BASIC CALCULATIONAL PROOF FORMAT Translate D1 D2 ... Dm _________________ {rule name} Phi |- t == t' into: Phi |- t == { rule name } * [[D1]] * [[D2]] ... * [[Dm]] . t' where [[Di]] is the translation of Di ------------------------------------------ Scope of assumptions, Phi, is the whole thing - added assumptions shown in square brackets ------------------------------------------ USING TRANSITIVITY Translate DD1 DDm ______________ {R1} ... ____________{Rm} Phi |- t0 == t1 Phi |- tm-1 == tm ___________________________ {transitivity} Phi |- t0 == tm into: Phi |- t0 == { R1 } [[D1]] . t1 == { R2 } [[D2]] ... . t2 ... . tm-1 == { Rm } [[Dm]] . tm where [[Di]] is the translation of Di ------------------------------------------ Q: what savings are achieved by this proof format? avoiding restatement of assumptions, and duplication of terms Q: How would you prove from arithmetic that (\ x . 2*x) == (\ y . y + y)?