SlideShare a Scribd company logo
1 of 46
Introduction to Logic
Sections 1.1, 1.2, 1.3 of Rosen
Spring 2017
CSCE 235H Introduction to Discrete Structures (Honors)
URL: cse.unl.edu/~cse235h
All questions: Piazza
Logic
CSCE 235 2
Introduction: Logic?
• We will study
– Propositional Logic (PL)
– First-Order Logic (FOL)
• Logic
– is the study of the logic relationships between
objects and
– forms the basis of all mathematical reasoning and
all automated reasoning
Logic
CSCE 235 3
Introduction: PL?
• Topic
Propositional Logic (PL) = Propositional Calculus =
Sentential Logic
• In PL, the objects are called propositions
• Definition: A proposition is a statement that is
either true or false, but not both
• We usually denote a proposition by a letter:
p, q, r, s, …
Logic
CSCE 235 4
Outline
• Defining Propositional Logic
– Propositions
– Connectives
– Precedence of Logical Operators
– Truth tables
• Usefulness of Logic
– Bitwise operations
– Logic in Theoretical Computer Science (SAT)
– Logic in Programming
• Logical Equivalences
– Terminology
– Truth tables
– Equivalence rules
Logic
CSCE 235 5
Introduction: Proposition
• Definition: The value of a proposition is called
its truth value; denoted by
– T or 1 if it is true or
– F or 0 if it is false
• Opinions, interrogatives, and imperatives are
not propositions
• Truth table p
0
1
Logic
CSCE 235 6
Propositions: Examples
• The following are propositions
– Today is Monday M
– The grass is wet W
– It is raining R
• The following are not propositions
– C++ is the best language Opinion
– When is the pretest? Interrogative
– Do your homework Imperative
Logic
CSCE 235 7
Are these propositions?
• 2+2=5
• Every integer is divisible by 12
– ALERT: This statement is not a proposition: we
cannot determine whether it is true or false.
• Microsoft is an excellent company
Logic
CSCE 235 8
Logical connectives
• Connectives are used to create a compound
proposition from two or more propositions
– Negation (e.g., a or !a or ā) $neg$, $bar$
– And or logical conjunction (denoted ) $wedge$
– OR or logical disjunction (denoted ) $vee$
– XOR or exclusive or (denoted ) $oplus$
– Impli ion (denoted  or )
$Rightarrow$, $rightarrow$
– Biconditional (denoted  or )
$LeftRightarrow$, $leftrightarrow$
• We define the meaning (semantics) of the logical
connectives using truth tables
Logic
CSCE 235 9
Precedence of Logical Operators
• As in arithmetic, an ordering is imposed on the use of logical
operators in compound propositions
• However, it is preferable to use parentheses to disambiguate
operators and facilitate readability
 p  q   r  (p)  (q  (r))
