Predicate: A sentence that contains a finite number of variables and becomes a statement when values are substituted for the variables. ◦ Domain: the set of all values that can be substituted for the variables ◦ EX: P(x): x^2 > x (“^” also means exponentiation in CS) Sets ◦ ◦ ◦ ◦ xεA denotes that x is an element of set A Common Sets: R(real), Z(integers), Q(rationals) R⁺ and R⁻ indicate positive or negative elements only {1,2,3…} indicates a set of all + integers using “…” The set of all elements that make a predicate true is the truth set ◦ {x ε D | P(x)} – D is the domain of x ◦ This is read “the set of all x in D such that P(x)” ◦ EX: Q(n) is “n is a factor of 8” If the domain is Z⁺, the truth set is {1,2,4,8} If the domain is Z, {1,2,4,8,-1,-2,-4,-8} Universal Statement ◦ “∀x ε D, Q(x)” is read “for all x in D, Q(x)” ◦ ∀ is the universal quantifier, pronounced “for all” ◦ A universal statement is true iff it is true for every x in D and is false if just one x in D is false This one false x is a counterexample ◦ EX: ∀x ε R, x^2 ≥ x 2^2 > 2, but (1/2)^2 < (1/2) so it’s false Existential Statement ◦ “∃x ε D such that Q(x)” means “there exists an x in D such that Q(x)” ◦ ∃ - Existential Quantifier ◦ This is true iff at least one x satisfies Q(x) ◦ EX: ∃x ε D such that x^2 = x 1^2 = 1 and is the only value besides 0 that is true Universal Conditional Statements ◦ “∀x, P(x) → Q(x)” means “for all x, if P(x) is true, Q(x) follows ◦ A statement of this form can always be translated to “∀x ε D, Q(x)” by making D the set of truth values for P(x) ◦ The same general rule applies for Existential statements Negation of Quantified Statements ◦ ~(All x in D, Q(x)) = There exists at least one x in D such that ~Q(x) ~(∀x ε D, Q(x)) = ∃x ε D such that ~Q(x) The negation of “All Are” is logically equivalent to “Some Are Not” ◦ ~(∃x ε D such that Q(X)) = ∀x ε D, ~Q(x) The negation of “Some Are” is logically equivalent to “All Are Not” ◦ Caution: when translating to informal language, check the placement of “not” to ensure no ambiguity Negations of Universal Conditional Statements ◦ ~(∀x, P(x) → Q(x)) = ∃x such that (P(x)^~Q(x)) ~(for all x, if P(x) then Q(x)) = there exists an x such that P(x) is true and Q(x) is false This is a culmination of a lot of information. Basically , this means that if a universal conditional statement is false, then there is an element that makes the statement false. ∀, ∃, ^, v ◦ ∀x ε D, Q(x) = Q(x₁)^Q(x₂)^…^Q(xn) A for all statement is logically equivalent to an and chain of all possible Q(x)’s ◦ ∃x ε D such that Q(x) = Q(x₁) v Q(x₂)v…vQ(xn) A there exists statement is logically equivalent to an or chain of all possible Q(x)’s ◦ This is why the negation of for all is there exists and vise versa Variants of Universal Conditional Statements ◦ Given ∀x in D, P(x) → Q(x) ◦ Contrapositive: ∀x, ~Q(x) → ~P(x) Logically Equivalent to original ◦ Converse: ∀x, Q(x) → P(x) Not Logically Equivalent ◦ Inverse: ∀x, ~P(x) → ~Q(x) Not Logically Equivalent When ∀ and ∃ are both used ◦ The quantifiers are co-equal and are evaluated from left to right ∀x ε D, ∃y ε S such that P(x,y) For any x in D, a value y in S can be found to satisfy the predicate P(x,y) (given x, choose y) ∃x ε D such that ∀y ε E, P(x,y) There exists an x in D such that any y in E satisfies P(x,y) (choose x, then given y) Limits ◦ “Lim(n → ∞) an = L” means that as n approaches infinity, the value a[n] approaches L ◦ For any positive number ε, there exists an integer Z such that whenever n > Z, a sub n sits between L- ε and L+ ε. ◦ Symbolically: ∀ε > 0, ∃ an integer Z such that ∀integers n, if n > Z then L- ε < an < L+ ε This definition is logically complex, but can be easily tested with values Negations of Multiply Quantified Statements ◦ For any number of quantifiers, the same basic rules can be applied ~(∀x in D, ∃y in E such that P(x,y) = ∃x in D such that ∀y in E, ~P(x,y) ~(∃x in D such that ∀y in E, P(x,y) = ∀x in D, ∃y in E such that ~P(x,y) These two equivalencies were obtained using the negations of quantified statements introduced earlier The Order of Quantifiers ◦ By reversing the order of quantifiers ∀ and ∃, it is possible to reverse the truth values of the statement (this is not always so) ◦ If two of the same quantifiers are next to each other and are reversed, the meaning is left unchanged ∀reals x and ∀reals y, x + y = y + x. This is true both ways ∀ real numbers x and y,… is the exact same statement The Language of First-Order Logic ◦ The collection of all symbols for quantifiers, connectives, variables, etc. is not just a bunch of garble. It’s a language through which most situations can be described. There are many dialects for many different situations but the same general rule applies to each: you can’t learn it if you don’t use it. ◦ It’s important that you understand the symbols used in logic because they are the golden standard in mathematics; be it a proof, a solution or some other kind of process, the language of logic will be used to describe it. Did You Know? ◦ An entire programming language called Prolog (programming in logic) was developed for logical manipulation ◦ Using symbolic manipulation, Prolog can solve all your logical problems for you if you know how to use it ◦ This course is not language specific, but it may be worth looking into Rule of Universal Instantiation ◦ If something is true for everything in a domain, then it is true for any particular thing in the domain ◦ If something is true for a type or class of objects, then it is true for any particular object of the types or class This lets you apply general rules and theorems to specific objects without changing or having to prove the theorem used Universal Modus Ponens ◦ ∀x, if P(x) then Q(x): P(a) for a particular a :: Q(a) ◦ If x satisfies P(x) then it satisfies Q(x). It is known that “a” satisfies P(a) so Q(a) must be true This is a valid – and very useful – argument form Universal Modus Tollens ◦ ∀x, if P(x) then Q(x):~Q(a) for a particular a :: ~P(a) ◦ If x satisfies P(x) then it satisfies Q(x). It is known that “a” fails Q(a) so it must also fail P(a) Proving Validity of Arguments with Quantified Statements ◦ An argument form is valid regardless of the predicates used iff the conclusion is true when the premises are all true ◦ An argument is valid iff its argument form is valid ◦ A form can be proven true using other forms, theorems, and diagrams like truth tables The Use of Diagrams ◦ Picture each domain in an argument as a disk If a particular domain exists within a larger domain then place the particular disk into the larger disk EX: all integers are real numbers. Draw a disk for reals and then draw an integer disk inside the reals disk If something is not on the larger disk, it can’t be on the smaller one either If a number is not a real number, then it cannot be an integer If a number is an integer, then it is also a real number More on Diagrams ◦ One must be careful to ensure that the diagrams are fit together properly. Both the converse and inverse errors can be miss-interpreted diagrammatically to say that the form is valid, when in fact the form is abstract. In general, diagrams are helpful when used to represent argument forms. Quantified Converse Error ◦ ∀x, if P(x) then Q(x): Q(a) for a particular a:: P(a) This is invalid EX: P(x) = “x is an integer”, Q(x) = “x is a real number” If Q(x) is true, P(x) doesn’t necessarily follow because x could be .5, which is real, but is not an integer Quantified Inverse Error ◦ ∀x, if P(x) then Q(x): ~P(a) for a particular a :: ~Q(a) Invalid form EX: P(x) = “x is an integer”, Q(x) = “x is a real number” If x is .5, P(x) is false but Q(x) is still true. The truth of Q(x) didn’t follow from the truth of P(x) Obtaining Additional Argument Forms ◦ In order to transform an established argument form into its universal equivalent, combine each statement in the form with Universal Instantiation ◦ EX: Universal Transitivity ∀x, P(x)→Q(x): ∀x, Q(x)→R(x) :: ∀x, P(x)→R(x) Anything that makes P(x) true makes Q(x) true, anything that makes Q(x) true makes R(x) true, anything that makes P(x) true must make R(x) true Abduction ◦ Sometimes, converse and inverse errors are useful ∀x, P(x)→Q(x): Q(x) :: P(x) is a converse error, but is not totally useless. It can be used to search for a logically correct statement Say that a doctor knows two things: If someone has chicken pox, they will have red bumps A patient complains that he has red bumps It is not valid to say that the patient has chicken pox, but the doctor knows that he can perform a test that will prove chicken pox is true Thanks to the converse error, the doctor was able to narrow his search. This comes in handy when designing expert systems and artificial intelligence In the world of mathematics, proving your statements is an essential skill. Don’t believe us? ◦ Say an engineer is designing a new type of engine for a commercial plane. According to his calculations, the engine will not malfunction under standard conditions. In testing, this fact may seem to be true, but if his calculations were not proven valid, there will always be a lingering uncertainty. ◦ When people’s lives depend on your correctness, you have to be absolutely sure that you are in fact correct