0% found this document useful (0 votes)
38 views37 pages

Mathematical Preliminaries: Sipser Pages 1-28

This document provides an overview of mathematical preliminaries for a course on the fundamental capabilities and limitations of computers. It discusses three key topics: 1) Automata - Models of computation where both data and programs are represented. 2) Computability - Some problems cannot be solved by any computer. 3) Complexity - What makes some problems inherently difficult and whether imperfect solutions or randomized algorithms could help. The document outlines important concepts students should master, including the limits of computability, different models of computation, and rigorous mathematical arguments using techniques like reduction, diagonalization, and induction. It also introduces topics like sets, functions, relations, graphs, strings, and logical statements.

Uploaded by

Anurag
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views37 pages

Mathematical Preliminaries: Sipser Pages 1-28

This document provides an overview of mathematical preliminaries for a course on the fundamental capabilities and limitations of computers. It discusses three key topics: 1) Automata - Models of computation where both data and programs are represented. 2) Computability - Some problems cannot be solved by any computer. 3) Complexity - What makes some problems inherently difficult and whether imperfect solutions or randomized algorithms could help. The document outlines important concepts students should master, including the limits of computability, different models of computation, and rigorous mathematical arguments using techniques like reduction, diagonalization, and induction. It also introduces topics like sets, functions, relations, graphs, strings, and logical statements.

Uploaded by

Anurag
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Mathematical Preliminaries

Sipser pages 1-28


Mathematical Preliminaries
• This course is about the fundamental capabilities and limitations of
computers. It has 3 parts

1. Automata
– Models of computation
– These are data as well as programs
2. Computability
– Some things cannot be solved
3. Complexity
– what is the root of the hardness
– can a less than perfect solution suffice
– some are only hard i the worst case
– could randomized computation help?
– Cryptography, hard on purpose
What you should learn
• Understand the limits of computability

• Understand different models of computation, including


deterministic and nondeterministic models

• Understand that particular models not only perform


computation, but are data and can be analyzed and
computed

• Have significant mastery of the techniques of reduction,


diagonalization, and induction

• Demonstrate significant mastery of rigorous mathematical


arguments
Sets
• Sets are collections in which order of elements and duplication of
elements do not matter.
– {1,a,1,1} = {a,a,a,1} = {a,1}

– Notation for membership: 1 ∈ {3,4,5}

– Set-former notation: {x | P(x) } is the set of all x which


– satisfy the property P.
– {x | x ∈ N and 2 ≥ x ≥ 5 }
– {x ∈ N | 2 ≥ x ≥ 5 }

– Often a universe is specified. Then all sets are assumed to be subsets of


the universe (U ), and the notation
– {x | P(x)} stands for {x ∈ U | P(x) }
Operations on Sets
• empty set : ∅
• Union: A ∪ B = {x | x ∈ A or x ∈ B}
• Intersection: A ∩ B = {x | x ∈ A and x ∈ B}
• Difference: A - B = {x | x∈ A and x ∉ B}
• Complement: A = U - A
Venn Diagrams

A
B

U
Laws

• A ∪ A=A
• A ∪ B=B ∪ A
• A ∪ (B ∪ C) = (A ∪ B) ∪ C
• A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
• A ∪ B= A ∩ B
• A ∪∅=A

• A ∩ A=A
• A ∩ B =B ∩ A
• A ∩ (B ∩ C)=(A ∩ B) ∩ C
• A ∩ (B ∪ C)=(A ∩ B) ∪ (A ∩ C)
• A∩ B=A ∪ B
• A ∩ ∅= ∅
Subsets and Powerset

• A is a subset of B if all elements of A are elements of B as well.


Notation: A⊆ B.

• The powerset P(A) is the set whose elements are all subsets
of A: P(A) = {X | X⊆ A }.

• Fact. If A has n elements, then P(A) has 2n elements.

• In other words, |P(A)| = 2|A| , where |X| denotes the number


of elements (cardinality) of X.
Proving Equality and non-equality

• To show that two sets A and B are equal, you need to do two
proofs:
– Assume x∈ A and then prove x∈ B
– Assume x∈ B and then prove x∈ A
• Example. Prove that P(A∩ B) = P(A) ∩P(B).

• To prove that two sets A and B are not equal, you need to
produce a counterexample : an element x that belongs to one
of the two sets, but does not belong to the other.
• Example. Prove that P(A∪ B) ≠ P(A) ∪P(B).
• Counterexample: A={1}, B={2}, X={1,2}. The set X belongs to
P(A∪ B), but it does not belong to P(A) ∪ P(B).
Functions and Relations
• Functions establish input-output relationships
• We write f(x) = y
– For every input there is exactly one output
• if f(x) =y and f(x)=z then y=z
– Well call the set of input for which f is valid the domain
– We call the set of possible output the range
– We write f: Domain → Range