• To avoid unnecessary parenthesis, the following precedences
hold:
1. Negation ()
2. Conjunction ()
3. Disjunction ()
4. Implication ()
5. Biconditional ()
Logic
CSCE 235 10
Logical Connective: Negation
• p, the negation of a proposition p, is also a
proposition
• Examples:
– Today is not Monday
– It is not the case that today is Monday, etc.
• Truth table
p p
0 1
1 0
Logic
CSCE 235 11
Logical Connective: Logical And
• The logical connective And is true only when both of the
propositions are true. It is also called a conjunction
• Examples
– It is raining and it is warm
– (2+3=5) and (1<2)
– Schroedinger’s cat is dead and Schroedinger’s cat is not dead.
• Truth table
p q pq
0 0
0 1
1 0
1 1
Logic
CSCE 235 12
Logical Connective: Logical OR
• The logical disjunction, or logical OR, is true if one or
both of the propositions are true.
• Examples
– It is raining or it is the second lecture
– (2+2=5)  (1<2)
– You may have cake or ice cream
• Truth table p q pq pq
0 0 0
0 1 0
1 0 0
1 1 1
Logic
CSCE 235 13
Logical Connective: Exclusive Or
• The exclusive OR, or XOR, of two propositions is true when
exactly one of the propositions is true and the other one is
false
• Example
– The circuit is either ON or OFF but not both
– Let ab<0, then either a<0 or b<0 but not both
– You may have cake or ice cream, but not both
• Truth table p q pq pq pq
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
Logic
CSCE 235 14
Logical Connective: Implication (1)
• Definition: Let p and q be two propositions. The
implication pq is the proposition that is false when
p is true and q is false and true otherwise
– p is called the hypothesis, antecedent, premise
– q is called the conclusion, consequence
• Truth table
p q pq pq pq pq
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
Logic
CSCE 235 15
Logical Connective: Implication (2)
• The implication of pq can be also read as
– If p then q
– p implies q
– If p, q
– p only if q
– q if p
– q when p
– q whenever p
– q follows from p
– p is a sufficient condition for q (p is sufficient for q)
– q is a necessary condition for p (q is necessary for p)
Logic
CSCE 235 16
Logical Connective: Implication (3)
• Examples
– If you buy you air ticket in advance, it is cheaper.
– If x is an integer, then x2  0.
– If it rains, the grass gets wet.
– If the sprinklers operate, the grass gets wet.
– If 2+2=5, then all unicorns are pink.
Logic
CSCE 235 17
Exercise: Which of the following implications is true?
• If -1 is a positive number, then 2+2=5
• If -1 is a positive number, then 2+2=4
• If you get an 100% on your Midterm 1, then
you will have an A+ on CSCE235
True. The premise is obviously false, thus no matter what the
conclusion is, the implication holds.
True. Same as above.
False. Your grades homework, quizzes, Midterm 2, and Final, if
they are bad, would prevent you from having an A+.
Logic
CSCE 235 18
Logical Connective: Biconditional (1)
• Definition: The biconditional pq is the
proposition that is true when p and q have the
same truth values. It is false otherwise.
• Note that it is equivalent to (pq)(qp)
• Truth table p q pq pq pq pq pq
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 1
Logic
CSCE 235 19
Logical Connective: Biconditional (2)
• The biconditional pq can be equivalently read
as
– p if and only if q
– p is a necessary and sufficient condition for q
– if p then q, and conversely
– p iff q
• Examples
– x>0 if and only if x2 is positive
– The alarm goes off iff a burglar breaks in
– You may have pudding iff you eat your meat
Logic
CSCE 235 20
Exercise:Which of the following biconditionals is true?
• x2 + y2 = 0 if and only if x=0 and y=0
• 2 + 2 = 4 if and only if 2<2
• x2  0 if and only if x  0
True. Both implications hold
True. Both implications hold.
False. The implication “if x  0 then x2  0” holds.
However, the implication “if x2  0 then x  0” is false.
Consider x=-1.
The hypothesis (-1)2=1  0 but the conclusion fails.
Logic
CSCE 235 21
Converse, Inverse, Contrapositive
• Consider the proposition p  q
– Its converse is the proposition q  p
– Its inverse is the proposition p  q
– Its contrapositive is the proposition q  p
Logic
CSCE 235 22
Truth Tables
• Truth tables are used to show/define the
relationships between the truth values of
– the individual propositions and
– the compound propositions based on them
p q pq pq pq pq pq
0 0 0 0 0 1 1
0 1 0 1 1 1 0
1 0 0 1 1 0 0
1 1 1 1 0 1 1
Logic
CSCE 235 23
Constructing Truth Tables
• Construct the truth table for the following
compound proposition
(( p  q ) q )
p q pq q (( p  q ) q )
0 0 0 1 1
0 1 0 0 0
1 0 0 1 1
1 1 1 0 1
Logic
CSCE 235 24
Outline
• Defining Propositional Logic
– Propositions
– Connectives
– Precedence of Logical Operators
– Truth tables
• Usefulness of Logic
– Bitwise operations
– Logic in Theoretical Computer Science (SAT)
– Logic in Programming
• Logical Equivalences
– Terminology
– Truth tables
– Equivalence rules
Logic
CSCE 235 25
Usefulness of Logic
• Logic is more precise than natural language
– You may have cake or ice cream.
• Can I have both?
– If you buy your air ticket in advance, it is cheaper.
• Are there or not cheap last-minute tickets?
• For this reason, logic is used for hardware and
software specification
– Given a set of logic statements,
– One can decide whether or not they are satisfiable
(i.e., consistent), although this is a costly process…
Logic
CSCE 235 26
Bitwise Operations
• Computers represent information as bits (binary digits)
• A bit string is a sequence of bits
• The length of the string is the number of bits in the string
• Logical connectives can be applied to bit strings of equal
length
• Example 0110 1010 1101
0101 0010 1111
_____________
Bitwise OR 0111 1010 1111
Bitwise AND ...
Bitwise XOR …
Logic
CSCE 235 27
Logic in TCS
• What is SAT? SAT is the problem of determining
whether or not a sentence in propositional logic
(PL) is satisfiable.
– Given: a PL sentence
– Question: Determine whether or not it is satisfiable
• Characterizing SAT as an NP-complete problem
(complexity class) is at the foundation of
Theoretical Computer Science.
• What is a PL sentence? What does satisfiable
mean?
Logic
CSCE 235 28
Logic in TCS: A Sentence in PL
• A Boolean variable is a variable that can have a value 1
or 0. Thus, Boolean variable is a proposition.
• A term is a Boolean variable
• A literal is a term or its negation
• A clause is a disjunction of literals
• A sentence in PL is a conjunction of clauses
• Example: (a  b  c  d)  (b  c)  (a  c  d)
• A sentence in PL is satisfiable iff
– we can assign a truth value
– to each Boolean variables
– such that the sentence evaluates to true (i.e., holds)
Logic
CSCE 235 29
SAT in TCS
• Problem
– Given: A sentence in PL (a complex proposition),
which is
• Boolean variables connected with logical connectives
• Usually, as a conjunction of clauses (CNF = Conjunctive
Normal Form)
– Question:
• Find an assignment of truth values [0|1] to the variables
• That makes the sentence true, i.e. the sentence holds
Logic
CSCE 235 30
Logic in Programming: Example 1
• Say you need to define a conditional
statement as follows:
– Increment x if the following condition holds
(x > 0 and x < 10) or x=10
• You may try: If (0<x<10 OR x=10) x++;
• Can’t be written in C++ or Java
• How can you modify this statement by using
logical equivalence
• Answer: If (x>0 AND x<=10) x++;
Logic
CSCE 235 31
Logic in Programming: Example 2
• Say we have the following loop
While
((i<size AND A[i]>10) OR
(i<size AND A[i]<0) OR
(i<size AND (NOT (A[i]!=0 AND NOT (A[i]>=10)))))
• Is this a good code? Keep in mind:
– Readability
– Extraneous code is inefficient and poor style
– Complicated code is more prone to errors and difficult
to debug
– Solution? Comes later…
Logic
CSCE 235 32
Outline
• Defining Propositional Logic
– Propositions
– Connectives
– Precedence of Logical Operators
– Truth tables
• Usefulness of Logic
– Bitwise operations
– Logic in Theoretical Computer Science (SAT)
– Logic in Programming
• Logical Equivalences
– Terminology
– Truth tables
– Equivalence rules
Logic
CSCE 235 33
Propositional Equivalences: Introduction
• In order to manipulate a set of statements (here,
logical propositions) for the sake of mathematical
argumentation, an important step is to replace
• one statement with
• another equivalent statement
• (i.e., with the same truth value)
• Below, we discuss
– Terminology
– Establishing logical equivalences using truth tables
– Establishing logical equivalences using known laws (of
logical equivalences)
Logic
CSCE 235 34
Terminology:
Tautology, Contradictions, Contingencies
• Definitions
– A compound proposition that is always true, no
matter what the truth values of the propositions that
occur in it is called a tautology
– A compound proposition that is always false is called a
contradiction
– A proposition that is neither a tautology nor a
contradiction is a contingency
• Examples
– A simple tautology is p  p
– A simple contradiction is p  p
Logic
CSCE 235 35
Logical Equivalences: Definition
• Definition: Propositions p and q are logically
equivalent if p  q is a tautology.
• Informally, p and q are equivalent if whenever
p is true, q is true, and vice versa
• Notation: p  q (p is equivalent to q), p  q,
and p  q
• Alert:  is not a logical connective $equiv$
Logic
CSCE 235 36
Logical Equivalences: Example 1
• Are the propositions (p  q) and (p  q)
logically equivalent?
• To find out, we construct the truth tables for
each: p q pq p pq
0 0
0 1
1 0
1 1
The two columns in the truth table are identical, thus we conclude that
(p  q)  (p  q)
Logic
CSCE 235 37
Logical Equivalences: Example 1
• Show that (Exercise 25 from Rosen)
(p  r)  (q  r)  (p  q)  r
p q r p r q r (p r)  (q  r) p  q (p  q)  r
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Logic
CSCE 235 38
• In order to manipulate a set of statements (here,
logical propositions) for the sake of mathematical
argumentation, an important step is to replace
• one statement with
• another equivalent statement
• (i.e., with the same truth value)
• Below, we discuss
– Terminology
– Establishing logical equivalences using truth tables
– Establishing logical equivalences using known laws
(of logical equivalences)
Propositional Equivalences: Introduction
Logic
CSCE 235 39
Logical Equivalences: Cheat Sheet
• Table of logical equivalences can be found in
Rosen (Table 6, page 27)
• These and other can be found in a handout on
the course web page:
http://www.cse.unl.edu/~choueiry/S17-
235h/files/LogicalEquivalences.pdf
• Let’s take a quick look at this Cheat Sheet
Logic
CSCE 235 40
Using Logical Equivalences: Example 1
• Logical equivalences can be used to construct
additional logical equivalences
• Example: Show that (p  q) q is a tautology
0. (p  q) q
1.  (p  q)  q Implication Law on 0
2.  (p  q)  q De Morgan’s Law (1st) on 1
3.  p  (q  q) Associative Law on 2
4.  p  1 Negation Law on 3
5.  1 Domination Law on 4
Logic
CSCE 235 41
My Advice
• Remove double implication
• Replace implication by disjunction
• Push negation inwards
• Distribute
Logic
CSCE 235 42
Using Logical Equivalences: Example 2
• Example (Exercise 17)*: Show that (p  q)  (p  q)
• Sometimes it helps to start with the second proposition (p  q)
0. (p  q)
1.  (p  q)  (q  p) Equivalence Law on 0
2.  (p  q)  (q  p) Implication Law on
1
3.  (((p  q)  (q  p))) Double negation on 2
4.  ((p  q)  (q  p)) De Morgan’s
Law…
5.  ((p  q)  (q  p)) De Morgan’s
Law
6.  ((p  q)  (p  p)  (q  q)  (q  p)) Distribution Law
7.  ((p  q)  (q  p)) Identity Law
8.  ((q  p )  (p  q)) Implication Law
9.  (p  q) Equivalence Law
*See Table 8 (p 25) but you are not allowed to use the table for the proof
Logic
CSCE 235 43
Using Logical Equivalences: Example 3
• Show that (q  p)  (p  q)  q
0. (q  p)  (p  q)
1.  (q  p)  (p  q) Implication Law
2.  (q  p)  (p  q) De Morgan’s
& Double negation
3.  (q  p)  (q  p) Commutative Law
4.  q  (p  p) Distributive Law
5.  q  1 Identity Law
 q Identity Law
