The Language of Predicate Logic

advertisement
Predicate Logic
Alphabet: The Language of Predicate Logic
A set of Individual Constants: Con = {a, b, c, …}
A set of Variables: Var = {x, y, z, …}
A set of Function Symbols: Fn = {f, g, …}
A set of Predicate Symbols: Pr = {P, Q, …}
Logical Connectives: , , , , 
Two Quantifiers: , 
An Identity Predicate: =
Individual Constants
Individual constants are used to denote objects. These objects can be anything. A single object
can be denoted by multiple individual constants, reflecting the fact that objects can have multiple
names. On the other hand, any individual constant can only denote one object. So, the use of two
different constants ‘a’ and ‘b’ does not mean that we are dealing with two different objects.
However, every use of ‘a’ must consistently refer to the same object.
Variables
Variables are also used to denote objects, but not a specific one. That is, a variable can be used to
denote some arbitrary object, just like variables in mathematics.
Functions and Predicates
Functions and predicates take an arbitrary but finite number of arguments. The difference
between functions and predicates is that a function picks out some object given some other
objects, whereas a predicate expresses that some object has some property or that some objects
stand in some kind of relationship. Thus, predicates will be used to denote claims, whereas
functions are used to denote objects. For example, with ‘father’ a function symbol used to denote
the mapping from objects to their father, ‘father(a)’ picks out the object that is the father of ‘a’.
On the other hand, with ‘Father’ a 2-place relationship denoting that the first argument is the
father of the second argument, ‘Father(a, b)’ denotes the claim that ‘a’ is the father of ‘b’.
The number of arguments is called the arity of that function and predicate. A function and
predicate with arity n is also called an n-place function and predicate. One can allow for 0-place
functions and predicates; a 0-place function would take the role of an individual constant, while a
0-place predicate takes the role of an atomic proposition. However, for simplicity sake, it will be
assumed from now on that the arity of any function or predicate is greater than 0. A special 2place predicate is ‘=’, which will always be used to denote the identity relationship.
Quantifiers
There are two quantifiers: the universal quantifier  and the existential quantifier . The
universal quantifier  is used to make a statement about all relevant objects, whereas the
existential statement is used to make a statement about some relevant objects (‘some’ meaning ‘at
least one’).
Syntax: Terms, Well-Formed Formulas, and Sentences
Terms
The arguments of predicates and functions are terms. Terms are used to denote objects. Terms are
recursively defined as follows:
1. Basic Terms: Every individual constant and variable is a term.
2. Complex Terms: With t1, …, tn terms and f a function, f(t1, …, tn) is a term.
Well-Formed Formulas (wff’s)
A well-formed formula is recursively defined as follows:
1. Atomic wff’s: With t1, …, tn terms and P a predicate, P(t1, …, tn) is a wff.
2. Complex wff’s: With  wff’s and v a variable:
a.  is a wff.
b.    is a wff
c.    is a wff
d.    is a wff
e.    is a wff
f. v  is a wff
g. v  is a wff
Sentences
A wff of the form v  is a universally quantified wff. A wff of the form v  is an existentially
quantified wff. In both wff’s v is called the quantified variable, and  is the scope of the
quantifier. Every instance of a variable that is within the scope of a quantifier that quantifies that
variable is said to be bound by that quantifier, except when it is already within the scope of
another quantifier within  that quantifies that variable. Any variable that is not bound by any
quantifier is called free. A sentence is any wff that does not contain any free variables. A sentence
of the form v  is called a universal quantification. A sentence of the form v  is an existential
quantification.
Example: In the wff x { P(x)  y [ S(y)  T(z)  y (R(x,y)  R(x,z))]}, all instances of x
are bound by the first quantifier, the y in S(y) is bound by the second quantifier, the y in R(x,y) is
bound by the third quantifier, and both instances of z are free. Hence, this wff is not a sentence.
Semantics: Interpretations and Evaluations
Interpretations
An interpretation I for a language L consists of the following:
1. A domain, or universe of discourse D. D is some non-empty set of objects.
2. A mapping I : Con  D
3. A mapping I : Fn  Fun, where Fun is the set of all n-place functions from Dn to D for
all n, such that if I(f) = f’ and n is the arity of f, then f’ is some mapping f’: Dn D
4. A mapping I : Pr  Pred, where Pred is the set of all subsets of Dn for all n, such that if
I(P) = P’ and n is the arity of P, then P’  Dn
Evaluating Terms given some Interpretation
Given some interpretation I for language L, we can recursively define a mapping from variablefree terms of L to objects in D:
1. I(f(t1, …, tn)) = f’(I(t1), …, I(tn)) where IFn(f) = f’
Evaluating Sentences given some Interpretation
Given some interpretation I for language L, we can recursively define a mapping from sentences
of L to {True, False}:
1.
2.
3.
4.
5.
6.
7.
8.
9.
I(P(t1, … tn)) = True iff < I(t1), …, I(tn)>  P’ where I(P) = P’
I(t1 = t2) = True iff I(t1) = I(t2)
I() = True iff I() = False
I(  ) = True iff I() = True and I() = True
I(  ) = True iff I() = True or I() = True
I(  ) = True iff I() = False or I() = True
I(  ) = True iff I() = I()
I(v ) = True iff I([d]) = True for every d  D
I(v ) = True iff I([d]) = True for some d  D
In 8 and 9, I ([d]) is short for I[d/a]([a/v]), where ‘a’ is an individual constant symbol that does
not appear in L, where I[d/a] is called a modified interpretation which is an interpretation for the
extended language L  {a} and that will be the same as I, except that ‘a’ will be mapped to d, and
where [a/v] is the result of substituting individual constant ‘a’ for all instances of variable v
bound by the quantifier that is being dropped in the application of 8 or 9.
When I([d]) = True, we say that d satisfies wff (x).
Models, FO Consequence, Tautology, Equivalence, and Consistency
Models
An interpretation I for a sentence  is a model for  iff I() = True. An interpretation I for a set of
sentences  is a model for  iff I() = True for all   . If I is a model for  (or ), then I is said
to satisfy  (or ). We will write this as I ⊨  (or I ⊨ ). If for some interpretation I it holds true
that if I ⊨  then I ⊨ , then we write  ⊨I .
First-Order Consequence
A sentence  is a first-order consequence of a set of sentences  iff for any interpretation I for
{}:  ⊨I . Thus,  is a first-order consequence of a set of sentences  iff there exists no
interpretation I for {} such that I is a model for  while I() = false.
If  is a first-order consequence of a set of sentences , then we write  ⊨ . (to explicitly
differentiate this from truth-functional consequence, we can use  ⊨FO  and  ⊨TF 
respectively.)
A sentence  is a first-order consequence of a sentence  iff for any interpretation I for {, }: if
I is a model for , then I is a model for . We’ll write this as   .
First-Order Tautology
A sentence  is a first-order tautology iff any interpretation I for  is a model for . Obviously, 
is a first-order tautology iff {} ⊨ . This we’ll abbreviate as ⊨ .
First-Order Equivalence
Two sentences  and  are first-order equivalent iff they are first-order consequences of each
other, i.e. iff    and   . We’ll write this as   .
First-Order Consistency
A set of sentences  is first-order consistent iff there exists a model for .
Some Important Equivalences
Quantifier Negation:
With (x) a wff with x as a possible free variable:
1a. x (x)  x (x)
1b. x (x)  x (x)
Null Quantification:
With  a sentence (and hence having no free variables)
2a. x   
2b. x   
Replacing Bound Variables:
With (x) a wff with x as a possible free variable, and with (y) the result of substituting all free
instances of x with y:
3a. x (x)  y (y)
3b. x (x)  y (y)
Aristotelean Square of Opposition:
4a. x ((x)  (x))  x ((x)  (x))
4b. x ((x)  (x))  x ((x)  (x))
Quantifier Distribution:
5a. x ((x)  (x))  x (x)  x (x)
5b. x ((x)  (x))  x (x)  x (x)
Prenex Laws
For conjunction and disjunction (generalize to generalized conjunctions and disjunctions):
6a1. x ((x)  )  x (x)  
6a2. x ((x)  )  x (x)  
6b1. x ((x)  )  x (x)  
6b2. x ((x)  )  x (x)  
For conditional:
6c1. x ((x)  )  x (x)  
6c2. x ((x)  )  x (x)  
6d1. x (  (x))    x (x)
6d2. x (  (x))    x (x)
Download