• Some functions take more than 1 argument


– F(x1, … xn) = y
– We call n the arity of f
– The domain of a function with n inputs is an n-tuple
Into and Onto
• A function that maps some input to every one of
the elements of the range is said to be onto.
Forall y Exists x . F(x) = y

• A function is into if every element in the domain


maps to some element of the range.
– This means f(x) is defined for every x in the domain
– The squareRoot: Real -> Real is not into since
squareRoot(-3) is not defined
Relation
• An input output relationship where a single
input can have more than 1 output is called a
relation.
• Less(4) = {3,2,1,0} i.e. a set of results

Because the output is not unique, we write this


as Less(4,3), Less(4,2), Less(4,1), Less(4,0) we
can think of this a set of tuples.
{(4,3),(4,2),(4,1),(4,0)}
Relations as sets
• An n-ary relation is a set of n-tuples.
• Some relations are infinite
– What are some examples?

• We often use infix notation to denote binary


relations 5 < 4, x ∈S, (2+3) ↓ 5

• An n-ary function is a (n+1)-ary relation


Equivalence Relations
• A binary relation, •, with these three
properties
1. Reflexive x • x
2. Symmetric x • y implies y • x
3. Transitive x • y and y • z implies x • z

1. Is called an Equivalence Relation


Graphs
• Graphs have nodes (vertices) and edges
Directed Graphs
• When the edges have a direction (usually
drawn with an arrow) the graph is called a
directed graph
Directed graph

Undirected graph
Degree
• The number of edges attached to a node is called its
degree.

• In a labeled graph, nodes have in-degree and out-


degree

• What are the in-degree and


out-degree of node 0?
Labeled Graphs
• When the edges are labeled the graph is
called a labled-graph

Labeled graph

unlabled graph
Paths
• A path is a sequence of nodes connectd by
edges
• A graph is Connected if every two nodes are
connected by a graph.
• A path is a cycle if the first and last node in the
path are the same.
• A cycle is simple if only the first and last node
are the same
Trees
• A graph is a tree if it is connected and has no
simple cycles.

The unique node with


in-degree 0 is called
the root.

Nodes of degree 1
(other than the root)
are called leaves
Strings and Languages

• Strings are defined with respect to an alphabet, which is an


arbitrary finite set of symbols. Common alphabets are {0,1}
(binary) and ASCII. But any finite set can be an alphabet!

• A string over an alphabet Σ is any finite sequence of elements


of Σ.

• Hello is an ASCII string; 0101011 is a binary string.

• The length of a string w is denoted |w|. The set of all strings


of length n over Σ is denoted Σn.
More strings

• Σ0={ε}, where ε is the empty string (common


to all alphabets). Another notation is to use Λ
rather than ε
• Σ* is the set of all strings over Σ:
• Σ* = {∑} ∪ Σ ∪ Σ2 ∪ Σ3 ∪ ...

• Σ+ is Σ* with the empty string excluded:
• Σ* = Σ ∪ Σ2 ∪ Σ3 ∪ ...
String concatenation

• If u=one and v=two then u • v=onetwo and


• v • u=twoone. Dot is usually omitted; just write uv for u • v.
• Laws:
• u • (v • w) = (u • v) • w
• u• ε=u
• ε•u=u
• |u • v| = |u| + |v|

• The nth power of the string u is un = u • u ... u, the


concatenation of n copies of u.
• E.g., One3 = oneoneone .
• Note u0 = ε .
Can you tell the difference?

• There are three things that are sometimes


confused.

ε − the empty string ( “” )

∅ − the empty set ( { } )

{ε} − the set with just the empty string as an


element
Languages

• A language over an alphabet Σ is any subset of Σ*. That is, any


set of strings over Σ.

• Some languages over {0,1}:


– {ε,01,0011,000111, … }

– The set of all binary representations of prime numbers:


{10,11,101,111,1011, … }

• Some languages over ASCII:


– The set of all English words
– The set of all C programs
Language concatenation

