Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators...
Transcript of Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators...
![Page 1: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/1.jpg)
Logic
![Page 2: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/2.jpg)
Part I:
Propositional Calculus
![Page 3: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/3.jpg)
Statements
Undefined Terms
• True, T, #t, 1
• False, F, #f, 0
• Statement, Proposition
Statement/Proposition -- Informal Definition• Statement = anything that can meaningfully be assigned a value of True or False• Propositional Calculus = Study of Statements / Propositions
Examples• “1 + 1 = 2” (Yes)• “2 + 2 = 3” (Yes)• “To be or not to be” (No)• “This sentence is false.” (No)• “x > 5” (No)
![Page 4: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/4.jpg)
Formulas
Formula
• A formula is a statement with free (unquantified) variables.
• A statement is a formula with no free (unquantified) variables.
Analogy to Scheme
• Statement ~ expression with type Boolean
• Formula ~ (Lambda ( ) Boolean expression)
![Page 5: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/5.jpg)
Operators
Examples
• Andp^q (pq)
• Or p∨q (p+q)
• Not ~p (–p or pbar)
• Implies p → q (p ⇒ q)
• Iff p ↔ q (p ⇔ q)
Observations
• Propositional Calculus is the Calculus of Operators.
• Operators have the usual informal meanings.
• Formal meanings are provided by Truth tables.
![Page 6: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/6.jpg)
Truth Tables
Examplesp q p^q p∨q ~p p→ q p↔ q
T T T T F T T
T F F T F F F
F T F T T T F
F F F F T T T
Conventions• Or is inclusive: p or q or both• XOR is exclusive: p or q, but not both -- p⊕q
• p→ q is True whenever p is False
• p→ q is False only when p is True and q is False
• EXAMPLES
![Page 7: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/7.jpg)
More Operators
NAND, NOR, XOR
p q ~(p^q) ~(p∨q) p⊕q
T T F F F
T F T F T
F T T F T
F F T T F
Observations
• There are 16 possible boolean operators on two parameters.
• Every one can be written solely in terms of NAND or NOR.
![Page 8: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/8.jpg)
Bit Operations
Idea
-- Replace T and F by 1 and 0
Examples
-- 11011011001
-- 10101100100
AND 10001000010
OR 11111111101
XOR 01110111101
![Page 9: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/9.jpg)
Propositions
Proposition -- Recursive Definition
• Base Case: p, q, r,...
• p ^ q, p∨ q, ~p, p→ q, p↔ q
Parsing
• The inductive definition defines a tree.
• Parsing provided by the tree
• Parentheses needed for linear -- infix notation
-- (p∨q)^r ≠ p∨(q^r)
![Page 10: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/10.jpg)
Types of Propositions
Tautology
• a proposition that is always True
• all rows in the Truth Table are true
• p∨~p
Contradiction
• a proposition that is always False
• all rows in the Truth Table are false
• p^~p
Contingency
• a proposition that is neither a tautology nor a contradiction
• some rows in the Truth Table are True and some are rows are False
• p∨q
![Page 11: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/11.jpg)
Logical Equivalence
Definition• p and q are logically equivalent if all rows in their Truth Table are the same.
Notation• p ≡ q
Example• (~p)∨q ≡ p→q (Check Truth Table)
Remark• p ≡ q iff p↔q is a tautology
Applications
• Proofs
• Computer Hardware -- Circuit Design
![Page 12: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/12.jpg)
Implications
Proposition Converse Inverse Contrapositive
p → q q → p ~p → ∼q ~q → ~p
Observations
• A proposition is equivalent to its contrapositive.-- p → q ≡ ~q → ~p
• A proposition is NOT equivalent to its converse or inverse.
-- Examples
-- Truth Tables
![Page 13: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/13.jpg)
Logical Equivalences (Boolean Algebra)
1. Identityp^T ≡ p
p∨F ≡ p
2. Dominationp∨T ≡ T
p^F ≡ F
3. Idempotencep∨p ≡ p
p^p ≡ p
4. Double Negation~~ p ≡ p
![Page 14: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/14.jpg)
More Logical Equivalences (Boolean Algebra)
5. Commutativep∨q ≡ q∨p
p^q ≡ q^p
6. Associativep∨(q∨r) ≡ (p∨q)∨r
p^(q^r) ≡ (p^q)^r
7. Distributivep∨(q^r) ≡ (p∨q)^(p∨r)
p^(q∨r) ≡ (p^q)∨(p^r)
![Page 15: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/15.jpg)
De Morgan’s Laws
De Morgan Laws
~ (p∧ q) = (~ p)∨ (~ q)
~ (p∨ q) = (~ p)∧ (~ q)
Proofs by Truth Tables.
Generalizes to more operators by Induction.
~ (p1 ∧∧ pn ) = (~ p1)∨∨ (~ pn )
~ (p1 ∨∨ pn ) = (~ p1)∧∧ (~ pn )
![Page 16: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/16.jpg)
Axiomatic Approach to Propositional Calculus
3 Axioms
1. P→ (Q → P)
2. P → (Q→ R)( )→ (P →Q)→ (P→ R)( )
3. ~ P →~ Q( ) → (~ P →Q)→ P( )
1 Rule of Inference
• Prove: P and P→Q• Conclude: Q
2 Metatheorems
• Consistency: All the Theorems of Propositional Calculus are Tautologies.
• Completeness: All Tautologies are Theorems of the Propositional Calculus.
![Page 17: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/17.jpg)
Axiomatic Approach to Arithmetic
Axioms of Natural Numbers
1. 1 is a Natural Number.
2. If n is a natural number, then n + 1 is a natural number.
3. Every natural number m except 1 is of the form m = n +1.
4. Every nonempty subset of the natural numbers has a smallest element.
5. Axioms for addition and multiplication.
1 Rule of Inference
• Prove: P and P→Q• Conclude: Q
Godel’s Incompleteness Theorem
• All Axioms for the Natural Numbers are either Inconsistent or Incomplete.
• There are Formulas in Arithmetic that are True, but that cannot be Proved.
![Page 18: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/18.jpg)
Disjunctive Normal Form
Construction• For each row in the truth table where F( p, q, r,…) has the value True
• For each column with a primitive proposition p-- Write p if p has the value T-- Write ~p if p has the value F
• Let F∗(p,q,r,…) = p∧ q∧ ~ r {AND the columns}
-- Then F∗(p, q, r,…) has the value T only along this row
• Let F( p, q, r,…) = F1(p, q, r,…)∨ F2( p, q, r,…)∨∨Fn (p, q, r,…)
Remarks• AND has only one row with T• OR has value T whenever one of its parameters has value T
Examples • p⊕q ≡ (p^~q)∨(∼p^q)
![Page 19: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/19.jpg)
Functionally Complete
DefinitionA collection of operators are called functionally complete if every proposition is equivalent to a proposition involving only these operators.
Proposition 1: The operators ~, ^, ∨ are functionally complete.
Proof: Follows from Disjunctive Normal Form.
Proposition 2: The operators ~, ^ are functionally complete.
Proof: Follows from Proposition 1 and De Morgan’s Laws.
Proposition 3: The operators ~, ∨ are functionally complete.Proof: Follows from Proposition 1 and De Morgan’s Laws.
![Page 20: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/20.jpg)
Functionally Complete (continued)
Proposition 4: The operator NAND is functionally complete.
Proof: Homework
Proposition 5: The operators NOR is functionally complete.
Proof Homework.
Remark
• Propositions 4 and 5 are important in the design of logical gates.
![Page 21: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/21.jpg)
SAT
Definition
• A compound statement is said to be satisfiable if there is an assignment of
truth values to the variables in the statement that makes the statement True.
P vs. NP
• Determining in general whether a compound statement is satisfiable
is an NP problem.
• Can be verified in polynomial time, but no solution yet
in polynomial time.
• Only exponential time algorithms exist -- try all possibilities.
![Page 22: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/22.jpg)
Part II:
Predicate Calculus
![Page 23: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/23.jpg)
Predicates
Definition
• A Statement with Parameters,
• A Formula
Examples
• P(x), Q(x, y)
• x > 0 , x + y = z
Predicate Calculus
• Study of Predicates and Quantifiers
![Page 24: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/24.jpg)
Quantifiers
All-- ∀xP(x) means for all x, P(x) is True
-- ∀xP(x) is false when there is an x for which P(x) is False-- analogous to infinite AND
Exists-- ∃xP(x) means there exists at least one x for which P(x) ) is True
-- ∃xP(x) is false when P(x) is False for every x-- analogous to infinite OR
Domain-- Usually there is some universal set or domain implicitly understood.-- To be more explicit, we can write ∀x ∈Q P(x) .
![Page 25: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/25.jpg)
Syllogism
All men are mortal. ∀xP(x)→ M (x)
Socrates is a man. P(s) {s=constant)
Therefore Socrates is mortal. M (s)
![Page 26: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/26.jpg)
Dummy Variables
Definition
• x is a dummy variable means that x can be replaced by y.
Examples
• ∀xP(x)
• f (x)dx∫• (lambda(x) (+x x))
![Page 27: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/27.jpg)
Bound and Free
Examples
• ∀x(…P(x)…) -- x is bound to ∀x
• ∀x(x < y) -- x is bound, y is free
• Free and bound apply only with respect to a specific scope
-- ∀x ∃xP(x)( )∨ ∀y(y > x)( ){ }
-- different x’s
-- different scopes
![Page 28: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/28.jpg)
Scope
Rules
1. A name (variable) refers to the innermost definition for that name.
2. Misuse of scope = common pitfall
3. Variables with no quantifiers, depend on context!
a. sin2x + cos2x = 1 -- ∀x
b. x3 – 2x +1 = 0 -- ∃x
4. Official Rule
a. free variables are implicitly quantified by ∀
5. Practical Rule
a. depends on context
b. get clarification
![Page 29: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/29.jpg)
Substitution
Definition
• P(t |x) means result of substituting t for x
-- t = term, x = variable
Example
• P(x) = ∃y(y > x)
-- P(t|x) = ∃y(y > t)
-- P(3z2 + 2|x) = ∃y(y > 3z 2+ 2)
Capture
P(x) = ∃y(y > x)
P(y |x) = ∃y(y > y) -- illegal, common pitfall
![Page 30: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/30.jpg)
Rules for Manipulating Predicates
1. ∀x∀yP(x,y) = ∀y∀xP(x,y)
2. ∃x∃yP(x,y) = ∃y∃xP(x,y)
3. ∃x∀yP(x,y) → ∀y∃xP(x,y)
• ∃x∀yP(x,y) -- x cannot depend on y
• ∀y∃xP(x,y) -- x can depend on y {x(y)}
4. ~∀xP(x) = ∃x∼P(x) De Morgan’s
5. ~∃xP(x) = ∀x∼P(x) Laws
6. ∀x{P(x)^Q(x)} = {∀xP(x)}^{∀xQ(x)} Associativity and
7. ∃x{P(x)∨Q(x)} = {∃xP(x)}∨{∃x Q(x)} Commutativity Laws
![Page 31: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/31.jpg)
Rules for Manipulating Predicates (continued)
8. ∀x{P(x)∨Q(x)} ← {∀xP(x)}∨{∀xQ(x)} And/Or
• {∀xP(x)}∨{∀xQ(x)} -- different x for P and Q
• ∀x{P(x)∨Q(x)} -- same x for P and Q
9. ∃x{P(x)^Q(x)} → {∃xP(x)}^{∃x Q(x)} Don’t Commute
• ∃x{P(x)^Q(x)} -- same x for P and Q
• {∃xP(x)}^{∃x Q(x)} -- different x for P and Q
10. If x is not free in P, then• P = ∀xP(x)
• P = ∃xP(x)
11. ∀x{P(x)↔Q(x)} = ∀x{P(x)→Q(x)}^∀x{Q(x)→P(x)}
![Page 32: Logic - clear.rice.edu · • Propositional Calculus is the Calculus of Operators. • Operators have the usual informal meanings. • Formal meanings are provided by Truth tables.](https://reader034.fdocuments.us/reader034/viewer/2022050121/5f5156dbe5f918157102c079/html5/thumbnails/32.jpg)
Analogies
1. ∀ ≅ AND
2. ∃ ≅ OR
Note these analogies are exact over finite domains.