<<

Formal : Quantifiers, Predicates, and

CS 130 – Discrete Structures Variables and Statements

• Variables: A variable is a that stands for an individual in a collection or . For example, the variable x may stand for one of the days. We may let x = Monday, x = Tuesday, etc.

• We normally use letters at the end of the alphabet as variables, such as x, y, z.

• A collection of objects is called the domain of objects. For the above example, the days in the week is the domain of variable x.

CS 130 – Discrete Structures 55 Quantifiers

• Propositional wffs have rather limited expressive power. E.g., “For every x, x > 0”.

• Quantifiers: Quantifiers are phrases that refer to given quantities, such as "for some" or "for all" or "for every", indicating how many objects have a certain property.

• Two kinds of quantifiers: – Universal : represented by , “for all”, “for every”, “for each”, or “for any”. – Existential Quantifier: represented by , “for some”, “there exists”, “there is a”, or “for at least one”.

CS 130 – Discrete Structures 56 Predicates

: It is the verbal statement which describes the property of a variable. Usually represented by the letter P, the notation P(x) is used to represent some unspecified property or predicate that x may have. – P(x) = x has 30 days. – P(April) = April has 30 days. – What is the of (x)P(x) where x is all the months and P(x) = x has less than 32 days

• Combining the quantifier and the predicate, we get a complete statement of the form (x)P(x) or (x)P(x) • The collection of objects is called the domain of , and it must contain at least one object.

CS 130 – Discrete Structures 57 Truth Values of the Expressions

• What is the truth value of (x)P(x) in the following interpretations? – P(x): x is yellow; the domain of interpretation is the collection of all flowers. – P(x): x is a plant; the domain of interpretation is the collection of all flowers. – P(x): x is either positive or negative; the domain of interpretation consists of the integers. • Can you find one interpretation in which both (x)P(x) is true and (x)P(x) is false? • Can you find one interpretation in which both (x)P(x) is true and (x)P(x) is false?

CS 130 – Discrete Structures 58 Unary, Binary,…, N-ary Predicates

• Predicates involving properties of a single variable: unary predicates • Binary, ternary and n-ary predicates are also possible • (x) (y)Q(x,y) is a binary predicate. This expression reads as “for every x there exists a y such that Q(x,y)” • Assume Q(x,y) is the property that x < y, what’re the interpretations? – ( x)( y) Q(x, y), ( y) ( x) Q(x, y), and ( x)( x) Q(x, x) – We cannot collapse separate variables together into one without changing the nature of the expression

• Constants are also allowed in expressions, such as a, b, c, 0, 1, 2, etc.

CS 130 – Discrete Structures 59 Interpretation

• Formal definition: An interpretation for an expression involving predicates consists of the following: – A collection of objects, called domain of interpretation, which must include at least one object. – An assignment of a property of the objects in the domain to each predicate in the expression. – An assignment of a particular object in the domain to each constant symbol in the expression.

• Predicate wffs can be built similar to propositional wffs using logical connectives with predicates and quantifiers. • Must obey the rules of to be considered a wff

• Examples of predicate wffs – (x)[P(x)  Q(x)] – (x) ((y)[P(x,y) V Q(x,y)]  R(x)) – S(x,y) Λ R(x,y) CS 130 – Discrete Structures 60 of a Variable in an Expression

• The parentheses or brackets are used wisely to identify the scope of the variable. – (x) ((y)[P(x,y) V Q(x,y)]  R(x)) • Scope of (y) is P(x,y) V Q(x,y) while the scope of (x) is the entire expression – (x)S(x) V (y)R(y) • Scope of (x) is S(x) while the scope of (y) is R(y) – (x)[P(x,y)  (y) Q(x,y)] • Scope of variable y is not defined for P(x,y) hence y is called a free variable. Such expressions might not have a truth value at all. • P(x): x > 0; P(y)^ P(5), P(y) V P(5).

– What is the truth of the wff (x)(A(x) Λ (y)[B(x,y)  C(y)]) , where A(x) is “x > 0” , B(x, y) is “x > y”, C(y) is “y  0”, and x is the domain of positive integers and y is the domain of all integers?

CS 130 – Discrete Structures 61 Translation of Verbal Statements to Symbolic Form Using Intermediate Statements