Logic
CSCE 235 44
Proving Logical Equivalences: Summary
• Proving two PL sentences A,B are equivalent using TT + EL
1. Verify that the 2 columns of A, B in the truth table are the same (i.e.,
A,B have the same models)
2. Verify that the column of (AB)  (BA) in the truth table has all 1
entries (it is a tautology)
3. Apply a sequence of Equivalence Laws
• Put A, B in CNF, they should be the same
• Sequence of equivalence laws: Biconditional, implication, moving
negation inwards, distributivity
4. Apply a sequence of Inference Laws
• Starting from one sentence, usually the most complex one,
• Until reaching the second sentence
Logic
CSCE 235 45
Logic in Programming: Example 2
(revisited)
• Recall the loop
While
((i<size AND A[i]>10) OR
(i<size AND A[i]<0) OR
(i<size AND (NOT (A[i]!=0 AND NOT (A[i]>=10)))))
• Now, using logical equivalences, simplify it!
• Using De Morgan’s Law and Distributivity
While ((i<size) AND
((A[i]>10 OR A[i]<0) OR
(A[i]==0 OR A[i]>=10)))
• Noticing the ranges of the 4 conditions of A[i]
While ((i<size) AND (A[i]>=10 OR A[i]<=0))
Logic
CSCE 235 46
Programming Pitfall Note
• In C, C++ and Java, applying the commutative
law is not such a good idea.
• For example, consider accessing an integer
array A of size n:
if (i<n && A[i]==0) i++;
is not equivalent to
if (A[i]==0 && i<n) i++;

