J. Burg CSC379 Artificial Intelligence Winter/Spring 2000 Basic Concepts of Formal Logic An interpretation of a wff of propositional logic is an assignment of truth values to the atomic propositions in the wff. A model for a wff of propositional logic is an assignment of truth values to the atomic propositions that makes the wff true. See the book for the definition of an interpretation in predicate logic. A wff of propositional or predicate logic is consistent (i.e., satisfiable) if it is true in some interpretation. A wff is inconsistent (i.e., unsatisfiable) if there is no interpretation that makes it true. You can also talk about the consistency or inconsistency of a set of wffs. (You can think of them as one wff by just "anding" them.) A wff in propositional or predicate logic is valid if it is true in all interpretations. A wff in propositional or predicate logic is invalid if there exists an interpretation that makes it false. Logical implication ⊨ is different from the implication operator →. P ⊨ Q means that for all interpretations in which P is true, Q must also be true. To determine if P ⊨ Q is a true statement, we must consider all possible interpretations of P and Q. If you can show that P ⊨ Q, then you are proving Q. The symbol ⊢ represents a derivation or deduction of a conclusion from some axiom(s). P ⊢ Q can be read "Q is derived from P." Thus, ⊢ represents the application or an inference rule or rules. But is the inference rule you might be using a rule that you can reply on to give you the right conclusions? This is a question of soundness. An inference rule ⊢is sound if P ⊢ Q implies P ⊨ Q. Is the inference rule you might be using strong enough to allow you to derive all the conclusions possible? This is the question of completeness. An inference rule ⊢is complete if P ⊨ Q implies P ⊢ Q. Resolution refutation is complete for propositional calculus. This means that if P ⊨ Q, then P ⊢ Q, where ⊢ represents the application of resolution refutation to the axioms. (Resolution refutation is also complete for predicate calculus.) The question of the decidability of propositional calculus is a question of whether, for some set of axioms P, you can prove that Q is necessarily true (or not necessarily true). (Decidability for predicate logic is defined similarly.) We can say this another way. The question of the decidability of propositional calculus is a question of whether we can prove that some set of axioms P logically implies a conclusion Q (or that P does not logically imply Q). (Decidability for predicate logic is defined similarly.) We can say this yet another way. The question of decidability of propositional calculus is a question of whether we can prove that P → Q is a valid statement (or is not a valid statement). (Decidability for predicate logic is defined similarly.) So, if I were to ask you if propositional calculus is decidable, I would be asking you if the validity of an arbitrary wff in propositional calculus is decidable. The answer is yes. This means that for an arbitrary wff in propositional calculus, we can always determine if the wff is valid or invalid. Another way to say this is that given some set of axioms P and a conclusion Q, we can always show either that P ⊨ Q or P ⊭ Q. (Does this mean that you can always prove either that Q is true or that Q is false? NO. If it mean that, we would be contradicting Godel's Incompleteness Theorem?) Is the validity problem of predicate logic decidable? No, it is semidecidable. Given a set of axioms P and a conclusion Q, if Q is logically implied by P then it is provable in predicate calculus. But if Q is not logically implied by P, you may not be able to prove that. Notice that we said that resolution refutation is complete for predicate logic. Does this contradict what we are saying about the decidability of predicate logic? (No. Resolution refutation can be used to prove P ⊨ Q if indeed P logically implies Q. But in the case where P does NOT logically imply Q, resolution refutation may not be able to prove P ⊭ Q.) To use resolution refutation in either propositional or predicate logic, you have to convert the axioms to clausal form. A clause has only "ors" in it. It is a disjunction. Thus, a set of clauses, all of which are assumed to be true, make up a conjunction of disjunctions (i.e., the "anding" together of wffs each of which has only "ors" in it.) Any wff in propositional logic can be converted to a clause with equivalent truth value. You can't transform every wff in predicate logic to a clause with equivalent truth value. However, you can convert every wff P to a clausal form P′ (i.e., a conjunction of disjunctions) such that if P′ ⊨ Q, then P ⊨ Q. So you can use resolution refutation on the clauses to prove Q. (See the book for the procedure for transformation.) Godel's completeness theorem: In predicate calculus, if P ⊨ Q, then it will be possible to prove it. (Does this contradict our observation that predicate calculus is semidecidable? No.) Godel's incompleteness theorem: In any formal axiomatic system rich enough to capture arithmetic on the natural numbers (e.g. the axioms of predicate calculus combined with Peano's axioms), there exist theorems that are true but that cannot be proven. See the handouts for a fuller explanation.