• “Every person is nice” can be rephrased as “For any thing, if it is a person, then it is nice”. So, if P(x) is “x is a person” and Q(x) be “x is nice”, the statement can be symbolized as – (x)[P(x)  Q(x)] • Variations: “All persons are nice” or “Each person is nice”. • “There is a nice person” can be rewritten as “There exists that is both a person and nice” in symbolic form – (x)[P(x) Λ Q(x)] • Variations: “Some persons are nice” or “There are nice persons”

• What would the following forms mean for the example above? – (x) [P(x) Λ Q(x)] is too strong – (x)[P(x)  Q(x)] will be true if there are no persons in the world but that is not the case. • So almost always,  goes with Λ (conjunction) and  goes with  (implication) • Can be confusing, so remember to frame the statement in different forms as possible

CS 130 – Discrete Structures 62 More On Translation

• The word “only” can be tricky depending on its presence in the statement: – X loves only Y  If X loves anything, then that thing is Y – Only X loves Y  If anything loves Y, then it is X – X only loves Y  If X does anything to Y, then it is love • Example for forming symbolic forms from predicate symbols: – D(x) is “x is dog” – R(x) is “x is a rabbit” – C(x,y) is “x chases y” • All dogs chase all rabbits  – For anything, if it is a dog, then for any other thing, if it is a rabbit, then the dog chases it  (x)[D(x)  (y)(R(y)  C(x,y))] • Some dogs chase all rabbits  – There is something that is a dog and for any other thing, if that thing is a rabbit, then the dog chases it  (x)[D(x) Λ (y)(R(y)  C(x,y))] • Only dogs chase rabbits  – For anything, if it is a rabbit then, if anything chases it, that thing is a dog  (y) [R(y)  (x) (C(x, y)  D(x))] – Or, for any two things, if one is a rabbit and the other chases it, then the other is a dog  (y) (x)[R(y) Λ C(x,y)  D(x)] CS 130 – Discrete Structures 63 of Statements

• A(x): Everything is beautiful – Negation will be “it is false that everything is beautiful”, i.e. “something is not beautiful” – In symbolic form, [(x)A(x)]’  (x)[A(x)]’ – Similarly, negation of “Something is beautiful” is “Nothing is beautiful” or “Nothing is beautiful” – Hence, [(x)A(x)]’  (x)[A(x)]’

• What is the negation of “Everybody loves somebody sometime” – Everybody hates somebody sometime – Somebody loves everybody all the time – Everybody hates everybody all the time – Somebody hates everybody all the time

CS 130 – Discrete Structures 64 More Examples on Negation

• What is the negation of the following statements? – Some pictures are old and faded. • Every picture is not old or not faded. – All people are tall and thin. • Someone is short or fat. – Some students eat only pizza. • Every student eats something which is not a pizza – Only students eat pizza. • There is a non-student who eats pizza.

CS 130 – Discrete Structures 65 Exercises

• S(x): x is a student For anything, if it is a student, then it is • I(x): x is intelligent intelligent  (x)[S(x)  I (x)] • M(x): x likes music There is something that is intelligent and it is a student and it likes • Write wffs than express music  (x)[I(x) Λ S(x) Λ M(x)] the following statements: – All students are For anything, if that thing likes music, intelligent. then it is a student and it is not – Some intelligent intelligent  students like music. (x)(M(x)  S(x) Λ [I (x)]´) – Everyone who likes music is a stupid For any thing, if it likes music, then it student. is a student and it is intelligent  – Only intelligent students (x)(M(x)  S(x) Λ I(x)) like music.

CS 130 – Discrete Structures 66 Validity

• Analogous to a of propositional logic • Truth of a predicate wff depends on the interpretation • A predicate wff is valid if it is true in all possible interpretations just like a propositional wff is true if it is true for all rows of the • A valid predicate wff is intrinsically true

Propositional Wffs Predicate Wffs

Truth Values True or false – depends on True, false or neither(if the the truth value of statement wff has a free variable) letters Intrinsic truth Tautology- true for all truth Valid wff- true for all values of its statements interpretations

Methodology Truth table to determine if it No to determine is a tautology validity

CS 130 – Discrete Structures 67 Validity Examples