• If L and L' are languages, their concatenation L • L' (often


denoted LL') is the set
• {u • v | u ∈ L and v ∈ L‘ }.

• Example. {0,00} • {1,11} = {01,011,001,0011}.

• The nth power Ln of a language L is L • L ... L, n
• times. The zero power L0 is the language {ε}, by definition.

• Example. {0,00}4={04,05,06,07,08}
Kleene Star

• Elements of L* are ε and all strings obtained


by concatenating a finite number of strings in
L.
– L* = L0 ∪ L1 ∪ L2 ∪ L3 ∪ ...
– L+ = L1 ∪ L2 ∪ L3 ∪ ...

– Note: L* = L+ ∪ {ε}
• Example. {00,01,10,11}* is the language of all
even length binary strings.
Class Exercise

• Fill in the blanks to define some laws:

L*∪{ε} = _________
L+ • {ε} = _________
{ε} • {ε} = _________
∅ • L = _________
L* • L* = _________
(L*)* = _________
L • L* = _________
∅* = _________
{ε}* = _________
L • L* = _________
Mathematical Statements

• Statements are sentences that are true or false:


– [1.] 0=3
– [2.] ab is a substring of cba
– [3.] Every square is a rectangle


• Predicates are parameterized statements; they are true or
false depending on the values of their parameters.
– [1.] x>7 and x<9
– [2.] x+y=5 or x-y=5
– [3.] If x=y then x^2=y^2
Logical Connectives

• Logical connectives produce new statements


from simple ones:
– Conjunction; A ∧ B; A and B
– Disjunction; A ∨ B; A or B
– Implication; A ⇒ B; if A then B
– Negation; ¬A not A
– Logical equivalence; A ⇔ B
– A if and only if B
– A iff B
Quantifiers

• The universal quantifier (∀ “for every”) and the existential


quantifier ( ∃ “there exists”) turn predicates into other predicates
or statements.
– There exists x such that x+7=8.
– For every x, x+y > y.
– Every square is a rectangle.

• Example. True or false?


– (∀ x)(∀ y) x+y=y
– (∀ x)( ∃ y) x+y=y
– ( ∃ x)(∀ y) x+y=y
– (∀ y)( ∃ x) x+y=y
– ( ∃ y)(∀ x) x+y=y
– ( ∃ x)( ∃ y) x+y=y
Proving Implications
• Most theorems are stated in the form of (universally
quantified) implication: if A, then B
• To prove it, we assume that A is true and proceed to derive
the truth of B by using logical reasoning and known facts.
• Silly Theorem. If 0=3 then 5=11.
• Proof. Assume 0=3. Then 0=6 (why?). Then 5=11 (why?).

• Note the implicit universal quantification in theorems:


• Theorem A. If x+7=13, then x^2=x+20.
• Theorem B. If all strings in a language L have even length,
then all strings in L* have even length.
Converse

• The converse of the implication A ⇒ B is the implication B ⇒ A. It is


quite possible that one of these implications is true, while the other
is false.
• E.g., 0=1 ⇒ 1=1 is true,
• but 1=1 ⇒ 0=1 is false.

– Note that the implication A ⇒ B is true in all cases except when A is true
and B is false.

• To prove an equivalence A ⇔ B, we need to prove a pair of
converse implications:
– (1) A⇒ B,
– (2) B⇒ A.
Contrapositive
• The contrapositive of the implication A ⇒ B is the
implication ¬ B ⇒ ¬ A. If one of these implications is
true, then so is the other. It is often more convenient
to prove the contrapositive!
• Example. If L1 and L2 are non-empty languages such
that L1* = L2* then L1=L2.
• Proof. Prove the contrapositive instead. Assume L1 ≠
L2. Let w be the shortest possible non-empty string that
belongs to one of these languages and does not belong
to the other (e.g. w ∈ L1 and w ∉ L2). Then w ∈ L1* and
it remains to prove w ∉ L2*. [Finish the proof. Why is
the assumption that L1,L2≠ ∅ necessary?]
Reductio ad absurdum- Proof by Contradiction

• Often, to prove A ⇒ B, we assume both A and ¬ B,


and then proceed to derive something absurd
(obviously non-true).

• Example. If L is a finite language and L • L =L, then L=∅
or L={ε}.
• Proof. Assume L is finite, L • L =L, L≠ ∅ , and L≠ {ε}.
Let w be a string in L of maximum length. The
assumptions imply that |w|>0. Since w2 ∈ L2, we must
have w2 ∈ L. But |w2|=2|w|>|w|, so L contains strings
longer than w. Contradiction.
• qed

Formatting Proofs
• A proof is a convincing argument.

• The way you format a proof (especially for a


homework) can alter its degree of
convincingness1

• There are rules for formatting a proof.

1. is that a word?
3 parts to a proof
Facts. Things you know, include
1. Facts function definitions and facts
A. (F • G) x = F(G(x)) about arithmetic, like x+y = y+x.
There will often be many facts
2. Assertion
1. Prove (F • G) is associative State clearly what you are proving.
2. ((F • G) • H) x = (F • (G • H)) x Write it down in all its gory detail

3. Steps
Transforming lhs into rhs
((F • G) • H) x by A
(F • G) (H x) by A
(F (G(H x)) by A Steps. List each step. Every step
(F ((G • H) x)) by A backwards should be justified by a fact. State
how you are performing the steps.
(F • (G • H)) x by A backwards
Here I transform lhs into rhs.

You might also like