CS 641 Lecture -*- Outline -*- * Derivations Proof techniques, not specific to boolean lattices ** Assumptions (6.5) Assumptions and implications are related A sequent Phi |- t says that t follows from Phi. Assumptions are just a way to work with implications. ------------------------------------------ RULES FOR ASSUMPTIONS (6.5) Phi, t |- t' ________________ (discharge) Phi |- t ==> t' Phi |- t ==> t' ________________ (undischarge) Phi, t |- t' ------------------------------------------ Q: How would you prove the assume axiom, Phi, t |- t ? use reflexivity and undischarge (in a derivation) Q: How does this let you use lemmas? Phi |- t Phi', t |- t' ________________________ (use of lemmas, or cut rule) Phi \union Phi' | t' proof uses modus ponens and discharging ------------------------------------------ CASE ANALYSIS Phi, t |- t' Phi', not.t |- t' __________________________(case analysis) Phi \union Phi' | t' Proof. Assume Phi, t |- t' and Phi', not.t |- t'. Phi \union Phi' |- T <==> { not exhaustion } t \/ not.t ==> { \/ elimination } * t ==> { undischarge, assumption } t' * not.t ==> { undischarge, assumption } t' . t' ------------------------------------------ Note the mix of <==> and ==> mix yields the composition of the relations involved. Ok if all arrows go the same way. ------------------------------------------ MONOTONICITY AND ALPHA Phi |- t ___________ (add assumption) Phi, t' |- t Phi, s |- t _______________(change of free variables) Phi, s[x := x'] |- t[x :- x'] * x is not free in Phi, and x' is free for x in s and t ------------------------------------------ Q: Why do these make sense? ** Derivations with local assumptions (6.6) *** focusing rules for connectives The reason for using the focusing rules instead of just substituting equals for equals is to get the extra assumption. ------------------------------------------ FOCUSING RULES UNDER EQUIVALENCE Focusing on a conjunct: Phi, t |- t1 <==> t2 ___________________________ Phi |- t /\ t1 <==> t /\ t2 Example: |- x = 3 /\ "y = x" <==> { focus on conjunct } * [ x = 3 ] y = x <==> { by assumption, x = 3 } y = 3 . x = 3 /\ y = 3 ------------------------------------------ Q: why is this justified? because both conjuncts must be true ------------------------------------------ FOCUSING RULES FOR OTHER CONNECTIVES UNDER EQUIVALENCE Focusing on a disjunct: Phi, not.t |- t1 <==> t2 ___________________________ Phi |- t \/ t1 <==> t \/ t2 Focusing on consequent of implication: Phi, t |- t1 <==> t2 _____________________________ Phi |- t ==> t1 <==> t ==> t2 Focusing on antecedent of an implication: Phi, not.t |- t1 <==> t2 _____________________________ Phi |- t1 ==> t <==> t2 ==> t ------------------------------------------ Q: How would you explain these? Q: Can you prove that p ==> ((p ==> q) ==> q) ? |- p ==> ("(p ==> q) ==> q") <==> { focus on conclusion of ==> } * [ p ] (p ==> q) ==> q <==> { by assumption p <==> T } "(T ==> q)" ==> q <==> { T ==> rule } q ==> q <==> { ==> reflexive } T . p ==> T <==> { T greatest } T *** focusing and monotonicity ------------------------------------------ FOCUSING AND MONOTONICITY (UNDER RELATIONS) For monotonic functions we have: Phi |- t <= t' __________________ Phi |- f.t <= f.t' * if f is monotonic Can manipulate t separately. Works inside quantifiers, since they are monotonic with respect to implication. Example, prove: |- (\exists v * v = t /\ t') ==> t'[v := t] * if v is not free in t ------------------------------------------ Note, no extra hypothesis here. Q: What happens if f is antimonotonic? Proof: Assume v is not free in t. |- (\exists v * "v = t /\ t'") <==> { substitute using local assumption v = t } // note, no subderivation! (\exists v * "v = t /\ t'[v := t]") ==> { /\ elimination in monotonic context } (\exists v * "t'[v := t]")in the <==> { drop vacuous quantifier, exercise 6.8; v is not free in t } t'[v := t] Note the abbreviation where the comment is.code ------------------------------------------ FOCUSING UNDER IMPLICATION Focusing on a conjunct (exercise 6.7a) Phi, t |- t1 ==> t2 _____________________________ Phi |- t /\ t1 ==> t /\ t2 Focusing on a disjunct (exercise 6.7b) Focusing on the consequent of an implication (exercise 6.7b) Focusing on the antecedent of an implication (exercise 6.7b) ------------------------------------------ the formulation is the dual of the rule for conjunction Q: What's a monotonic context? Q: What parts of an implication are monotonic contexts? *** focusing and local definitions ------------------------------------------ USING LOCAL DEFINITIONS AS ASSUMPTIONS Phi, v = t |- t1 ~ t2 __________________________ Phi |- (let v = t in t1) ~ (let v = t in t2) where ~ is an arbitrary relation ------------------------------------------ See procedure example on p. 123 Get to use definition as another assumption in subproof.