• (x)P(x)  (x)P(x) – This is valid because if every object of the domain has a certain property, then there exists an object of the domain that has the same property. Therefore, whenever the antecedent is true, so is the consequent, and the implication is therefore true. • (x)P(x)  P(a) – Valid – quite obvious since a is a member of the domain of X. • (x)P(x)  (x)P(x) – Not valid since the property cannot be valid for all objects in the domain if it is valid for some objects of than domain. Can use a mathematical to check as well. Say P(x) = “x is even”, then there exists an integer that is even but not every integer is even. • How about (x)[P(x) V Q(x)]  (x)P(x) V (x)Q(x) – Invalid, can prove by mathematical context by taking P(x) = x is even, Q(x) = x is odd. In that case, the hypothesis is true but not the conclusion is false because it is not the case that every integer is even or that every integer is odd.

CS 130 – Discrete Structures 68 More Examples

• What’s the validity? – (x)[P(x) ^ Q(x)]  (x)P(x) ^ (x)Q(x) – P(x)[Q(x)P(x)]

CS 130 – Discrete Structures 69 Class Exercises

• What is the truth of the following wffs where the domain consists of integers: – (x)[L(x)  O(x)] where O(x) is “x is odd” and L(x) is “x < 10” – (y)(x)(x + y = 0) – (y)(x)(x2 = y) – (x)[x < 0  (y)(y > 0 Λ x + y = 0)] • Using predicate symbols and appropriate quantifiers, write the symbolic form of the following English statement: – D(x) is “x is a day”; M is “Monday”; T is “Tuesday”. – S(x) is “x is sunny”; R(x) is “x is rainy”. – Some days are sunny and rainy – It is always a sunny day only if it is a rainy day – It rained both Monday and Tuesday – Every day that is rainy is not sunny

CS 130 – Discrete Structures 70 Answers

• D(x) is “x is a day”; M is “Monday”; T is “Tuesday”. • S(x) is “x is sunny”; R(x) is “x is rainy”.

• Some days are sunny and rainy – (x) S(x) Λ R(x) Λ D(x) • It is always a sunny day only if it is a rainy day – (x) [S(x) Λ D(x)  R(x) Λ D(x)] • It rained both Monday and Tuesday – R(M) Λ R(T) • Every day that is rainy is not sunny – (x) [R(X) Λ D(x)  S’(x)]

CS 130 – Discrete Structures 71 Formal Logic -- Predicate Logic

CS 130 – Discrete Structures Valid

• (P1 Λ P2 Λ ... Λ Pn)  Q – where the wffs are built from predicates and quantifiers as well as logical connectives and grouping symbols – no equivalent of the truth table exists to prove validity – the meaning and the structure of the quantifiers and predicates determines the interpretation and the validity of the – Predicate logic: 4 more new derivation rules to build a proof sequence leading from the hypothesis to the conclusion – The equivalence rules and rules still applies • Why predicate logic? More rules? – A valid argument for predicate logic need not be a tautology to be valid – Example: (x)P(x)  (x)P(x) – Hence: we need to learn 4 new rules

CS 130 – Discrete Structures 73 Steps To Prove the Validity

• Basic approach to prove arguments: • Strip off quantifiers • Manipulate the unquantified wffs • Reinsert the quantifiers • Four new inference rules

Two rules to strip the quantifiers Two rules to reinsert the quantifiers

CS 130 – Discrete Structures 74 Inference Rules in Predicate Logic

From Can Derive Name / Restrictions on Use Abbreviation (x)P(x) P(t) where t is a Universal If t is a variable, it must not variable or constant Instantiation- ui fall within the scope of a symbol quantifier for t (x)P(x) P(t) where t is a Existential Must be the first rule used variable or constant Instantiation- ei that introduces t symbol not previously used in a proof sequence P(x) (x)P(x) Universal P(x) has not been deduced Generalization- ug from any hypotheses in which x is a free variable nor has P(x) been deduced by ei from any wff in which x is a free variable P(x) or (x)P(x) Existential To go from P(a) to (x)P(x), P(a) Generalization- eg x must not appear in P(a)

CS 130 – Discrete Structures 75 (1)

• This rule says if P is true for every of the domain, we can name such an element by an arbitrary variable name like x, y, or z, or we can specify a particular constant in the domain, and P is still true for all these things. • Example: – All flowers are plants. Sunflower is a flower. Therefore, sunflower is a plant. – P(x) is “ x is a plant” – a is a constant symbol (Sunflower) – F(x) is “x is a flower” – The argument is (x)[F(x)  P(x)] Λ F(a)  P(a) • The proof sequence is as follows: 1. (x)[F(x)  P(x)] hyp 2. F(a) hyp 3. F(a)  P(a) 1, ui 4. P(a) 2, 3, mp