More Related Content

Similar to Introduction to Logic Spring 2007 Introduction to Discrete Structures.ppt

Discrete Mathematics - All chapters
Discrete Mathematics - All chapters Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
Omnia A. Abdullah
 
20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison
Computer Science Club
 

Similar to Introduction to Logic Spring 2007 Introduction to Discrete Structures.ppt (20)

Discrete Mathematics - All chapters
Discrete Mathematics - All chapters Discrete Mathematics - All chapters
Discrete Mathematics - All chapters
 
Discrete mathematics suraj ppt
Discrete mathematics suraj pptDiscrete mathematics suraj ppt
Discrete mathematics suraj ppt
 
Ch01-1.ppt
Ch01-1.pptCh01-1.ppt
Ch01-1.ppt
 
Ch01-1.ppt
Ch01-1.pptCh01-1.ppt
Ch01-1.ppt
 
Ch01-1.pdf
Ch01-1.pdfCh01-1.pdf
Ch01-1.pdf
 
20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison
 
Fuzzy Systems by using fuzzy set (Soft Computing)
Fuzzy Systems by using fuzzy set (Soft Computing)Fuzzy Systems by using fuzzy set (Soft Computing)
Fuzzy Systems by using fuzzy set (Soft Computing)
 
Predicate logic_2(Artificial Intelligence)
Predicate logic_2(Artificial Intelligence)Predicate logic_2(Artificial Intelligence)
Predicate logic_2(Artificial Intelligence)
 
