Predicate Logic: Semantics, Interpretations and Environments
Total Page:16
File Type:pdf, Size:1020Kb
Warm-Up Problem Determine 훼[(푦 − 푧)/푥] where 훼 =def (∃푧 (푃 (푧) → (푄(푥, 푦) ∧ (∀푦 (푃 (푦) ∨ (∃푥 푃 (푥))))))) with 푃 (1) and 푄(2) predicates and 푥, 푦, 푧 variables. 1/48 Predicate Logic: Semantics, Interpretations and Environments Carmen Bruni Lecture 11 Based on slides by Jonathan Buss, Lila Kari, Anna Lubiw and Steve Wolfman with thanks to B. Bonakdarpour, A. Gao, D. Maftuleac, C. Roberts, R. Trefler, and P. Van Beek . Predicate Logic Semantics 2/48 Last Time • Did another substitution example (Please Review!) • Discussed Interpretations with respect to Predicate Logic . Predicate Logic Semantics 3/48 Learning Goals • Define an interpretation and an environment. • Give examples of interpretations and environments in specific situations. • Define validity, satisfiable and unsatisfiable. Predicate Logic Semantics 4/48 Leading Question Given a well-formed Predicate logic formula, is it T or F in some context? • In Propositional logic, a truth valuation was enough to assign a meaning to our atoms (propositional variables) • In Predicate logic, we need a lot more. Predicate Logic Semantics 5/48 However, if we consider an interpretation 풥 satisfying 푃 (푥, 푥) is 푥 is greater than 푥 and still consider the domain 풟 = {1}, then 훼 is false under this interpretation. We will formalize the notation of interpretations (and later environments) and explain what it means for a Predicate logic formula to be valid, satisfiable, and unsatisfiable. Motivating Example For example, if we consider the formula (for 푃 (2) a predicate symbol and variable 푥) 훼 =def (∀푥 푃 (푥, 푥)) and we use an interpretation ℐ of 푃 (푥, 푥) to mean 푥 is equal to 푥 and consider a domain 풟 = {1}, then indeed, 훼 is true under this interpretation. Predicate Logic Semantics 6/48 We will formalize the notation of interpretations (and later environments) and explain what it means for a Predicate logic formula to be valid, satisfiable, and unsatisfiable. Motivating Example For example, if we consider the formula (for 푃 (2) a predicate symbol and variable 푥) 훼 =def (∀푥 푃 (푥, 푥)) and we use an interpretation ℐ of 푃 (푥, 푥) to mean 푥 is equal to 푥 and consider a domain 풟 = {1}, then indeed, 훼 is true under this interpretation. However, if we consider an interpretation 풥 satisfying 푃 (푥, 푥) is 푥 is greater than 푥 and still consider the domain 풟 = {1}, then 훼 is false under this interpretation. Predicate Logic Semantics 6/48 Motivating Example For example, if we consider the formula (for 푃 (2) a predicate symbol and variable 푥) 훼 =def (∀푥 푃 (푥, 푥)) and we use an interpretation ℐ of 푃 (푥, 푥) to mean 푥 is equal to 푥 and consider a domain 풟 = {1}, then indeed, 훼 is true under this interpretation. However, if we consider an interpretation 풥 satisfying 푃 (푥, 푥) is 푥 is greater than 푥 and still consider the domain 풟 = {1}, then 훼 is false under this interpretation. We will formalize the notation of interpretations (and later environments) and explain what it means for a Predicate logic formula to be valid, satisfiable, and unsatisfiable. Predicate Logic Semantics 6/48 Brief Definition An interpretation consists of a domain as well as meanings for all of the constant, function and predicate symbols. Huth and Ryan use the term “model” instead of “interpretation”. More formally... Predicate Logic Semantics 7/48 Semantics: Interpretations Definition: Fix a set ℒ of constant symbols, function symbols, variable symbols and predicate symbols. (The “language” of our formulas.) An interpretation ℐ (for the set ℒ) consists of • A non-empty set dom(ℐ) or 풟ℐ or more simply 풟 , called the domain (or universe) of ℐ. • For each constant symbol 푐, a member 푐ℐ of dom(ℐ). • For each function symbol 푓(푖), an 푖-ary function 푓ℐ. • For each predicate symbol 푃 (푖), an 푖-ary predicate (relation) 푃 ℐ. When there are no variables and no quantifiers, this is more than enough to specify meaning to a formula. Predicate Logic Semantics 8/48 High Brow Comment Technically, our language should have all of the variable symbols we will ever need. In practice this is a bit cumbersome so we will usually forgo including variables in our language explicitly and simply use them as they appear in our formulas. Predicate Logic Semantics 9/48 Values of Variable-Free Terms Definition: Fix an interpretation ℐ. For each term 푡 containing no variables, the value of 푡 under interpretation ℐ, denoted 푡ℐ, is as follows. • If 푡 is a constant 푐, the value 푡ℐ is 푐ℐ. ℐ ℐ ℐ ℐ • If 푡 is 푓(푡1, … , 푡푛), the value 푡 is 푓 (푡1, … , 푡푛). The value of a term is always a member of the domain of ℐ. For example, consider 푓 a unary function and 0 a constant. If we have an interpretation ℐ with domain ℕ, 0ℐ the usual zero and 푓ℐ the usual successor function (increment by 1), then 푓(0)ℐ = 푓ℐ(0ℐ) = 1 . Predicate Logic Semantics 10/48 Watch out! Notice that in the previous example, even though we used the constant symbol 0, we still needed to specify that the interpretation of 0 is indeed the usual zero. For example, consider 푓 a unary function and 0 a constant. If we have an interpretation ℐ with domain ℕ, 0ℐ to be the usual number 1 and 푓ℐ the usual successor function (increment by 1), then 푓(0)ℐ = 푓ℐ(0ℐ) = 2 While doable, this is not advised... Predicate Logic Semantics 11/48 Clarity Most of these issues are taken care of by not using a symbol that could be misinterpreted as being in the domain. For example, consider 푓 a unary function and 푎 a constant. If we have an interpretation ℐ with domain ℕ, 푎ℐ to be the usual number 1 and 푓ℐ the usual successor function (increment by 1), then 푓(푎)ℐ = 푓ℐ(푎ℐ) = 2 . Predicate Logic Semantics 12/48 Total Function Another issue arises that your function’s interpretation must be defined on the entire domain! for a function with arity 푘, we need to define an interpretation such that the function 푓ℐ satisfies: 푓ℐ ∶ 풟푘 → 풟 that is, every 푘-tuple from the domain must map into the domain. Such functions capable of doing this are called total functions. • For example, the usual addition over the natural numbers is total since the sum of any two natural numbers gives another natural number. • However, the usual subtraction over the natural numbers is not total. For example, we cannot perform 2 − 6 and get a natural number. • Similarly, square roots over the integers (or even the real numbers!) is not a total function since the square root of −1 is not an integer (or a real number). Predicate Logic Semantics 13/48 Formulas with Variable-Free Terms Formulas get values in much the same fashion as terms, except that values of formulas lie in {T, F}. Definition: Fix an interpretation ℐ. For each formula 훼 containing no variables, the value of 훼 under interpretation ℐ, denoted 훼ℐ, is as follows. • If 훼 is 푃 (푡1, … , 푡푛), then {⎧T if ⟨푡ℐ , … , 푡ℐ ⟩ ∈ 푃 ℐ 훼ℐ = 1 푛 ⎨ ⎩{F otherwise. • If 훼 is (¬훽) or (훽 ⋆ 훾), then 훼ℐ is determined by 훽ℐ and 훾ℐ in the same way as for propositional logic. Predicate Logic Semantics 14/48 Example Let 푓(1) and ℎ(2) be function symbols. Let 푃 (1) and 푄(2) be predicate symbols and let 푎, 푏, 푐 be constant symbols. Define an interpretation by: • Domain: 풟 = {1, 2, 3} • Constants: 푎ℐ = 1, 푏ℐ = 2, 푐ℐ = 3 • Functions: 푓ℐ ∶ 푓ℐ(1) = 2, 푓ℐ(2) = 3, 푓ℐ(3) = 1 • ℎℐ ∶ (푥, 푦) ↦ min{푥, 푦} (min is the minimum function) • Predicates: 푃 ℐ = {1, 3} • 푄ℐ = {⟨1, 2⟩, ⟨3, 3⟩, ⟨3, 1⟩} What is the meaning of each of these formulas in this interpretation? • 푓(ℎ(푓(푎), 푓(푐)))ℐ • 푓(ℎ(푏, 푓(푎)))ℐ • 푄(푓(푐), 푎)ℐ ℐ • 푃 (ℎ(푓(푎), 푓(푐))) . Predicate Logic Semantics 15/48 Notice that 푓(푐)ℐ = 1 and 푎ℐ = 1. So if we set 풥 = ℐ except we define 푄풥 = {⟨1, 1⟩} then we see that ⟨푓풥 (푐풥 ), 푎풥 ⟩ ∈ 푄풥 . Follow Ups We saw that under ℐ we have that ⟨푓ℐ(푐ℐ), 푎ℐ⟩ ∉ 푄ℐ. Is there another interpretation 풥 such that ⟨푓풥 (푐풥 ), 푎풥 ⟩ ∈ 푄풥 ? . Predicate Logic Semantics 16/48 Follow Ups We saw that under ℐ we have that ⟨푓ℐ(푐ℐ), 푎ℐ⟩ ∉ 푄ℐ. Is there another interpretation 풥 such that ⟨푓풥 (푐풥 ), 푎풥 ⟩ ∈ 푄풥 ? Notice that 푓(푐)ℐ = 1 and 푎ℐ = 1. So if we set 풥 = ℐ except we define 푄풥 = {⟨1, 1⟩} then we see that ⟨푓풥 (푐풥 ), 푎풥 ⟩ ∈ 푄풥 . Predicate Logic Semantics 16/48 Notice that 푓(푐)ℐ = 1 and 푓(푎)ℐ = 2 and so ℎ(푓(푎), 푓(푐))ℐ = 1. Thus, if we set 풦 = ℐ except we define 푃 풦 = ∅ so that 1 ∉ 푃 풦, we see that 푃 (ℎ(푓(푎), 푓(푐)))풦 = F. Follow Ups We saw that under ℐ we have that 푃 (ℎ(푓(푎), 푓(푐)))ℐ = T. Is there another interpretation 풦 such that 푃 (ℎ(푓(푎), 푓(푐)))풦 = F? . Predicate Logic Semantics 17/48 Follow Ups We saw that under ℐ we have that 푃 (ℎ(푓(푎), 푓(푐)))ℐ = T. Is there another interpretation 풦 such that 푃 (ℎ(푓(푎), 푓(푐)))풦 = F? Notice that 푓(푐)ℐ = 1 and 푓(푎)ℐ = 2 and so ℎ(푓(푎), 푓(푐))ℐ = 1.