University of Aberdeen, Computing Science CS2013 Mathematics for Computing Science Adam Wyner

1 / 90

University of Aberdeen, Computing Science CS2013 Mathematics for Computing Science Adam Wyner - PowerPoint PPT Presentation

University of Aberdeen, Computing Science CS2013 Mathematics for Computing Science Adam Wyner. Slides adapted from Michael P. Frank ’ s c ourse based on the t ext Discrete Mathematics &amp; Its Applications (5 th Edition) by Kenneth H. Rosen. Propositional Logic.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'University of Aberdeen, Computing Science CS2013 Mathematics for Computing Science Adam Wyner' - afya

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

University of Aberdeen, Computing ScienceCS2013Mathematics for Computing ScienceAdam Wyner

Michael P. Frank’s course based on the textDiscrete Mathematics & Its Applications(5th Edition)by Kenneth H. Rosen

Propositional Logic

Rosen 5th ed., §§1.1-1.2 (but much extended)

~85 slides, ~2 lectures

Foundations of Logic

Mathematical Logic is a tool for working with compound statements. It includes:

• A formal language for expressing them.
• A methodology for reasoning about their truth or falsity.
• It is the foundation for expressing formal proofs in all branches of mathematics.

Frank / van Deemter / Wyner

Two Logical Systems:
• Propositional logic
• Predicate logic (extends 1. )

Many other logical `calculi` exist, but they tend to resemble these two

Frank / van Deemter / Wyner

Propositional Logic (§1.1)

Propositional Logic is the logic of compound statements built from simpler statements using so-called Booleanconnectives.

Some applications in computer science:

• Design of digital electronic circuits.
• Expressing conditions in programs.
• Queries to databases & search engines.

George Boole(1815-1864)

Chrysippus of Soli(ca. 281 B.C. – 205 B.C.)

Frank / van Deemter / Wyner

Propositions in natural language

In propositional logic, a proposition is simply:

• a statement (i.e., a declarative sentence)
• with some definite meaning
• having a truth value that’s either true (T) or false (F). Only values statements can have.
• Never both, or somewhere “in between”. However, you might not know the truth value

Frank / van Deemter / Wyner

Examples of NL Propositions
• “It is raining.”(In a given situation.)
• “Beijing is the capital of China, and 1 + 2 = 2”

But, the following are NOT propositions:

• “Who’s there?”(interrogative: no truth value)
• “x := x+1”(imperative: no truth value)
• “1 + 2”(term: no truth value)

Frank / van Deemter / Wyner

Propositions in Propositional Logic
• Atoms: p, q, r, …(Corresponds with simple English sentences, e.g.‘I had salad for lunch’)
• Complex propositions : built up from atoms using operators: pq(Corresponds with compound English sentences, e.g., “I had salad for lunch andI had steak for dinner.”)

Frank / van Deemter / Wyner

Defining Propositions
• Logic defines notions of atomic and complex propositions and what complex propositions “mean”.
• We explain by example, giving precise definitions.

Frank / van Deemter / Wyner

Operators / Connectives

An operator or connectivecombines with noperand expressions into a larger expression.

• Unary operators take 1 operand;
• Binary operators take 2 operands.
• Propositional or Boolean operators operate on propositions instead of on numbers (+,-).

Frank / van Deemter / Wyner

Common Boolean Operators

Frank / van Deemter / Wyner

The Negation Operator

The unary negation operator“¬” (NOT) combines with one prop, transforming the prop into its negation.

E.g. If p = “I have brown hair.”

then ¬p = “I do not have brown hair.”

The truth table for NOT:

T :≡ True; F :≡ False

“:≡” means “is defined as”

Operandcolumn

Resultcolumn

Frank / van Deemter / Wyner