Logic DM
Logic DMLogic DM
Logic DM
 
PredicatesQuantifiers.docx
PredicatesQuantifiers.docxPredicatesQuantifiers.docx
PredicatesQuantifiers.docx
 
Fuzzy logic
Fuzzy logicFuzzy logic
Fuzzy logic
 
Top school in delhi ncr
Top school in delhi ncrTop school in delhi ncr
Top school in delhi ncr
 
Discrete Structure Lecture #5 & 6.pdf
Discrete Structure Lecture #5 & 6.pdfDiscrete Structure Lecture #5 & 6.pdf
Discrete Structure Lecture #5 & 6.pdf
 
1. Logic and Proofs.ppt
1. Logic and Proofs.ppt1. Logic and Proofs.ppt
1. Logic and Proofs.ppt
 
02-boolean.ppt
02-boolean.ppt02-boolean.ppt
02-boolean.ppt
 
ch7_slidesB.pdf
ch7_slidesB.pdfch7_slidesB.pdf
ch7_slidesB.pdf
 
m7-logic.ppt
m7-logic.pptm7-logic.ppt
m7-logic.ppt
 
lecture011712 (1).ppt
lecture011712 (1).pptlecture011712 (1).ppt
lecture011712 (1).ppt
 
Discrete Math Chapter 1 :The Foundations: Logic and Proofs
Discrete Math Chapter 1 :The Foundations: Logic and ProofsDiscrete Math Chapter 1 :The Foundations: Logic and Proofs
Discrete Math Chapter 1 :The Foundations: Logic and Proofs
 
DMS UNIT-1 ppt.pptx
DMS UNIT-1 ppt.pptxDMS UNIT-1 ppt.pptx
DMS UNIT-1 ppt.pptx
 

Recently uploaded

Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 

Recently uploaded (20)

UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
The Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFThe Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDF
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
 
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdfRich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17
 
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
PSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptxPSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptx
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 