CS 130 – Discrete Structures 76 Universal Instantiation (2)

• Restriction: (x)P(x) derives P(t), t must not fall within the scope of a quantifier for t • Without this restriction: – a hypothesis of the form (x) (y) P(x, y) could lead to the wff (y) P(y, y) – this is invalid – considering when P(x, y) means “y > x”

CS 130 – Discrete Structures 77 Example

• Prove the argument: – (x)[P(x)  Q(x)] Λ [Q(y)]’  [P(y)]’

• Proof sequence: 1. (x)[P(x)  Q(x)] hyp 2. [Q(y)]’ hyp 3. P(y)  Q(y) 1, ui 4. [P(y)]’ 2, 3, mt

CS 130 – Discrete Structures 78 Existential Instantiation

• It says that from (x)P(x) we can derive P(a), P(b) or P(c), provided that these are new constant symbols.

• The following proof sequence is legitimate: 1. (x)[P(x) -> Q(x)] hyp 2. (y)P(y) hyp 3. P(a) 2, ei 4. P(a)->Q(a) 1, ui 5. Q(a) 3, 4, mp – However, step 3 and 4 cannot be reversed – So, look at your hypotheses, if you plan to use ei on any of them, do it first.

CS 130 – Discrete Structures 79

• P(x) derives (x)P(x) when x is absolutely arbitrary • Example: (x)[P(x)  Q(x)] Λ (x)P(x)  (x)Q(x) • Proof sequence: 1. (x)[P(x)  Q(x)] hyp 2. (x)P(x) hyp 3. P(x)  Q(x) 1, ui 4. P(x) 2, ui : no restriction on UI about reusing a name 5. Q(x) 3, 4, mp 6. (x)Q(x) 5, ug

• Note: step 6 is legitimate since x is not a free variable in any hypothesis nor was ei used before

CS 130 – Discrete Structures 80 Two Restrictions on UG

• Free variable in hypothesis – P(x) hyp – (x)P(x) 1, incorrect ug; x is free in the hypothesis • Deduced from ei, and free variable – (x)(y)Q(x, y) hyp – (y)Q(x, y) 1, ui – Q(x, a) 2, ei – (x)Q(x, a) 3, incorrect ug; Q(x, a) is deduced by ei from the wff in step 2, in which x is free

– Example: Q(x, y): x + y = 0

CS 130 – Discrete Structures 81 Example

• Prove the argument – (x)[P(x) Λ Q(x)]  (x)P(x) Λ (x)Q(x)

• Proof sequence: 1. (x)[P(x) Λ Q(x)] hyp 2. P(x) Λ Q(x) 1, ui 3. P(x) 2, sim 4. Q(x) 2, sim 5. (x)P(x) 3, ug 6. (x)Q(x) 4, ug 7. (x)P(x) Λ (x)Q(x) 5, 6, con

CS 130 – Discrete Structures 82 Existential Generalization

• It allows insertion of an . From P(x) or P(a) we can derive (x)P(x). Restriction: x must not appear in P(a). • Prove the argument (x)P(x)  (x)P(x) • Proof sequence: 1. (x)P(x) hyp 2. P(x) 1, ui 3. (x)P(x) 2, eg

• Without the restriction: • from P(a, y) one could derive (y) P(y, y) • incorrect: since y already appeared in the wff in which eg was applied • why? P(x, y): “y>x”

CS 130 – Discrete Structures 83 More Examples

• Are the following proof sequence legitimate? – 1. (x)P(x) V (x)Q(x) hyp – 2. P(a) V Q(a) 1, ei

– 1. (x)(y)Q(x, y) hyp – 2. (x)Q(x, a) 1, ei

CS 130 – Discrete Structures 84 More Examples

• Prove the argument – (y)[P(x)  Q(x,y)]  [P(x)  (y)Q(x,y)] • Using the deduction method, we can derive – (y)[P(x)  Q(x,y)] Λ P(x)  (y)Q(x,y) • Proof sequence: 1. (y)[P(x)  Q(x,y)] hyp 2. P(x) hyp 3. P(x)  Q(x,y) 1, ui 4. Q(x,y) 2, 3, mp 5. (y)Q(x,y) 4, ug

