Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Getting Started With Slate Joshua Taylor Selmer Bringsjord Micah Clark September 15, 2010 Contents 1 Starting Slate 1.1 Putting Formulae in the Workspace . . . . 1.2 Removing Formulae from the Workspace 1.3 Connecting Formulae . . . . . . . . . . . . . . 1.4 The Appearance of Formulae . . . . . . . . . 1.4.1 Formula Identifiers . . . . . . . . . . 1.4.2 Rule Correctness Indicators . . . . 1.4.3 Justification and Link Color . . . . 1.4.4 Formula Assumptions . . . . . . . . 1.4.5 Improper Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 4 4 4 6 6 7 7 2 Summary of Proof Systems 2.1 Propositional Calculus . . . . . . . . . 2.1.1 Assume . . . . . . . . . . . . . . . 2.1.2 Conjunction Introduction . . 2.1.3 Conjunction Elimination . . 2.1.4 Disjunction Introduction . . 2.1.5 Disjunction Elimination . . . 2.1.6 Conditional Introduction . . 2.1.7 Conditional Elimination . . . 2.1.8 Biconditional Introduction . 2.1.9 Biconditional Elimination . 2.1.10 Negation Introduction . . . . 2.1.11 Negation Elimination . . . . . 2.1.12 Substitution . . . . . . . . . . . 2.1.13 PC ` and PC |= . . . . . . . . . 2.2 Non-Quantified Predicate Calculus 2.2.1 = Introduction . . . . . . . . . . 2.2.2 = Elimination . . . . . . . . . . 2.2.3 Substitution . . . . . . . . . . . 2.2.4 FOL ` . . . . . . . . . . . . . . . . 2.3 First-Order Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8 8 8 8 9 9 10 10 10 10 11 11 12 12 12 13 13 13 14 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.0.1 Universal Introduction . 2.3.0.2 Universal Elimination . . 2.3.0.3 Existential Introduction 2.3.0.4 Existential Elimination . 2.4 Modal Logics . . . . . . . . . . . . . . . . . . . . 2.4.1 Necessity Counting . . . . . . . . . . 2.4.2 Modal Rules . . . . . . . . . . . . . . . . 2.4.2.1 Necessity Introduction . 2.4.2.2 Necessity Elimination . . 2.4.2.3 Possibility Introduction . 2.4.2.4 Possibility Elimination . 2.4.2.5 Modal Dualities . . . . . . 2.4.3 Modal Proof Systems . . . . . . . . . 2.4.3.1 T . . . . . . . . . . . . . . . . . 2.4.3.2 K . . . . . . . . . . . . . . . . . 2.4.3.3 S4 . . . . . . . . . . . . . . . . 2.4.3.4 S5 . . . . . . . . . . . . . . . . ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14 14 14 15 15 17 17 17 17 17 17 18 18 18 18 19 Figure 1: The New Workspace prompt. Figure 2: A blank Slate. 1 Starting Slate When Slate is launched, you will be presented with a prompt in which you can choose a proof system for a new workspace or choose to open an existing workspace file. This prompt is shown in Fig. 1. In this primer, we will begin with a workspace using the propositional calculus, so select Propositional Calculus at the prompt, and press OK. Slate will open an empty workspace, a blank slate1 in which arguments will constructed. The workspace will eventually contain logical and meta-logical objects (formulae, proofs, models, &c.) and links between them (premise citations, &c.). 1 We stopped apologizing for this pun long ago. 1 1.1 Putting Formulae in the Workspace Although Slate’s workspace can hold a number of different kind of things, formulae are the most important of these, and will be present almost every time Slate is used. To add a formulae to Slate, right-click2 anywhere in the workspace and select New Formula, or select New Formula from the Edit menu. A dialog will appear, and ask you to complete enough information to place a formulae on the workspace. The Formula field must be filled in with text conforming to Slate’s input syntax, a parenthesized, prefix syntax for formulae. This syntax is summarized in Table 1. The whole process is shown in Fig. 3. If you know in advance what rule will be used to justify the formula, it can be selected now, but the rule can also be changed later, so it’s not all that important what rule is selected now. Terms Standard Syntax Slate Syntax Variables and Constants Compound Terms x , y , z , . . . , a, b, c, . . . f (. . . ) x, y, z, . . . , a, b, c, . . . (f ...) Formulae Standard Syntax Slate Syntax Propositional Variables Atomic Formula Equation Negation Conjunction Disjunction Conditional Biconditional Universal Existential Necessity Possibility P, Q, R, . . . R(. . . ) P, Q, R, . . . (R ...) (= τ1 ...τn ) (not φ ) (and φ1 ... φn ) (or φ1 ... φn ) (if φ ψ) (iff φ ψ) (forall x φ ) (exists x φ ) (nec φ ) (pos φ ) τ1 = · · · = τn ¬φ φ1 ∧ . . . ∧ φn φ1 ∨ . . . ∨ φn φ →ψ φ ↔ψ ∀x φ ∃x φ φ ◊φ Table 1: Slate’s input syntax. 1.2 Removing Formulae from the Workspace Formulae can be removed from the workspace by right clicking and selecting Delete Formula, as shown in Fig. 4, or by selecting the proposition and selecting Delete Formula from the Edit menu. Multiple formulae may be deleted at once in the same manner. In addition, keyboard shortcuts are defined for quickly deleting formulae from the workspace. 2 On OS X with a single button mouse, click while holding Control. 2 Figure 3: Adding a formula to the workspace by right-clicking on the workspace, selecting New Formula, and entering a formula in Slate’s input syntax. The OK button is not enabled until the input text is complete and correctly formed. The new formula appears on the Slate workspace. 3 Figure 4: Remove a formula from the workspace by selecting Delete Formula from its context menu. 1.3 Connecting Formulae An argument is not simply a collection of disconnected formulae standing in no relation to each other; we establish formulae by appealing to other established formulae and well-defined rules of inference. Thus, we need to add and remove connections among formulae in the workspace. When a formula in the workspace is selected, clicking on other formulae in the workspace while holding the Alt key3 will add the latter as a premise of the former. This process is shown in Fig. 5. To remove a premise from a conclusion, select the conclusion formula, and click on the conclusion to remove while holding the Alt key. This process is shown in Fig. 6. 1.4 The Appearance of Formulae You may have noticed by now that some things in the workspace appear in different colors, for instance, the green check marks ( ) and red X’s ( ) in Fig. 5, or that lines appear in different colors and thicknesses. These visual properties of formulae and argument links give valuable information about the proof structures in the workspace. We now examine formulae in the workspace in detail, referring to Fig. 7. ! 1.4.1 % Formula Identifiers Each formula in the workspace has an identifier which is specified in the Name field of the new formula prompt or, if left unspecified, is generated automatically by Slate. In Fig. 7, Slate has automatically assigned the identifier 1 to P while the name “Queue” 3 Alt is also called Option on OS X. 4 Figure 5: After adding the sentences P and Q to the workspace as assumptions and P∧Q, citing the ∧ introduction rule, we need to connect the conclusion to its premises. We select the conclusion, P ∧ Q and then, holding Alt, click on the premises P and Q. Figure 6: To remove R from the premises of P ∧ Q, select P ∧ Q and click on R while holding the Shift key. 5 Figure 7: A small argument illustrating various graphical properties of formulae in the workspace. has been manually specified for Q. Formulae identifiers appear in each formula’s list of in-scope assumptions. For instance, since P ∧ Q is in the scope of the assumptions P and Q, its list of in-scope assumptions is {1, Queue}. 1.4.2 Rule Correctness Indicators Each formula in the workspace is justified by some particular inference rule. If the formula has premises, then the inference rule justifying the formula appears in a box on the link connecting the formula to its premises. If the formula has no premises, the rule appears within the formula node. To the right of the inference rule, either a green check mark or red X appears, indicating whether the formula is correctly justified by the inference rule the formula’s premises. For instance, in Fig. 7, P is correctly justified by Assume, and P ∧ Q is incorrectly justified by ∧ elimination. 1.4.3 Justification and Link Color The links in Fig. 7 appear in two thicknesses and two colors: the link connecting P ∧ Q to its premises is bold and black; the link connecting (P ∧ Q) ∨ R to its premise is bold and blue; and the link connecting Q → ((P ∧ Q) ∨ R) to its premise is thin and black. When one or more formulae in the workspace is selected, the links of the entire argument structure supporting the selected formulae is displayed with bold links. In large argument structures this can help in tracing arguments back to their roots. When one or more formulae in the workspace is selected, the links of the selected 6 Figure 8: In the modal logic K, formulae 2 and 3 may not serve as ultimate conclusions in a proof as their necessity counts are neither 0 nor ∞. To indicate this, these formulae are drawn with a dashed border. formulae to their premises are drawn in blue (and are thick, since they are part of the argument structure supporting the selected formulae). This again can help in tracing conclusions back to their premises in large argument structures. 1.4.4 Formula Assumptions Each formula is within the scope of some set of assumptions. This set of assumptions is automatically determined by Slate, and when it is non-empty, the identifiers of the in-scope assumptions are shown within the formula’s node. For instance, formulae 3 and 4 in Fig. 7 are within the scope of formulae 1 and “Queue.” In addition to displaying the identifiers of a formula’s in-scope assumption in the formula’s node, when formulae are selected in the workspace, their assumptions are drawn with a red double-lined border. Since formula 4 is selected and its assumptions are 1 and “Queue,” the formula nodes of 1 and “Queue” are drawn with the red double-lined borders. 1.4.5 Improper Conclusions In some proof systems, certain formulae may arise that would not be proper conclusions of a proof. For instance, in the modal logic K, only a formula whose necessity count4 is 0 or ∞ may serve as a conclusion of proof. In Fig. 8, the formulae P and P ∨ Q have necessity count 1, and so cannot be the final conclusion of a K proof. This is indicated by their dashed border. 2 Summary of Proof Systems Slate supports a number of proof systems each of which is characterized by the type of formula that it accepts and by its set of inference rules. The full details of these proof systems are covered elsewhere, but we provide here a listing of the proof systems that Slate supports ‘out of the box,’ and their formulae and inference rules. 4 Necessity counting in modal logics is discussed elsewhere. Here it suffices to know that a necessity count is a non-negative integer or ∞. 7 The input syntax for formulae is given in Table 1, and is consistent throughout the proof systems in Slate summarized here. 2.1 Propositional Calculus The formulae of the propositional calculus are propositional variables and formulae built up from them using the boolean connectives ∧, ∨, →, ↔, and ¬. The rules of the propositional calculus are Assume, introduction and elimination rules for each of the connectives, PC `, and PC |=. For most rules of the propositional calculus, the in-scope assumptions of the conclusion of a rule are simply the union of the in-scope assumptions of the premises. For rules where this is not the case, we use the notation Γ ` P to indicate that P is in the scope of assumptions Γ. We will use the notation Γ, Σ as shorthand for Γ ∪ Σ, and Γ, Q for Γ, {Q}. 2.1.1 Assume {P} ` P Assume 1. P {1} Assume ! Figure 9: An assumption introduced by Assume. 2.1.2 Conjunction Introduction From P1 , . . . , Pn , under assumptions Γ1 , . . . , Γn , respectively, P1 ∧ . . . ∧ Pn may be inferred under the assumptions Γ1 , . . . , Γn . Γ1 ` P1 . . . Γn ` Pn ∧ intro Γ1 , . . . , Γn ` P1 ∧ . . . ∧ Pn 2.1.3 Conjunction Elimination From a conjunction P1 ∧ . . . Pn , any individual conjunct Pi may be inferred. Pi is in the scope of the same assumptions that the conjunction P1 ∧ . . . ∧ Pn was. P1 ∧ . . . ∧ Pn ∧ elim Pi 8 1. P ! Q {1} Assume ! ! elim ! ! elim ! 2. Q 3. P {1} {1} ! intro ! 4. Q ! P {1} Figure 10: Conjunction introduction and elimination are used to prove Q ∧ P from P ∧ Q. 2.1.4 Disjunction Introduction From Pi the disjunction P1 ∨ . . . ∨ Pn may be inferred. Pi P1 ∨ . . . ∨ Pn 2.1.5 ∨ intro Disjunction Elimination This rule is also known as proof by cases. From a disjunction P1 ∨ . . . ∨ Pn under assumptions Γ0 and n proofs of some conclusion Q from assumptions Γi , Pi , infer Q under the assumptions Γ0 , . . . , Γn . Γ0 ` P1 ∨ . . . ∨ Pn Γ1 , P1 ` Q . . . Γ0 , . . . , Γn ` Q Γn , Pn ` Q 2. P 4. Q {2} Assume ! {4} Assume ! ! intro ! ! intro ! 1. P ! Q 3. Q ! P 5. Q ! P {1} Assume ! {2} {4} ∨ elim ! elim ! 6. Q ! P {1} Figure 11: The disjunction introduction and elimination rules are used to prove Q ∨ P from P ∨ Q. 9 2.1.6 Conditional Introduction From Q under the scope of assumptions Γ, P, infer P → Q under the scope of assumptions Γ. Γ, P ` Q → intro Γ`P→Q 2.1.7 Conditional Elimination This rule is also known as modus ponens. From P and a conditional P → Q, infer Q. P P→Q → elim Q 1. P ! Q 2. P {1} Assume ! {2} Assume ! ! elim ! 3. Q {1,2} ! intro ! 4. (P ! Q) ! Q {2} ! intro ! 5. P ! ((P ! Q) ! Q) Figure 12: Conditional introduction and elimination are used in proving the theorem P → ((P → Q) → Q). 2.1.8 Biconditional Introduction Γ, P ` Q Σ, Q ` P ↔ intro Γ, Σ ` P ↔ Q 2.1.9 Biconditional Elimination P P↔Q ↔ elim Q Q P↔Q ↔ elim P 10 1. P ! Q 2. P 4. Q {1} Assume ! {2} Assume ! {4} Assume ! ! elim ! ! elim ! 3. Q 5. P {1,2} {1,4} ! intro ! 6. Q ! P {1} Figure 13: Biconditional introduction and elimination rules are used to prove Q ↔ P from P ↔ Q. 2.1.10 Negation Introduction If under the assumption of some formula φ both ψ and ¬ ψ can be derived, derive ¬ φ from the other assumptions from which ψ and ¬ ψ followed. Γ, φ ` ψ Σ, φ ` ¬ ψ ¬ intro Γ, Σ ` ¬ φ 2.1.11 Negation Elimination If under the assumptions of some formula ¬ φ both ψ and ¬ ψ can be derived, derive φ from the other assumptions from which ψ and ¬ ψ followed. Γ, ¬ φ ` ψ Σ, ¬ φ ` ¬ ψ ¬ elim Γ, Σ ` φ 1. A ! B 3. A 2. ¬B 6. ¬C ! B 7. ¬C {1} Assume ! {3} Assume ! {2} Assume ! {6} Assume ! {7} Assume ! ! elim ! ! elim ! 4. B 8. B {1,3} {6,7} ¬ intro ! ¬ elim ! 5. ¬A 9. C {1,2} {2,6} Figure 14: Negation introduction and elimination rules. 11 2.1.12 Substitution This rule justifies a formula produced by uniform substitution of propositional variables of a theorem. (A theorem must be in the scope of no assumptions.) ;`φ Substitution ;`φσ 1. P {1} Assume " ! intro " 2. P ! Q {1} " intro " 3. P " (P ! Q) Substitution ! 5. A ! B Substitution " {1} 4. A " (A ! B) Figure 15: Substitution justifies A → (A ∨ B) from P → (P ∨ Q) since the latter is a theorem. A ∨ B does not follow from P ∨ Q by Substitution, however, for the latter is not a theorem. 2.1.13 PC ` and PC |= These rules justify a conclusion from a set premises if the conclusion is derivable from or a consequence of the premises, respectively. P1 . . . Pn PC |= Q P1 . . . Pn PC ` Q 2.2 Non-Quantified Predicate Calculus The non-quantified predicate calculus is similar to the propositional calculus, but has different atomic formulae, and adds several rules. In the predicate calculus, a term is a variable, constant, or the application of a function symbol to one or more terms, and an atomic formula is a propositional variable, an equation, or an application of a predicate or relation symbol to one or more terms. The non-quantified predicate calculus has introduction and elimination rules for equality, an enhanced version of Substitution, and an provability rule FOL `. 12 Figure 16: When PC ` is used to justify an inference, the resulting proof can be viewed by selecting View Artefact from the formula’s context menu. This resolution-style proof was produced by SNARK when PC ` was used to justify ¬ P from (P → Q) ∧ (Q → R) ∧ ¬ R. Figure 17: When PC |= is used to justify an inference and the conclusion is not a consequence of the premises, a counterexample can be viewed by selecting View Artefact from the formula’s context menu. This counterexample was produced when PC |= was incorrectly used to justify P from (P → Q) ∧ (Q → R) ∧ ¬ R. 2.2.1 = Introduction For any term τ, = introduction may be used to introduce the equation τ = · · · = τ. τ = · · · = τ = intro 2.2.2 = Elimination Given an equation t 1 = · · · = t n and a formula φ, = elimination may be used to infer any variant φ 0 of φ in which any t i has been replaced by any t j . t1 = · · · = tn φ0 2.2.3 φ = elim Substitution This rule is modified to allow uniform substitution for any names (variables, constants, function symbols, and relation symbols) in theorems. 13 FOL ` 2.2.4 This rule is used to justify a conclusion which is derivable using the rules of first-order logic from its premises. As with PC `, proofs may be examined by selecting View Artefact from a correctly justified formula’s context menu. 1. a = b 2. P(a) ! ¬P(a) PC ! ! {1} Assume ! = elim ! 3. P(b) ! ¬P(b) {1} 5. b = b = b = intro ! Substitution ! 4. R(f(c)) ! ¬R(f(c)) Figure 18: Use of equality introduction and elimination and the modified Substitution rules. 2.3 First-Order Logic The formulae and rules of first-order logic are just those of the non-quantified predicate calculus along with universal and existential quantifications and introduction and introduction and elimination rules for these quantifiers. 2.3.0.1 Universal Introduction From a formula φ universal introduction may be used to infer ∀x φ, provided that x does not appear free in any of the in-scope assumptions of φ. Γ`φ ∀ intro Γ ` ∀x φ 2.3.0.2 Universal Elimination From the universal quantification ∀x φ, any instance of φ may be inferred wherein x is uniformly replaced by some term t , provided that no name free in t becomes bound in the process. ∀x φ ∀ elim φ{x → t } 2.3.0.3 Existential Introduction φ ∃ intro ∃x φ 2.3.0.4 Existential Elimination From an existential ∃x φ depending on assumptions Γ and from ψ depending on assumptions Σ an instance of φ whose witness does not appear free in ψ, infer ψ in the scope of Γ, Σ. Γ ` ∃x φ Σ, φ{x → t } ` ψ ∃ elim Γ, Σ ` ψ 14 4. #x P(x) 5. P(b) {4} Assume ! {5} Assume ! " intro ! 1. P(a) " ¬P(a) PC ! ! 6. P(b) " Q(b) ! intro ! 2. !x (P(x) " ¬P(x)) {9} Assume ! # intro ! FOL ! ! 7. #y (P(y) " Q(y)) 10. Q(a) {5} {9} ! elim ! 3. P(b) " ¬P(b) 9. P(a) $ !x (P(x) % Q(x)) {5} # elim ! 8. #y (P(y) " Q(y)) {4} Figure 19: Universal and existential introduction and elimination rules along with FOL `. 2.4 Modal Logics Slate supports six of the most common modal logics, K, T (sometimes called M), S4, and S5. Slate’s proof systems for these logics are mostly in the same style, and introduce a necessity-count associated with each formula in the workspace (much like the propositional calculus and its derivatives have a notion of in-scope assumptions). The differences between the modal proof systems is primarily in the way that necessity counts are computed. For all the modal logics, the formulae are those of the propositional calculus along with those formed by necessity and possibility. 2.4.1 Necessity Counting In the modal proof systems in Slate, each formula is a associated with a necessity count which captures ‘how necessary’ the formula is. The necessity count determines how many times necessity introduction may be applied to the formula. In presenting the modal rules, we indicate that φ has necessity count n by writing φ ( n ). Necessity counts are either a non-negative integer or ∞, and we adopt the convention that ∞ − 1 = ∞ + 1 = ∞. By default, a formula justified by some rule R, unless R is one that affects the necessity count (necessity introduction and elimination), the necessity count of the formula is the minimum of the necessity counts of its nearest ‘ancestors’ not in the scope of any assumption discharged by R, where a branch with no such ancestor count as ∞. This definition is likely not at all transparent, and an example will help to make it clear. Consider the argument structure in Fig. 20. Q is derived using conditional elimination from P and P → Q. Conditional elimination discharges no assumptions, so the nearest ‘ancestors’ not in the scope of any discharged assumption are simply the premises P and P → Q. The necessity count of P is 1 and of P → Q is 2, and 15 the minimum of 1 and 2 is 1, so the necessity count of Q is 1. Formula justified by rules that do not discharge assumptions, and which are not necessity introduction or elimination have as their necessity count the minimum of the necessity count of their premises. When P → Q is inferred from P by conditional introduction, the assumption P is discharged. As a result, the ‘nearest’ ancestors are formula number 5, Pl i f Q with an assumption count of 2, and from the branch starting from the assumption P there is no nearest ancestor, so we take the value ∞. The minimum of ∞ and 2 is of course 2 and this is the necessity count of P → Q. Formulae justified by rules that discharge assumptions get their necessity counts by following the argument backward and finding the nearest ancestors not in the scope of a discharged assumption. Any branch which is completely eliminated contributes ∞. As a special case assumption discharging, correctly justified formulae in the scope of no assumptions (which are theorems) will always have necessity count ∞. 3. !!(P ! Q) {3} Assume ! ! elim ! 4. !(P ! Q) {3} 1 ! 1. !P {1} Assume ! ! elim ! ! elim ! 2. P 5. P ! Q {3} 2 ! {1} 1 ! ! elim ! 6. Q {1,3} 1 ! ! intro ! ! intro ! 7. !P ! Q {3} 2 ! 8. !!(P ! Q) ! Q {1} 1 ! ! intro ! ! intro ! 9. !!(P ! Q) ! ( !P ! Q) "! 10. !P ! ( !!(P ! Q) ! Q) "! Figure 20: An argument illustrating the subleties of necessity counting in light of assumption discharging rules. 16 2.4.2 Modal Rules We will first present the basic forms of the modal rules, and we will then continue to describe the slight variations in rules and in necessity counting that distinguish the various modal systems. 2.4.2.1 Necessity Introduction From a formula φ with a non-zero necessity count necessity introduction permits deriving φ with a necessity count one less than that of φ. φ ( n ) intro φ ( n − 1) 2.4.2.2 Necessity Elimination From a formula φ with a necessity count n , infer φ with necessity count one greater than n . φ ( n ) elim φ ( n + 1) 2.4.2.3 Possibility Introduction cessity count. From a formula φ, infer ◊ φ with the same neφ ◊φ ◊ intro 2.4.2.4 Possibility Elimination The structure of possibility elimination is rather like first-order logic’s existential elimination. From a possibility ◊ φ and a derivation of ψ in the scope of an assumption φ, where the conditional φ → ψ, were it derived by conditional introduction, would have an infinite necessity count, derive ◊ ψ. ◊φ ψ ◊ elim ◊ψ Possibility elimination is intended to the capture line of reasoning that says “φ is possible, and ψ necessarily implies φ, therefore ψ is possible.” The actual form of possibility elimination presented here removes the need to derive the necessary conditional (ψ → φ), but requires the same conditions. 2.4.2.5 Modal Dualities other as follows. The modalities and ◊ can be defined in terms of each ◊φ ≡ ¬¬φ φ ≡ ¬◊¬φ The Modal Dualities rule allows inferring any formula from a premise that is equivalent modulo these definitional equivalents (and double negations). 17 1. ""P 11. !P {1} Assume ! {11} Assume ! " elim ! 8. P {8} Assume ! 6. P ! intro ! {6} Assume ! 2. "P {1} 1 " 9. P ! Q ! intro ! " elim ! ! intro ! 3. P 4. "P ! Q {1} 1 " {1} 2 " 12. "P " ¬!Q {12} Assume ! {8} Modal Dualities ! 7. !P {6} ! elim ! 13. ¬!¬P " "¬Q {12} 10. !(P ! Q) " intro ! {11} 5. "( "P ! Q) {1} Figure 21: The modal rules. 2.4.3 Modal Proof Systems 2.4.3.1 T The modal system T is the simplest modal system. The modal rules all behave exactly as specified above; there are no special cases in the application of the rules or in necessity counting. All formulae are proper conclusions, regardless of their necessity count. T has the property that for any formula φ, φ → φ is a theorem. 1. !! {1} Assume ! ! elim ! 2. ! {1} 1 ! Figure 22: A proof in T of the formula φ →φ. This would not be a proof in K, for in K proper conclusions must have a necessity count of 0 or ∞, but here φ has a necessity count of 1. 2.4.3.2 K K is more restrictive than T. The propositional inference rules may only be applied to formula in T that have the same necessity count, and only formulae with necessity counts of 0 or ∞ are proper conclusions. Though K is rather restrictive, it has the property that every theorem is necessary (often known as the rule of necessitation), and the property that (A → B)→( A → B) (often known as distributivity). 2.4.3.3 S4 S4 is like T, but any formula whose primary logical system is , i.e., any formula φ is automatically assigned an infinite necessity count. This property 18 1. !(A ! B) 3. !A {1} Assume ! {3} Assume ! ! elim ! ! elim ! 2. A ! B {1} 1 ! {3} 1 ! 9. P # ¬P 4. A PC " ! " ! ! elim ! ! intro ! ! intro ! 5. B {1,3} 1 ! 6. !B 7. !A ! !B {1} 1 ! {1,3} ! intro ! 10. !(P # ¬P) "! ! intro ! 8. !(A ! B) ! ( !A ! !B) "! Figure 23: K proofs of necessity distributivity and of necessitation. means that S4 admits a proof of the formula φ → φ. 2.4.3.4 S5 S5 is just like S4, except that all modal formulae, i.e., necessities and possibilities, are assigned infinite necessity counts. This means that in addition to having φ → φ as a theorem, S5 also has ◊ φ → ◊ φ. 19 Index = introduction, 13 ∃ elimination, 14 ∃ introduction, 14 ∀ elimination, 14 ∀ introduction, 14 ∧ elimination, 8 ∧ introduction, 8 → elimination, 10 → introduction, 10 ↔ elimination, 10 ↔ introduction, 10 counting, 15 elimination, 17 introduction, 17 ¬ elimination, 11 ¬ introduction, 11 ∨ elimination, 9 ∨ introduction, 9 ◊ elimination, 17 ◊ introduction, 17 ,6 ,6 countermodel, 13 detachment, 10 disjunction elimination, 9 disjunction introduction, 9 distributivity of , 18 elimination rules biconditional, 10 conditional, 10 conjunction, 8 disjunction, 9 existential, 14 necessity, 17 negation, 11 possibility, 17 universal, 14 equality introduction, 13 existential elimination, 14 existential introduction, 14 % ! first-order logic, 14 FOL `, 14 formulae adding, 2, 3 appearance, 4 assumptions, 7 border, 7 identifiers, 4 removing, 2, 4 Assume, 8 assumptions, 7 in-scope, 7 biconditional elimination, 10 biconditional introduction, 10 border dashed, 7 green !, 6 check mark, 6 colors green, 6 red, 6 conclusions improper, 7 conditional elimination, 10 conditional introduction, 10 conjunction elimination, 8 conjunction introduction, 8 counterexample, 13 improper conclusions, 7 in-scope assumptions, 7 input syntax, 2 introduction rules biconditional, 10 conditional, 10 conjunction, 8 disjunction, 9 equality, 13 20 existential, 14 necessity, 17 negation, 11 possibility, 17 universal, 14 universal elimination, 14 universal introduction, 14 %, 6 K, 18 link black, 6 blue, 6 thick, 6 thin, 6 M, 18 Modal Dualities, 17 modal logics, 15–19 modus ponens, 10 necessitation, 18 necessity counting, 15 necessity elimination, 17 necessity introduction, 17 negation elimination, 11 negation introduction, 11 non-quantified predicate calculus, 12–14 PC |=, 12 PC `, 12 possibility elimination, 17 possibility introduction, 17 premises adding, 4 removing, 4 proof by cases, 9 propositional calculus, 8–12 red % border, 7 ,6 S4, 18 S5, 19 SNARK, 13 Substitution, 12, 13 T, 18 21