Introduction to Logic Spring 2007 Introduction to Discrete Structures.ppt

  • 1. Introduction to Logic Sections 1.1, 1.2, 1.3 of Rosen Spring 2017 CSCE 235H Introduction to Discrete Structures (Honors) URL: cse.unl.edu/~cse235h All questions: Piazza
  • 2. Logic CSCE 235 2 Introduction: Logic? • We will study – Propositional Logic (PL) – First-Order Logic (FOL) • Logic – is the study of the logic relationships between objects and – forms the basis of all mathematical reasoning and all automated reasoning
  • 3. Logic CSCE 235 3 Introduction: PL? • Topic Propositional Logic (PL) = Propositional Calculus = Sentential Logic • In PL, the objects are called propositions • Definition: A proposition is a statement that is either true or false, but not both • We usually denote a proposition by a letter: p, q, r, s, …
  • 4. Logic CSCE 235 4 Outline • Defining Propositional Logic – Propositions – Connectives – Precedence of Logical Operators – Truth tables • Usefulness of Logic – Bitwise operations – Logic in Theoretical Computer Science (SAT) – Logic in Programming • Logical Equivalences – Terminology – Truth tables – Equivalence rules
  • 5. Logic CSCE 235 5 Introduction: Proposition • Definition: The value of a proposition is called its truth value; denoted by – T or 1 if it is true or – F or 0 if it is false • Opinions, interrogatives, and imperatives are not propositions • Truth table p 0 1
  • 6. Logic CSCE 235 6 Propositions: Examples • The following are propositions – Today is Monday M – The grass is wet W – It is raining R • The following are not propositions – C++ is the best language Opinion – When is the pretest? Interrogative – Do your homework Imperative
  • 7. Logic CSCE 235 7 Are these propositions? • 2+2=5 • Every integer is divisible by 12 – ALERT: This statement is not a proposition: we cannot determine whether it is true or false. • Microsoft is an excellent company
  • 8. Logic CSCE 235 8 Logical connectives • Connectives are used to create a compound proposition from two or more propositions – Negation (e.g., a or !a or ā) $neg$, $bar$ – And or logical conjunction (denoted ) $wedge$ – OR or logical disjunction (denoted ) $vee$ – XOR or exclusive or (denoted ) $oplus$ – Impli ion (denoted  or ) $Rightarrow$, $rightarrow$ – Biconditional (denoted  or ) $LeftRightarrow$, $leftrightarrow$ • We define the meaning (semantics) of the logical connectives using truth tables
  • 9. Logic CSCE 235 9 Precedence of Logical Operators • As in arithmetic, an ordering is imposed on the use of logical operators in compound propositions • However, it is preferable to use parentheses to disambiguate operators and facilitate readability  p  q   r  (p)  (q  (r)) • To avoid unnecessary parenthesis, the following precedences hold: 1. Negation () 2. Conjunction () 3. Disjunction () 4. Implication () 5. Biconditional ()
  • 10. Logic CSCE 235 10 Logical Connective: Negation • p, the negation of a proposition p, is also a proposition • Examples: – Today is not Monday – It is not the case that today is Monday, etc. • Truth table p p 0 1 1 0
  • 11. Logic CSCE 235 11 Logical Connective: Logical And • The logical connective And is true only when both of the propositions are true. It is also called a conjunction • Examples – It is raining and it is warm – (2+3=5) and (1<2) – Schroedinger’s cat is dead and Schroedinger’s cat is not dead. • Truth table p q pq 0 0 0 1 1 0 1 1
  • 12. Logic CSCE 235 12 Logical Connective: Logical OR • The logical disjunction, or logical OR, is true if one or both of the propositions are true. • Examples – It is raining or it is the second lecture – (2+2=5)  (1<2) – You may have cake or ice cream • Truth table p q pq pq 0 0 0 0 1 0 1 0 0 1 1 1
  • 13. Logic CSCE 235 13 Logical Connective: Exclusive Or • The exclusive OR, or XOR, of two propositions is true when exactly one of the propositions is true and the other one is false • Example – The circuit is either ON or OFF but not both – Let ab<0, then either a<0 or b<0 but not both – You may have cake or ice cream, but not both • Truth table p q pq pq pq 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1
  • 14. Logic CSCE 235 14 Logical Connective: Implication (1) • Definition: Let p and q be two propositions. The implication pq is the proposition that is false when p is true and q is false and true otherwise – p is called the hypothesis, antecedent, premise – q is called the conclusion, consequence • Truth table p q pq pq pq pq 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0
  • 15. Logic CSCE 235 15 Logical Connective: Implication (2) • The implication of pq can be also read as – If p then q – p implies q – If p, q – p only if q – q if p – q when p – q whenever p – q follows from p – p is a sufficient condition for q (p is sufficient for q) – q is a necessary condition for p (q is necessary for p)
  • 16. Logic CSCE 235 16 Logical Connective: Implication (3) • Examples – If you buy you air ticket in advance, it is cheaper. – If x is an integer, then x2  0. – If it rains, the grass gets wet. – If the sprinklers operate, the grass gets wet. – If 2+2=5, then all unicorns are pink.
  • 17. Logic CSCE 235 17 Exercise: Which of the following implications is true? • If -1 is a positive number, then 2+2=5 • If -1 is a positive number, then 2+2=4 • If you get an 100% on your Midterm 1, then you will have an A+ on CSCE235 True. The premise is obviously false, thus no matter what the conclusion is, the implication holds. True. Same as above. False. Your grades homework, quizzes, Midterm 2, and Final, if they are bad, would prevent you from having an A+.
  • 18. Logic CSCE 235 18 Logical Connective: Biconditional (1) • Definition: The biconditional pq is the proposition that is true when p and q have the same truth values. It is false otherwise. • Note that it is equivalent to (pq)(qp) • Truth table p q pq pq pq pq pq 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1
  • 19. Logic CSCE 235 19 Logical Connective: Biconditional (2) • The biconditional pq can be equivalently read as – p if and only if q – p is a necessary and sufficient condition for q – if p then q, and conversely – p iff q • Examples – x>0 if and only if x2 is positive – The alarm goes off iff a burglar breaks in – You may have pudding iff you eat your meat
  • 20. Logic CSCE 235 20 Exercise:Which of the following biconditionals is true? • x2 + y2 = 0 if and only if x=0 and y=0 • 2 + 2 = 4 if and only if 2<2 • x2  0 if and only if x  0 True. Both implications hold True. Both implications hold. False. The implication “if x  0 then x2  0” holds. However, the implication “if x2  0 then x  0” is false. Consider x=-1. The hypothesis (-1)2=1  0 but the conclusion fails.
  • 21. Logic CSCE 235 21 Converse, Inverse, Contrapositive • Consider the proposition p  q – Its converse is the proposition q  p – Its inverse is the proposition p  q – Its contrapositive is the proposition q  p
  • 22. Logic CSCE 235 22 Truth Tables • Truth tables are used to show/define the relationships between the truth values of – the individual propositions and – the compound propositions based on them p q pq pq pq pq pq 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1
  • 23. Logic CSCE 235 23 Constructing Truth Tables • Construct the truth table for the following compound proposition (( p  q ) q ) p q pq q (( p  q ) q ) 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1
  • 24. Logic CSCE 235 24 Outline • Defining Propositional Logic – Propositions – Connectives – Precedence of Logical Operators – Truth tables • Usefulness of Logic – Bitwise operations – Logic in Theoretical Computer Science (SAT) – Logic in Programming • Logical Equivalences – Terminology – Truth tables – Equivalence rules
  • 25. Logic CSCE 235 25 Usefulness of Logic • Logic is more precise than natural language – You may have cake or ice cream. • Can I have both? – If you buy your air ticket in advance, it is cheaper. • Are there or not cheap last-minute tickets? • For this reason, logic is used for hardware and software specification – Given a set of logic statements, – One can decide whether or not they are satisfiable (i.e., consistent), although this is a costly process…
  • 26. Logic CSCE 235 26 Bitwise Operations • Computers represent information as bits (binary digits) • A bit string is a sequence of bits • The length of the string is the number of bits in the string • Logical connectives can be applied to bit strings of equal length • Example 0110 1010 1101 0101 0010 1111 _____________ Bitwise OR 0111 1010 1111 Bitwise AND ... Bitwise XOR …
  • 27. Logic CSCE 235 27 Logic in TCS • What is SAT? SAT is the problem of determining whether or not a sentence in propositional logic (PL) is satisfiable. – Given: a PL sentence – Question: Determine whether or not it is satisfiable • Characterizing SAT as an NP-complete problem (complexity class) is at the foundation of Theoretical Computer Science. • What is a PL sentence? What does satisfiable mean?
  • 28. Logic CSCE 235 28 Logic in TCS: A Sentence in PL • A Boolean variable is a variable that can have a value 1 or 0. Thus, Boolean variable is a proposition. • A term is a Boolean variable • A literal is a term or its negation • A clause is a disjunction of literals • A sentence in PL is a conjunction of clauses • Example: (a  b  c  d)  (b  c)  (a  c  d) • A sentence in PL is satisfiable iff – we can assign a truth value – to each Boolean variables – such that the sentence evaluates to true (i.e., holds)
  • 29. Logic CSCE 235 29 SAT in TCS • Problem – Given: A sentence in PL (a complex proposition), which is • Boolean variables connected with logical connectives • Usually, as a conjunction of clauses (CNF = Conjunctive Normal Form) – Question: • Find an assignment of truth values [0|1] to the variables • That makes the sentence true, i.e. the sentence holds
  • 30. Logic CSCE 235 30 Logic in Programming: Example 1 • Say you need to define a conditional statement as follows: – Increment x if the following condition holds (x > 0 and x < 10) or x=10 • You may try: If (0<x<10 OR x=10) x++; • Can’t be written in C++ or Java • How can you modify this statement by using logical equivalence • Answer: If (x>0 AND x<=10) x++;
  • 31. Logic CSCE 235 31 Logic in Programming: Example 2 • Say we have the following loop While ((i<size AND A[i]>10) OR (i<size AND A[i]<0) OR (i<size AND (NOT (A[i]!=0 AND NOT (A[i]>=10))))) • Is this a good code? Keep in mind: – Readability – Extraneous code is inefficient and poor style – Complicated code is more prone to errors and difficult to debug – Solution? Comes later…
  • 32. Logic CSCE 235 32 Outline • Defining Propositional Logic – Propositions – Connectives – Precedence of Logical Operators – Truth tables • Usefulness of Logic – Bitwise operations – Logic in Theoretical Computer Science (SAT) – Logic in Programming • Logical Equivalences – Terminology – Truth tables – Equivalence rules
  • 33. Logic CSCE 235 33 Propositional Equivalences: Introduction • In order to manipulate a set of statements (here, logical propositions) for the sake of mathematical argumentation, an important step is to replace • one statement with • another equivalent statement • (i.e., with the same truth value) • Below, we discuss – Terminology – Establishing logical equivalences using truth tables – Establishing logical equivalences using known laws (of logical equivalences)
  • 34. Logic CSCE 235 34 Terminology: Tautology, Contradictions, Contingencies • Definitions – A compound proposition that is always true, no matter what the truth values of the propositions that occur in it is called a tautology – A compound proposition that is always false is called a contradiction – A proposition that is neither a tautology nor a contradiction is a contingency • Examples – A simple tautology is p  p – A simple contradiction is p  p
  • 35. Logic CSCE 235 35 Logical Equivalences: Definition • Definition: Propositions p and q are logically equivalent if p  q is a tautology. • Informally, p and q are equivalent if whenever p is true, q is true, and vice versa • Notation: p  q (p is equivalent to q), p  q, and p  q • Alert:  is not a logical connective $equiv$
  • 36. Logic CSCE 235 36 Logical Equivalences: Example 1 • Are the propositions (p  q) and (p  q) logically equivalent? • To find out, we construct the truth tables for each: p q pq p pq 0 0 0 1 1 0 1 1 The two columns in the truth table are identical, thus we conclude that (p  q)  (p  q)
  • 37. Logic CSCE 235 37 Logical Equivalences: Example 1 • Show that (Exercise 25 from Rosen) (p  r)  (q  r)  (p  q)  r p q r p r q r (p r)  (q  r) p  q (p  q)  r 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
  • 38. Logic CSCE 235 38 • In order to manipulate a set of statements (here, logical propositions) for the sake of mathematical argumentation, an important step is to replace • one statement with • another equivalent statement • (i.e., with the same truth value) • Below, we discuss – Terminology – Establishing logical equivalences using truth tables – Establishing logical equivalences using known laws (of logical equivalences) Propositional Equivalences: Introduction
  • 39. Logic CSCE 235 39 Logical Equivalences: Cheat Sheet • Table of logical equivalences can be found in Rosen (Table 6, page 27) • These and other can be found in a handout on the course web page: http://www.cse.unl.edu/~choueiry/S17- 235h/files/LogicalEquivalences.pdf • Let’s take a quick look at this Cheat Sheet
  • 40. Logic CSCE 235 40 Using Logical Equivalences: Example 1 • Logical equivalences can be used to construct additional logical equivalences • Example: Show that (p  q) q is a tautology 0. (p  q) q 1.  (p  q)  q Implication Law on 0 2.  (p  q)  q De Morgan’s Law (1st) on 1 3.  p  (q  q) Associative Law on 2 4.  p  1 Negation Law on 3 5.  1 Domination Law on 4
  • 41. Logic CSCE 235 41 My Advice • Remove double implication • Replace implication by disjunction • Push negation inwards • Distribute
  • 42. Logic CSCE 235 42 Using Logical Equivalences: Example 2 • Example (Exercise 17)*: Show that (p  q)  (p  q) • Sometimes it helps to start with the second proposition (p  q) 0. (p  q) 1.  (p  q)  (q  p) Equivalence Law on 0 2.  (p  q)  (q  p) Implication Law on 1 3.  (((p  q)  (q  p))) Double negation on 2 4.  ((p  q)  (q  p)) De Morgan’s Law… 5.  ((p  q)  (q  p)) De Morgan’s Law 6.  ((p  q)  (p  p)  (q  q)  (q  p)) Distribution Law 7.  ((p  q)  (q  p)) Identity Law 8.  ((q  p )  (p  q)) Implication Law 9.  (p  q) Equivalence Law *See Table 8 (p 25) but you are not allowed to use the table for the proof
  • 43. Logic CSCE 235 43 Using Logical Equivalences: Example 3 • Show that (q  p)  (p  q)  q 0. (q  p)  (p  q) 1.  (q  p)  (p  q) Implication Law 2.  (q  p)  (p  q) De Morgan’s & Double negation 3.  (q  p)  (q  p) Commutative Law 4.  q  (p  p) Distributive Law 5.  q  1 Identity Law  q Identity Law
  • 44. Logic CSCE 235 44 Proving Logical Equivalences: Summary • Proving two PL sentences A,B are equivalent using TT + EL 1. Verify that the 2 columns of A, B in the truth table are the same (i.e., A,B have the same models) 2. Verify that the column of (AB)  (BA) in the truth table has all 1 entries (it is a tautology) 3. Apply a sequence of Equivalence Laws • Put A, B in CNF, they should be the same • Sequence of equivalence laws: Biconditional, implication, moving negation inwards, distributivity 4. Apply a sequence of Inference Laws • Starting from one sentence, usually the most complex one, • Until reaching the second sentence
  • 45. Logic CSCE 235 45 Logic in Programming: Example 2 (revisited) • Recall the loop While ((i<size AND A[i]>10) OR (i<size AND A[i]<0) OR (i<size AND (NOT (A[i]!=0 AND NOT (A[i]>=10))))) • Now, using logical equivalences, simplify it! • Using De Morgan’s Law and Distributivity While ((i<size) AND ((A[i]>10 OR A[i]<0) OR (A[i]==0 OR A[i]>=10))) • Noticing the ranges of the 4 conditions of A[i] While ((i<size) AND (A[i]>=10 OR A[i]<=0))
  • 46. Logic CSCE 235 46 Programming Pitfall Note • In C, C++ and Java, applying the commutative law is not such a good idea. • For example, consider accessing an integer array A of size n: if (i<n && A[i]==0) i++; is not equivalent to if (A[i]==0 && i<n) i++;

Editor's Notes

  1. Insist that this form is the CNF