Logic Introduction
Logic Introduction
Logic
陳鍾誠 2006 年於金門
大綱
Outline
• Boolean Logic ( 布林邏輯 )
• Data • Function
–T , F – And (&)
– Or (|)
– Not (-)
邏輯系統的種類
Types of Logic
• Propositional logic ( 命題邏輯 )
– Also known as Boolean Logic (§1.1-1.2):
– Basic definitions. (§1.1)
– Equivalence rules & derivations. (§1.2)
• Predicate logic ( 述詞邏輯 或 謂詞邏輯 )
– Also known as First-Order Logic (§1.3-1.4)
– Predicates.
– Quantified predicate expressions.
– Equivalences & derivations.
述詞邏輯
Propositional Logic
Propositional Logic is the logic of
compound statements built from simpler
statements
using so-called Boolean connectives.
Some applications in computer science: George Boole
(1815-1864)
• Design of digital electronic circuits.
• Expressing conditions in programs.
• Queries to databases & search engines.
述詞邏輯的基本運算
Propositional Logic – Operators
Formal Name Nickname Arity Symbol
p ¬p
T F
F T
運算二:及
Conjunction operator – AND
p q p∧q
F F F
F T F
T F F
T T T
運算三:或
Disjunction operator – OR
p q p∨ q
F F F
F T T
T F T
T T T
述詞邏輯的表示式
Expressions of Propositional Logic
• Use parentheses to group sub-expressions
– Example :
• m : male
• c : child
• m ∧c : male child (boy)
– Example :
• f ∧(g ∨s)
運算四:互斥或
Exclusive-Or – XOR
p q p⊕ q
F F F
F T T
T F T
T T F
自然語言的語義不清楚
Natural Language is Ambiguous
Note that English “or” can be
ambiguous regarding the “both”
case! p q p "or" q
“Pat is a singer or
Pat is a writer.” - F F F
“Pat is a man or F T T
Pat is a woman.” - T F T
Need context to disambiguate the
meaning! T T ?
For this class, assume “or” means
inclusive.
運算五:導致
The Implication Operator
• p → q means p implies q.
– If p is true, then q is true;
– but if p is not true, then q could be either true or false.
• Example :
– E.g., let p = “You study hard.”
q = “You will get a good grade.”
– p → q = “If you study hard, then you will get a good
grade.” (else, it could go either way)
pq 的真值表
Implication Truth Table
• p → q is false only when
p is true but q is not true. p q p→q
• p → q does not say F F T
that p causes q!
F T T
• p → q does not require
that p or q are ever true!
T F F
T T T
• E.g. “(1=0) → pigs can fly” is
TRUE!
Imply 運算 的範例
Examples of Implications
• “If this lecture ends, then the sun will rise
tomorrow.” True or False?
• Its contrapositive:¬q → ¬ p.
p q = p + q = p+q
p ↔ q 的真值表
Biconditional Truth Table
• p ↔ q means that p and q p q p ↔q
have the same truth value.
F F T
• Note this truth table is the
F T F
exact opposite of ⊕’s! T F F
– p ↔ q means ¬(p ⊕ q) T T T
• p ↔ q does not imply
p and q are true, or cause
each other.
布林運算總整理
Boolean Operations Summary
• We have seen 1 unary operator (out of the 4
possible) and 5 binary operators (out of the 16
possible). Their truth tables are below.
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
布林運算的幾種符號表達法
Some Alternative Notations