Truth-functionality
• Truth table expresses truth/falsity of ¬pin terms of truth/falsity of p
• This not possible for the operator ‘tomorrow’, or `probably’:
• ‘Tomorrow p’ is true iff p is ….’??
• ‘Probably p’ is true iff p is ….’??

Frank / van Deemter / Wyner

Truth-functionality
• Truth table expresses truth/falsity of ¬pin terms of truth/falsity of p.
• Each horizontal line of the table expresses some alternative context.
• Truth-functional operator: an operator that is a function from the truth values of the component expressions to a truth value.
• NOT is truth functional. Yesterday is not.
• Propositional logic is only about truth-functional operators.
• We can compute the values of the complex expressions.

Frank / van Deemter / Wyner

Comment on Truth
• Not concerned with the "meaning" of a proposition other than whether it is true or false. Not about "how" we know it is true or false, but supposing it is, what else do we know. Abstraction.
• The "truth" of a proposition determined "by inspection" – The book is on the table. The "real" world.
• The "truth" determined by "stipulation"- suppose The book is on the table is true. Not the "real" world.
• Mostly we are stipulate truth of a proposition. The truth value of P is true/false.

Frank / van Deemter / Wyner

The Conjunction Operator

The binary conjunction operator“” (AND) combines two propositions to form their logical conjunction.

E.g. If p=“I will have salad for lunch.” and q=“I will have steak for dinner.”, then pq=“I will have salad for lunch andI will have steak for dinner.”

Frank / van Deemter / Wyner

Conjunction Truth Table

Operand columns

• Note that aconjunctionp1p2  … pnof n propositionswill have 2n rowsin its truth table.
• Also: ¬ and  operations together can express any Boolean truth table!

more later

Frank / van Deemter / Wyner

The Disjunction Operator

The binary disjunction operator“” (OR) combines two propositions to form their logical disjunction.

p=“My car has a bad engine.”

q=“My car has a bad carburator.”

pq=“Either my car has a bad engine, ormy car has a bad carburetor.”

Frank / van Deemter / Wyner

Disjunction Truth Table
• Note that pq meansthat p is true, or q istrue, or both are true!
• So, this operation isalso called inclusive or,because it includes thepossibility that both p and q are true.
• “¬” and “” together are also universal.

Notedifferencefrom AND

Frank / van Deemter / Wyner

Nested Propositional Expressions
• Use parentheses to group sub-expressions:“I just saw my old friend, and either he’s grown or I’veshrunk.” = f (g  s)

(f g)  s would mean something different

f g  s would be ambiguous

• By convention, “¬” takes precedence over both “” and “”.

¬s  fmeans (¬s) f rather than ¬ (s  f)

Frank / van Deemter / Wyner

Logic as shorthand for NL

Let p=“It rained last night”, q=“The sprinklers came on last night,”r=“The lawn was wet this morning.”

¬p =

r ¬p =

¬ r  p  q =

It didn't rain last night.

The lawn was wet this morning, andit didn’t rain last night.

Either the lawn wasn't wet this morning, or it rained last night, or the sprinklers came on last night.

Frank / van Deemter / Wyner

Some important ideas:
• Distinguishing between different kinds of formulas
• Seeing that some formulas that look different may express the same information
• First: different kinds of formulas

Frank / van Deemter / Wyner

Tautologies

A tautology is a compound proposition that is trueno matter what the truth values of its atomic propositions are!

Ex.p  p[What is its truth table?]

Frank / van Deemter / Wyner

Tautologies
• When every row of the truth table gives T.
• Example: p p T T FT F T TF

Frank / van Deemter / Wyner

A contradiction is a compound proposition that is false no matter what! Ex.p  p [Truth table?]

Frank / van Deemter / Wyner

• When every row of the truth table gives F
• Example: p p T F FT F F TF

Frank / van Deemter / Wyner

Contingencies

All other props. are contingencies:

Some rows give T, others give F

Now: formulas that have the same meaning

Frank / van Deemter / Wyner

Propositional Equivalence

Two syntactically (i.e., textually) different compound propositions may be semantically identical (i.e., have the same meaning). Here semantically identical means just that they have the same truth table for input truth values of the propositions.

We call them logically equivalent.

Notation: …  …

Frank / van Deemter / Wyner

Logical Equivalence

Compound proposition p is logically equivalent to compound proposition q, written pq, IFFp and q contain the same truth values in all rows of their truth tables

We will also say: they express the same truth function (= the same function from values for atoms to values for the whole formula).

Frank / van Deemter / Wyner

Proving Equivalencevia Truth Tables

Ex. Prove that pq  (p  q).

F

T

T

T

F

T

T

F

F

T

T

F

T

F

T

T

F

F

F

T

Shows that OR is equivalent to a combination of NOT and AND.

Frank / van Deemter / Wyner

Before introducing more connectives
• … let us step back and ask a few questions about truth tables

Frank / van Deemter / Wyner

Questions for you to think about
• What does each line of the table "mean"?
• Consider a conjunction p1p2 p3How many rows are there in its truth table?
• Consider a conjunctionp1p2  … pn of n propositions.How many rows are there in its truth table?
• Explain why ¬ and  together are sufficient to express any Boolean truth table

Frank / van Deemter / Wyner

Questions for you to think about
• Consider a conjunction p1p2 p3How many rows are there in its truth table? 8p1p2 p31 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0

Two truth values (0,1) and three propositions:

23 = 8.

Frank / van Deemter / Wyner

Questions for you to think about

2. Consider p1p2  … pnHow many rows are there in its truth table?2*2*2*… *2 (n factors)Hence 2n (This grows exponentially!)

Frank / van Deemter / Wyner

Questions for you to think about

3. Explain why ¬ and  together are sufficient to express anyother complex expression in propositional logic.

Frank / van Deemter / Wyner

Questions for you to think about
• Explain why ¬ and  together are sufficient to express any other complex expression in propositional logic.
• Obviously, if we add new connectives(like ) we can write new formulas.
• CLAIM: these formulas would always be equivalent with ones that only use ¬ and (This is what we need to prove).

Frank / van Deemter / Wyner

Relating AND and OR
• Saying this in a different way: if we add new connectives, we can write new formulas, but these formulas will always only express truth functions that can already be expressed by formulas that only use ¬ and .
• That is, they will be equivalent.
• Example of writing a disjunction in another form (equivalence shown before): p  q  ¬(¬p  ¬q)

Frank / van Deemter / Wyner

Mystery Operator

PQRFormula (containing P,Q,R)

1 1 1 0

1 1 0 1

1 0 1 1

1 0 0 0

0 1 1 0

0 1 0 0

0 0 1 0

0 0 0 0 Does there exist such a Formula?

Suppose, given the truth values of P, Q, and R, we construct a Formula with the given resulting truth value. This is our 'mystery' operator . Can it be written equivalently with NOT and AND.

Frank / van Deemter / Wyner

T-values in Conjunction

3. Explain why ¬ and  together are sufficient to express any Boolean truth table

• Suppose precisely two rows give T.For example, the rows where
• P=T, Q=T, R=F. This is P  Q  ¬R
• P=T, Q=F, R=T. This is P  ¬Q  R

Frank / van Deemter / Wyner

Table as a disjunction of T-rows

Suppose precisely two rows give T.For example, the rows where

• P=T, Q=T, R=F. This is P  Q  ¬R
• P=T, Q=F, R=T. This is P  ¬Q  R
• We’ve proven our claim if we can express the disjunction of these two rows: (P  Q  ¬R)  (P  ¬Q  R)

Frank / van Deemter / Wyner

Disjoining rows of the table
• We’ve arrived if we can express their disjunction: (P  Q  ¬R)  (P  ¬Q  R)
• But we’ve seen that disjunction can be expressed using  and ¬: AB  ¬(¬A  ¬B)
• So: (P  Q  ¬R)  (P  ¬Q  R)  ¬(¬ (P  Q  ¬R)  (P  ¬Q  R))
• We’ve only used  and .

Frank / van Deemter / Wyner

Check

(P  Q  ¬R) (P  ¬Q  R)  ¬(¬ (P  Q  ¬R)  (P  ¬Q  R))

1 1 0 01 0 1 01 0 1 0 1 1 1 0 01 1 1 1 01 0 1

1 1 1 10 1 1 01 0 0 1 0 1 1 1 10 0 1 1 01 0 0

1 00 01 1 1 10 1 1 1 1 1 0 0 01 0 0 1 10 1 1

1 0 0 10 0 1 10 0 0 0 1 1 0 0 10 1 1 1 10 0 0

0 1 0 01 0 0 01 0 1 0 1 0 1 0 01 1 1 0 01 0 1

0 1 0 10 0 0 01 0 0 0 1 0 1 0 10 1 1 0 01 0 0

0 0 0 01 0 0 10 0 1 0 1 0 0 0 01 1 1 0 10 0 1

0 0 0 10 0 0 10 0 0 0 1 0 0 0 10 1 1 0 10 0 0

Notice that we only state where the new mystery connective is true as it is false elsewhere.

Frank / van Deemter / Wyner

• We’ve made our task a bit easier, assuming that there were only 2 rows resulting in T
• But the case with 1 or 3 or 4 or …. rows is analogous (and there are always only finitely many rows.)
• So, the proof can be made precise

Frank / van Deemter / Wyner

Having proved this …
• We can express every possible truth-functional operator in propositional logic in terms of AND and NOT
• This is sometimes called functional completeness. Also universality.
• Reduce other operators to other more basic operators.
• Very useful in computing to reduce complexity of formulas (Normal forms)

Frank / van Deemter / Wyner

• A variant of disjunction
• The conditional
• The biconditional

Frank / van Deemter / Wyner

The Exclusive Or Operator

The binary exclusive-or operator“” (XOR) combines two propositions to form their logical “exclusive or”.

p = “I will earn an A in this course,”

q =“I will drop this course,”

p q = “I will either earn an A in this course, or I will drop it (but not both!)”

Frank / van Deemter / Wyner

Exclusive-Or Truth Table
• Note that pq meansthat p is true, or q istrue, but not both!
• This operation iscalled exclusive or,because it excludes thepossibility that both p and q are true.
• “¬” and “” together are not universal.

Notedifferencefrom OR.

Frank / van Deemter / Wyner

Natural Language is Ambiguous

Note that English“or” can be ambiguous regarding the “both” case!

Need context to disambiguate the meaning!

For this class, assume “or” means inclusive.

Frank / van Deemter / Wyner

Test your understanding of the two types of disjunction
• Suppose p  q is true.Does it follow that pqis true?
• Suppose pqis true.Does it follow that p q is true?

Frank / van Deemter / Wyner

Test your understanding of the two types of disjunction
• Suppose p  q is true.Does it follow that pqis true?No: consider p TRUE, q TRUE
• Suppose pqis true. Does it follow that p  q is true? Yes. Check each of the two assignments that make pq true:a) p TRUE, q FALSE (makes p  q true) b) p FALSE, q TRUE (makes p  q true)

Frank / van Deemter / Wyner

The Implication Operator

antecedent

consequent

The implicationp  q states that p implies q.

I.e., If p is true, then q is true; but if p is not true, then q could be either true or false.

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.”

Frank / van Deemter / Wyner

Implication Truth Table
• p  q is falseonly when(p is true but q is not true)
• p  q does not saythat pcausesq!
• p  q does not requirethat p or qare true!
• E.g.“(1=0)  pigs can fly” is TRUE!

The onlyFalsecase!

Frank / van Deemter / Wyner

Implication Truth Table
• Suppose you know that q is T. What do you know aboutpq?

Frank / van Deemter / Wyner

Implication Truth Table
• Suppose you know that q is T. What do you know aboutpq?
• The conditional must be T

Frank / van Deemter / Wyner

Implication Truth Table
• Suppose you knowthat p is F. Whatdo you know aboutpq?
• The conditionalmust be T

Frank / van Deemter / Wyner

Implication Truth Table
• Suppose you knowthat p is T.
• Whatdo you know aboutpq? T or F.
• What do you know about

q? T or F.

Frank / van Deemter / Wyner

Implications between real sentencs
• “If this lecture ever ends, then the sun has risen this morning.”True or False?
• “If Tuesday is a day of the week, then I am a penguin.”True or False?
• “If 1+1=6, then Bush is president.”True or False?
• “If the moon is made of green cheese, then 1+1=7.”True or False?

Frank / van Deemter / Wyner

Why does this seem wrong?
• Recall “If [you study hard] then [you’ll get a good grade]”
• In normal English, this asserts a causal connection between the two propositions. The connective  does not capture this connection.

Frank / van Deemter / Wyner

“p implies q”

“if p, then q”

“if p, q”

“when p, q”

“whenever p, q”

“q if p”

“q when p”

“q whenever p”

“p only if q”

“p is sufficient for q”

“q is necessary for p”

“q follows from p”

“q is implied by p”

English Phrases Meaning p  q

Tricky: "only if" is p q. "p only if q" says that p cannot be true when q is not true. The statement "p only if q" is false where p is true, but q is false. Where p is true, then so is q.

Frank / van Deemter / Wyner

But we’re not studying English ..
• Probably no two of these expressions have exactly the same meaning in English
• For example, ‘I’ll go to the party if Mary goes’can be interpreted as implying‘I’ll only go to the party if Mary goes’turning the sentence into a biconditional:I go IFF Mary goes

Frank / van Deemter / Wyner

Biconditional Truth Table
• p  q means that p and qhave the same truth value.
• Note this truth table is theexact opposite of ’s!

Thus, p  q means ¬(p  q)

• p  q does not implythat p and q are true, or that either of them causes the other.

Frank / van Deemter / Wyner

Consider ...

The truth of p  q, where

• p= Scotland is in the UKq= 2+2 =4
• p= Scotland is not in the UKq= 2+2 =5
• p= Scotland is in the UKq= Wales is not in the UK

Frank / van Deemter / Wyner

Consider ...

The truth of p  q, where

• p= Scotland is in the UKq= 2+2 =4 TRUE
• p= Scotland is not in the UKq= 2+2 =5 TRUE
• p= Scotland is in the UKq= Wales is not in the UK FALSE

Frank / van Deemter / Wyner

The difference between  and

A  B says that A and B happen to have the same truth value. They could be atomic.

A  B says that no assignment of truth values to A and B can make A  B false

So, A  B can only hold between well-chosen compound A and B.

A  B says “A  B is a tautology”

Frank / van Deemter / Wyner

Consider ...

The truth of p  q, where

• p= Scotland is in the UKq= 2+2 =4
• p= Scotland is not in the UKq= Wales is not in the UK
• p= Scotland is in UK  Wales is in UKq= Wales is in UK  Scotland is in UK

Frank / van Deemter / Wyner

Consider ...

The truth of pq, where

• p= Scotland is in the UKq= 2+2 =4 FALSE
• p= Scotland is not in the UKq= Wales is not in the UK FALSE
• p= Scotland is in UK  Wales is in UKq= Wales is in UK  Scotland is in UKTRUE

Frank / van Deemter / Wyner

The language of propositional logic defined more properly (i.e., as a formal language)
• Atoms: p1, p2, p3, ..
• Formulas:
• All atoms are formulas
• For all  , if  is a formula then ¬  is a formula
• For all  and , if  and  are formulas then the following are formulas: (  ), (  ), (  ) (etc.)

Frank / van Deemter / Wyner

The language of propositional logic defined more properly (i.e., as a formal language)
• Which of these are formulas, according to this strict definition?
• p1 ¬ p2
• (p1 ¬ p2)
• ¬ ¬ ¬(p9  p8)
• (p1 p2  p3)
• (p1 (p2  p3))

Frank / van Deemter / Wyner

The language of propositional logic defined more properly (i.e., as a formal language)
• Which of these are formulas, according to this strict definition?
• p1 ¬ p2 No
• (p1 ¬ p2) Yes
• ¬ ¬ ¬(p9  p8) Yes
• (p1 p2  p3) No
• (p1 (p2  p3)) Yes

Frank / van Deemter / Wyner

Simplifying conventions
• Convention 1: outermost brackets may be omitted,:p1 ¬ p2, ¬ ¬ ¬(p9  p8), p1 (p2  p3)
• Convention 2: associativity allows us to omit even more brackets, e.g.:p1 p2  p3, p1  p2  p3

Frank / van Deemter / Wyner

The language of propositional logic defined more properly (i.e., as a formal language)
• Which of these are formulas, when using these two conventions?
• p1 ¬ p2 Yes
• (p1 ¬ p2) Yes
• ¬ ¬ ¬(p9  p8) Yes
• (p1 p2  p3) No
• (p1 (p2  p3)) Yes

Frank / van Deemter / Wyner

Contrapositive

Some terminology, for an implication p  q:

• Its converseis:q  p.
• Its contrapositive:¬q  ¬p.
• Which of these two has/have the same meaning (express same truth function) as p q? Prove it.

Frank / van Deemter / Wyner

Contrapositive

Proving the equivalence of p  q and its contrapositive, using truth tables:

Frank / van Deemter / Wyner

Boolean Operations Summary
• We have seen 1 unary operator (out of the 4 possible ones) and 5 binary operators:

Frank / van Deemter / Wyner

• Can you think of yet another 2-place connective?How many possible connectives do there exist?

Frank / van Deemter / Wyner

• How many possible connectives do there exist?

p connective q T ? T T ? F F ? T F ? FEach question mark can be T or F, hence2*2*2*2=16 connectives

Frank / van Deemter / Wyner

Example of another connective

p connective q compare: p and q

T F T TT T F FF T T FF T F F

Names: NAND, Sheffer stroke

Frank / van Deemter / Wyner

Some Alternative Notations

Frank / van Deemter / Wyner

Propositional logic operators’

Symbolic notations.

English equivalents

Truth tables.

Logical equivalence

Next:

How to prove them.

To this point

Frank / van Deemter / Wyner

Tautologies revisited
• We’ve introduced the notion of a tautology using the example p  p
• Now, you know more operators, so can formulate many more tautologies, e.g.,the following are tautologies:(pq)  (p  q)(pq)  (¬q  ¬p), and so on

Frank / van Deemter / Wyner

Equivalence Laws
• Similar to arithmetic identities in algebra
• Patterns that can be used to match (part of) another proposition
• Abbreviation: T stands for an arbitrary tautology; F an arbitrary contradiction

Frank / van Deemter / Wyner

Equivalence Laws - Examples
• Identity: pT  p pF  p
• Domination: pT  T pF  F
• Idempotence: pp  p pp  p
• Double negation: p  p
• Commutativity: pq  qp pq  qp
• Associativity: (pq)r  p(qr) (pq)r  p(qr)

Frank / van Deemter / Wyner

More Equivalence Laws
• Distributive: p(qr)  (pq)(pr)p(qr)  (pq)(pr)
• De Morgan’s:(pq)  p  q (pq)  p  q
• Trivial tautology/contradiction:p  p  Tp  p  F

AugustusDe Morgan(1806-1871)

Frank / van Deemter / Wyner

Defining Operators via Equivalences

Some equivalences can be thought of as definitions of one operator in terms of others:

• Exclusive or: pq  (pq)(pq)pq  (pq)(qp)
• Implies: pq  p  q
• Biconditional: pq  (pq) (qp)pq  (pq)

Frank / van Deemter / Wyner

How you may use equivalence laws: Example (1)
• Use equivalences to prove that (r  s)  s  r.

Frank / van Deemter / Wyner

How you may use equivalence laws: Example (1)

(r  s)  (De Morgan)

r  s  (Commutativity)

s r  (2x Double Negation)

s  r.

Frank / van Deemter / Wyner

How you may use equivalence laws: Example (2)
• Use equivalences to prove that (p  q)  (p  r)  p  q  r.
• (This would be much easier using truth tables!)

(p  q)  (p  r) [Expand “definition” of ]

 (p  q)  (pr) [Expand “definition” of ]

 (p  q)  ((p  r)  (p  r))[DeMorgan]

 (p  q)  ((p  r)  (p  r))

cont.

Underline just focuses interest.

Frank / van Deemter / Wyner

Long example Continued...

(p  q)  ((p  r)  (p  r)) [ commutes]

 (q p) ((p  r)  (p  r))[ is associative]

 q  (p  ((p  r)  (p  r))) [distrib.  over ]

• q  (((p  (p  r))  (p  (p  r))) [assoc.]
• q  (((p  p)  r)  (p  (p  r))) [taut.]
• q  ((T  r)  (p  (p  r))) [domination]
• q  (T  (p  (p  r)))[identity]

 q  (p  (p  r)) cont.

Frank / van Deemter / Wyner

End of Long Example

q  (p  (p  r))[DeMorgan]

• q  (p  (p  r))[Assoc.]
• q  ((p  p)  r)[Idempotent]
• q  (p  r)[Associativity]
• (q  p)  r [Commutativity]

p  q  r

Q.E.D. (quod erat demonstrandum)

Frank / van Deemter / Wyner

Summary
• In practice, Propositional Logic equivalences are seldom strung together into long proofs: using truth tables is usually much easier.
• We shall now turn to a more complex logic, where nothing like truth tables is available.

Frank / van Deemter / Wyner