CS 130 – Discrete Structures 85 Temporary Hypotheses

• An to the deduction method: – we can insert a “temporary” hypothesis into a proof – If some wff T is introduced into the proof of sequence as a temporary hypothesis, and a wff W is deduced from T and other hypotheses, then the wff T -> W has been deduced from the other hypotheses and can be inserted in the proof sequence

CS 130 – Discrete Structures 86 Example of Temporary Hypothesis

• Prove the argument – [P(x)  (y)Q(x,y)]  (y)[P(x)  Q(x,y)]

• Proof sequence: 1. P(x)  (y)Q(x,y) hyp. 2. P(x) temporary hypothesis (T) 3. (y)Q(x,y) 1, 2, mp 4. Q(x,y) 3, ui (W) 5. P(x)  Q(x,y) temp. hyp discharged (T->W) 6. (y)[P(x)  Q(x,y)] 5, ug

• Universal quantifier can “slide over” subwffs that do not contain the quantified variable • Same for existential quantifier

CS 130 – Discrete Structures 87 More Example

• Prove the argument – (x)[(B(x) V C(x))  A(x)]  (x)[B(x)  A(x)]

• Proof sequence: 1. (x)[(B(x) V C(x))  A(x)] hyp 2. (B(x) V C(x))  A(x) 1, ui 3. B(x) temp. hyp. 4. B(x) V C(x) 3, add 5. A(x) 2, 4, mp 6. B(x)  A(x) temp. hyp. Discharged 7. (x)[B(x)  A(x)] 6, ug

CS 130 – Discrete Structures 88 More: [(x)A(x)]’  (x)[A(x)]’

• [(x)A(x)]’  (x)[A(x)]’ • (x)[A(x)]’  [(x)A(x)]’ • Proof sequence: • Proof sequence: 1. [(x)A(x)]’ hyp. 1. (x)[A(x)]’ hyp. 2. A(x) temp. hyp. 2. (x)A(x) temp. hyp. 3. (x)A(x) 2, eg 3. A(a) 2, ei 4. A(x)  (x)A(x) 4. [A(a)]’ 1, ui temp. hyp. discharged 5. [(x)[A(x)]’]’ 3, 4, inc 5. [A(x)]’ 1, 4, mt 6. (x)A(x)  [(x)[A(x)]’]’ 6. (x)[A(x)]’ 5, ug temp. hyp. discharged 7. [((x)[A(x)]’)’]’ 1, dn 8. [(x)A(x)]’ 6, 7, mt

inc: inconsistency in exercise 27 in section 1.2

CS 130 – Discrete Structures 89 More Examples

• Is the following wff a valid argument? Prove or disprove. – (x)[P(x) v Q(x)]  (x)P(x) v (x)Q(x) – (x)P(x) Λ (x)Q(x)  (x)[P(x) Λ Q(x)] – (x)P(x) Λ [(x)(P(x) Λ Q(x))]’  (x)[Q(x)]’

• First, consider whether the wff seems valid – if yes, try to find a proof sequence for it – otherwise, try to find an interpretation in which it is not true

CS 130 – Discrete Structures 90 Verbal Arguments

• Every crocodile is bigger than every alligator. Sam is a crocodile. But there is a snake, and Sam isn’t bigger than that snake. Therefore, something is not an alligator. • Use C(x), A(x), B(x,y), s, S(x)

(x) (y)[C(x) Λ A(y)  B(x,y)] Λ C(s) Λ (x)(S(x) Λ [B(s,x)]´)  (x)[A(x)]´

CS 130 – Discrete Structures 91 Practice

• All rock music is loud music. Some rock music exists; therefore some loud music exists. • Use R(x) and L(x).

CS 130 – Discrete Structures 92 Review of Chapter 1

• Be able to: – construct truth tables for compound wffs – recognize tautologies and contradictions – translate compound statements into symbolic notations – negate a statement – apply derivation rules for propositional logic – use propositional logic to prove the validity of a verbal argument – determine the truth value of a predicate wff in a given interpretation – translate statements into predicate wffs – apply derivation rules for predicate logic – use predicate logic to prove the validity of a verbal argument

CS 130 – Discrete Structures 93