10. Formal Name Nickname Arity Symbol
Negation operator NOT Unary ¬, ~
Conjunction operator AND Binary ∧
Disjunction operator OR Binary ∨
Exclusive-OR operator XOR Binary ⊕
Implication operator IMPLIES Binary →
Biconditional operator IFF Binary ↔
10
11. Negation operator “¬” (NOT) แปลงประพจน์ใดๆ
ให้เป็นนิเสธของประพจน์นั้น
เช่น ให้ p = “ฉันมีผมสีนำ้าตาล”
ดังนั้น ¬p = “ฉันไม่มีผมสีนำ้าตาล”
ตารางค่าความจริง(truth table) ของ NOT:
11
p ¬p
T F
F T
T :≡ True; F :≡ False
“:≡” หมายถึง “ถูกนิยามแทน”
คอลัมน์ตัวถูกดำาเนินการคอลัมน์ผลลัพธ์
15. สังเกตว่า p∨q หมายถึง
p เป็นจริง หรือ q เป็นจริง,
หรือทั้ง p และ q เป็นจริง
Disjunction operator “∨”
อาจเรียกอีกอย่างว่า inclusive or
เพราะประพจน์จะมีค่าเป็นจริง
ในกรณีที่ทั้ง p และ q เป็นจริงทั้งคู่
15
p q p∨ q
F F F
F T T
T F T
T T T
สังเกตส่วนที่
แตกต่างจาก
AND
17. ให้ p = “เมื่อคืนนี้ฝนตก”
q = “มีหมอกลงเมื่อเช้าวันนี้”
r = “เช้าวันนี้สนามหญ้าเปียก”
จงแปลนิพจน์ต่อไปนี้:
¬p =
r ∧ ¬p =
¬ r ∨ p ∨ q =
17
“เมื่อคืนฝนไม่ตก”
“เช้าวันนี้สนามหญ้าเปียก และเมื่อ
คืนนี้ฝนไม่ตก”
“เมื่อเช้าวันนี้สนามหญ้าไม่เปียก
หรือ เมื่อคืนนี้ฝนตก หรือ มีหมอก
ลงเมื่อเช้านี้”
18. Exclusive-or operator “⊕” (XOR) รวมประพจน์ 2
ประพจน์เข้าด้วยกันแบบ “exclusive or”
p = “ฉันจะได้เกรด A วิชานี้”
q = “ฉันจะได้เกรด B วิชานี้”
p ⊕ q = “ฉันจะได้เกรด A วิชานี้ หรือ ฉันจะได้เกรด
B วิชานี้(แต่ไม่สามารถได้เกรดทั้งสองพร้อมกัน)”
18
19. สังเกตว่า p⊕q หมายถึง
p เป็นจริง หรือ q เป็นจริง
แต่ต้องไม่เป็นจริงทั้งคู่
จึงอาจเขียนได้ว่า
(p ∨ q) ∧ ¬(p ∧ q)
การดำาเนินการนี้เรียกว่า exclusive or
เพราะประพจน์จะมีค่าเป็นเท็จ ในกรณีที่ทั้ง p และ q
เป็นจริงทั้งคู่
19
p q p⊕ q
F F F
F T T
T F T
T T F สังเกต
ส่วนที่
แตกต่าง
จาก
OR
21. รูปแบบของ implication ที่สมนัยกัน(Equivalent) :
If P, then Q
P implies Q
If P, Q
P is a sufficient condition for Q
Q if P
Q whenever P
Q is a necessary condition for P
Terminology:
P = premise, hypothesis, antecedent
Q = conclusion, consequence
21
22. p → q เป็นเท็จ เฉพาะเมื่อ
p เป็นจริง แต่ q เป็นเท็จ
ประพจน์ p → q เป็นจริง
โดยไม่จำาเป็นว่า p หรือ q
จะต้องเป็นจริงทั้งคู่
เช่น
“(1=0) → หมูบินได้” เป็นจริง
22
p q p→q
F F T
F T T
T F F
T T T
เป็น
False
เพียง
กรณีเดียว
24. คำาศัพท์บางคำาที่อาจเจอในเรื่องการ implication p → q
ได้แก่:
บทกลับ(converse) : q → p
ข้อความผกผัน(inverse) : ¬p → ¬q
ข้อความแย้งสลับที่(contrapositive) : ¬q → ¬ p
จากประพจน์ทั้งสามข้างต้นมีประพจน์ประเภทหนึ่งที่มี
ความหมายเดียวกันกับ p → q คือ?
24
25. การพิสูจน์การสมมูลของ p → q กับข้อความแย้งสลับ
ที่(contrapositive) โดยใช้ตารางค่าความจริง :
25
p q ¬q ¬p p→q ¬q →¬p
F F T T T T
F T F T T T
T F T F F F
T T F F T T
26. Biconditional p ↔ q แสดงว่า p เป็นจริง ก็ต่อ
เมื่อ (if and only if --IFF) q เป็นจริง
p = “Bush ชนะการเลือกตั้งปี 2004”
q = “Bush จะเป็นประธานาธิบดีในปี 2005”
p ↔ q = “Bush ชนะการเลือกตั้งปี 2004 ก็ต่อ
เมื่อ Bush จะเป็นประธานาธิบดีในปี 2005 ”
26
27. p ↔ q มีค่าความจริงเป็นจริง
เมื่อ p และ q มีค่าความจริง
เหมือนกัน(เท็จทั้งคู่ หรือ จริงทั้งคู่)
สังเกตว่าตารางค่าความจริงนี้
ตรงข้ามกับตารางค่าความจริงของ
ดังนั้น p ↔ q สมมูลกับ ¬(p ⊕ q)
27
p q p ↔ q
F F T
F T F
T F F
T T T
28. 28
p q ¬p p∧q p∨q p⊕q p→q p↔q
F F T F F F T T
F T T F T T T F
T F F F T T F F
T T F T T F T T
29. Name: not and or xor implies iff
Propositional logic: ¬∧ ∨ ⊕ → ↔
Boolean algebra: p pq + ⊕
C/C++/Java (wordwise): ! && || != ==
C/C++/Java (bitwise): ~ & | ^
Logic gates:
29
43. ประพจน์ประกอบ p สมมูลเชิงตรรก กับประพจน์
ประกอบ q ก็ต่อเมื่อ(IFF) ประพจน์ประกอบ p↔q เป็น
สัจนิรันดร์ เขียนเป็นสัญลักษณ์ได้ว่า p⇔q (หรือ
หนังสือบางเล่มใช้ p ≡ q)
ประพจน์ประกอบ p และประพจน์ประกอบ q สมมูลเชิง
ตรรก ซึ่งกันและกัน ก็ต่อเมื่อ(IFF) p และ q มีค่าความ
จริงเหมือนกันในทุกๆแถวของตารางค่าความจริง
43
44. ตัวอย่าง จงพิสูจน์ว่า p∨q ⇔ ¬(¬p ∧ ¬q)
p∨q มีค่าความจริงเหมือนกันในทุกๆแถวกับ (¬p ∧
¬q) ดังนั้น p∨q สมมูลกับ (¬p ∧ ¬q)
44
p q pp∨∨qq ¬¬pp ¬¬qq ¬¬pp ∧∧¬¬qq ¬¬((¬¬pp ∧∧¬¬qq))
F F
F T
T F
T T
F
T
T
T
T
T
T
T
T
T
F
F
F
F
F
F
F
F
T
T
61. ¬(P∨(¬P∧Q)) สามารถทำาให้ดูง่ายขึ้นโดยการใช้กฏของ
logical equivalence ต่อไปนี้:
¬(P∨(¬P∧Q))
⇔ ¬P∧¬(¬P∧Q)) De Morgan’s law
⇔ ¬P∧[¬(¬P)∨¬Q] De Morgan’s law
⇔ ¬P∧(P∨¬Q) Double negation law
⇔ (¬P∧P)∨(¬P∧¬Q]Distributive law
⇔ F∨(¬P∧¬Q) เนื่องจาก P∧P⇔F
⇔ ¬P∧¬Q Identity law for F
⇔ ¬(P∨Q) De Morgan’s law
61
76. กำาหนดให้เอกภพสัมพัทธ์คือ เซตของจำานวนนับ {0, 1, 2,
3, … }
ให้ R (x,y ) = “x < y”
Q1: ∀x ∃y R (x,y ) หมายถึง?
Ans1: “จำานวน x ทุกตัวมีค่าน้อยกว่า จำานวน y บางตัว”
Q2: ∃y ∀x R (x,y ) หมายถึง?
Ans2: “จำานวน y บางตัวมีค่ามากกว่าจำานวน x ทุกตัว”
Q: ค่าความจริงของประพจน์ x∃yR(x,y) และ y∀xR(x,y)
คืออะไร?
76
77. Ans: ∀x∃y R(x,y) เป็นจริง และ y∀x R(x,y) เป็นเท็จ
∀x ∃y R (x,y): “จำานวน x ทุกตัวมีค่าน้อยกว่า จำานวน y
บางตัว” เป็นจริง โดยกำาหนดให้ y = x + 1
∃y ∀x R (x,y): “จำานวน y บางตัวมีค่ามากกว่าจำานวน x ทุก
ตัว” เป็นเท็จ เพราะจำานวน y ไม่สามารถมีค่ามากกว่าตัว
ของมันเองได้ ดังนั้นจึงให้กรณีที่ x = y ของประพจน์นี้
เป็นตัวอย่างค้าน(counterexample)
77
78. จงแสดงประโยค“If somebody is female and is a
parent, then this person is someone’s mother” เป็น
logical expression.
กำาหนดให้
F(x): x is female.
P(x): x is a parent.
M(x, y): x is the mother of y.
ข้อความนี้ประยุกต์ใช้กับทุกคน
∀x ((F(x) ∧ (P(x)) → ∃y M(x, y))
78
79. จงแสดงประโยค “Everyone has exactly one best
friend” เป็น logical expression.
กำาหนดให้
B(x, y): y is the best friend of x.
ประโยคกล่าวว่า “exactly one best friend” หมายความถ้า y
เป็นเพื่อนที่ดีที่สุดของ x แล้วคนอื่น ๆ(แทนด้วย z) นอกจาก y ไม่
อาจเป็นเพื่อนที่ดีที่สุดของ x
If y is the best friend of x, then all other people z other
than y can not be the best friend of x.
∀x∃y∀z (B(x, y) ∧ ((z ≠ y) → ¬B(x, z)))
79
Computer Science, Burapha University Later in the course, we will see that operators can themselves be defined in terms of functions. This slide doesn’t define them that way because we haven’t defined functions yet. But for your reference, when you come back to study this section after learning about functions, in general, an n -ary operator O on any set S (the domain of the operator) is a function O : S ^ n -> S mapping n -tuples of members of S (the operands ) to members of S . “ S ^ n ” here denotes S with n as a superscript, that is, the n th Cartesian power of S . All this will be defined later when we talk about set theory. For Boolean operators, the set we are dealing with is B={True,False}. A unary Boolean operator U is a function U:B->B, while a binary Boolean operator T is a function T:(B,B)->B. Binary operators are conventionally written in between their operands, while unary operators are usually written in front of their operands. (One exception is the post-increment and post-decrement operators in C/C++/Java, which are written after their operands.)
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University Note that AND is commutative and associative, which means that we can write a long conjunction (like in the first bullet on the left) without parenthesizing it. It also doesn’t matter what order the n propositions are in. The fact that an n -operand operator has 2^ n rows in its truth table is an easy consequence of the product rule of combinatorics. Here is a proof. Note that for the table to be complete, we must have 1 row for every possible assignment of truth values to the n operands. Thus, there is 1 row for every function f : V -> B , where V is the set of operand columns { p , q ,…} and B ={T,F}. Here, | V |= n and | B |=2. The number of functions from a set of size n to a set of size m is m ^ n . This is because of the product rule, as we will see in a moment. In this case, m =2 so we get 2^ n such functions. In terms of the product rule: There are 2 possible values for p . For each of these, there are 2 possible values for q, since the choice of q is independent of the choice of p. And so on. So there are 2x2x…(n repetitions)…x2 possible rows, thus 2^ n . Of course, we haven’t defined the product rule, set cardinality, or functions yet, so don’t worry if the above argument doesn’t quite make sense to you yet. In the second bullet, we would say, {NOT,AND} is a universal set of Boolean operators, but we haven’t even defined sets yet. If you already know what a set is, a universal set of operators over a given domain is a set of operators such that nested expressions involving those operators are sufficient to express any possible operator over that domain. In this case, the domain is B={T,F}. The proof that {NOT,AND} is universal is as follows: OR can be defined by p OR q = NOT(NOT(p) AND NOT(q)) (easily verified; this is one of DeMorgan’s Laws, which we will get to later). Now, armed with OR, AND, and NOT, we can show how to express any Boolean truth table, with any number of columns, as follows. Look for the cases where the last (result) column is T. For each such row in the truth table, include a corresponding term in a disjunctive expression for the whole truth table. The term should be a conjunction of terms, one for each input operand in that row. Each of these terms should be p if the entry in that position is “T”, and NOT( p ) if the entry in that position is “F”. So, the entire expression basically says, “the value of the operator is T if and only if the pattern of truth values of the input operands exactly matches one of the rows in the truth table that ends in a ‘T’ result.” Thus, the expression directly encodes the content of the truth table.
Computer Science, Burapha University OR is also commutative and associative. The animated picture on the right is just a memory device to help you remember that the disjunction operator is symbolized with a downward-pointing wedge, like the blade of an axe, because it “splits” a proposition into two parts, such that you can take either part (or both), if you are trying to decide how to make the whole proposition true. Note that the meaning of disjunction is like the phrase “and/or” which is sometimes used in informal English. “The car has a bad engine and/or a bad carburetor.”
Computer Science, Burapha University
Computer Science, Burapha University As an exercise, drop the truth tables for f /\\ ( g \\/ s ) and ( f /\\ g ) \\/ s to see that they’re different, and thus the parentheses are necessary. Precedence conventions such as the one in the second bullet help to reduce the number of parentheses needed in expressions. Note that negation, with its tight binding (high precedence), and with its position to the left of its operand, behaves similarly to a negative sign in arithmetic. There is also a precedence convention that you see sometimes (for example, in the C programming language) that AND takes precedence over OR. However, this convention is not quite universally accepted, not all systems adopt it. Therefore, to be safe, you should always include parentheses whenever you are mixing ANDs and ORs in a single sequence of binary operators.
Computer Science, Burapha University For slides that have interactive exercises, it may be a good idea to stop the class for a minute to allow the students to discuss the problem with their neighbors, then call on someone to answer. This will help keep the students engaged in the lecture activity.
Computer Science, Burapha University
Computer Science, Burapha University A good way to remember the symbol for XOR, a plus sign inside an O, is to think of XOR as adding the bit-values of its inputs (mod 2). E.g., 0+0=0, 1+0=0, 1+1=0 (mod 2). Thus XOR is basically an addition, and we put it inside an “O” to remind ourselves that it is a type of “Or”. XOR together with unary operators do not form a universal set of operators over the Booleans. However, it turns out that they are a universal set for quantum logic! However we do not have time to cover quantum computing in this class, interesting though it is.
Computer Science, Burapha University Note that the definition of “p implies q” says: “If p is true, then q is true, and if p is not true, then q is either true or false.” Well, saying that q is either true or false is not saying anything, since any proposition is, by the very definition of a proposition, either true or false. So, the last part of that sentence (covering the case where p is not true) is not really saying anything. So we may as well say the definition is, “If p is true, then q is true.” Sometimes the antecedent is called the hypothesis and the consequent is called the conclusion .
Computer Science, Burapha University SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Computer Science, Burapha University Let’s consider the rows of the truth table, one at a time. In the first row, p is false and q is false. Now, let’s consider the definition of p -> q . It says “If p is true, then q is true, but if p is false, then q is either true or false.” Well, in this case, p is false, and q is either true or false (namely false), so the second part of the statement is true. But, of course that part is true, since it is just a tautology that q is either true or false. In other words, and if is always true when its antecedent is false. Similarly, the second row is True. The third row is false, since p is true but q is false, so it is not the case that if p is true then q is true. Finally, in the fourth row, since p is true and q is true, it is the case that if q is true then q is true. Many students have trouble with the implication operator. When we say, “A implies B”, it is just a shorthand for “either not A, or B”. In other words, it is just the statement that it is NOT the case that A is true and B is false. This often seems wrong to students, because when we say “A implies B” in everyday English, we mean that if somehow A were to become true in some way, somehow, the statement B would automatically be thereby made true, as a result. This does not seem to be the case in general when A and B are just two random false statements (such as the example in the last bullet). (However in this case, we might make a convoluted argument that the antecedent really DOES effectively imply the consequent: Note that if 1=0, then if a given pig flies 0 times in his life, then he also flies 1 time, thus he can fly.) In any case, perhaps a more accurate and satisfying English rendering of the true meaning of the logical claim “A implies B”, might be just, “the possibility that A implies B is not contradicted directly by the truth values of A and B”. In other words, “it is not the case that A is true and B is false.” (Since that combination of truth values would directly contradict the hypothesis that A implies B.)
Computer Science, Burapha University The first one is true because T->T is True. It doesn’t matter that my lecture ending is not the cause of the sun rising tomorrow. The second one is false for me, because although Tuesday is a day of the week, I am most certainly NOT a penguin. (But, if a penguin were to say this statement, then it would be true for him.) The third one is true, because 1+1 is not equal to 6. F->T is True. The last one is true, because the moon is not made of green cheese. F->F is True. In other words, anything that’s false implies anything at all. p->q if p is false. Why? If p is false, then if p is true, then p is both false and true at the same time, and so truth and falsity are the same thing. So if q is false then q is true.
Computer Science, Burapha University Also, note that the converse and inverse of p->q also have the same meaning as each other.
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University Also, p IFF q is equivalent to ( p -> q ) /\\ ( q -> p ). (“/\\” being the AND wedge)
Computer Science, Burapha University For fun, try writing down the truth tables for each of the 4 possible unary operators, and each of the 16 possible binary operators. For each one, try to come up with an English description of the operator that conveys its meaning. Also, figure out a way to define it in terms of other operators we already introduced.
Computer Science, Burapha University
Computer Science, Burapha University Bits can also be defined in terms of sets, if you like, by the convention that the empty set {} represents 0, and the set containing the empty set {{}} represents 1. Or more generally, any two distinct objects can represent the two bit-values or truth-values.
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University ssssssssssssssssssssssssssss
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University
Computer Science, Burapha University Instructors: You can substitute your favorite overly-crowded destination in place of the University of Florida in this example.
Computer Science, Burapha University
Computer Science, Burapha University SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Computer Science, Burapha University
Computer Science, Burapha University sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Computer Science, Burapha University (Chalkboard.) Another way to see why the order of quantifiers matters is to expand out the definitions of FORALL and EXISTS in terms of AND and OR. For example, suppose the universe of discourse just consists of two objects a and b. Now, consider some predicate P(x,y). Then, FORALL x EXISTS y P(x,y) (EXISTS y P(a,y)) /\\ (EXISTS y P(b,y)) (P(a,a) \\/ P(a,b)) /\\ (P(b,a) \\/ P(b,b)). In contrast, EXISTS y FORALL x P(x,y) (FORALL x P(x,a)) \\/ (FORALL x P(x,b)) (P(a,a) /\\ P(b,a)) \\/ (P(a,b) /\\ P(b,b)). To see that these two are inequivalent, suppose only P(a,a) and P(b,b) are true. Then, the first proposition (with the FORALL first) is true, but, the second proposition (with the EXISTS first) is true. Students can come up with this counterexample in-class as an exercise.
Computer Science, Burapha University
Computer Science, Burapha University Note that x y x 2 y is the same as ( x y x 2 y )