• No results found

Proof Techniques

N/A
N/A
Protected

Academic year: 2022

Share "Proof Techniques"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Introduction to the Theory of Computation

Sets, Relations, Functions

Graphs

Proof Techniques

Languages

Grammars

Mathematical Preliminaries

(2)

Set

 Set: A set is a well defined collection of objects.

Order and repetition - Irrelevant

Empty/Finite/Infinite/Equal Sets.

 Notations

 Given a set A and an object x, if x is an element of A, we write

 Otherwise, we write

Examples:

• {a, b, c,….,z} stands for all the lower case letters of the English alphabet.

• {2,4,6,…..} set of all even positive integer nos.

• Explicit notation:

S={i: i > 0, i is even}

 Set Cardinality:

 Given a set A, the cardinality of A, denoted by |A|, is the number of elements in A.

 For finite set A = { 2, 5, 7 }, the cardinality is |A| = 3

A x

A

x

(3)

Set Representation

By enumeration

 List all elements.

 Only good for finite sets

 Ex’s.

 A = {1, 2, 3, 4, 5}

 B = {a, b, c, d, e}

 C = { Joe, Jose, Sarah, Chen}

 D = { Black_Cat, White_Cat}

By Property

 Give property for set elements.

 Good for infinite sets as well as for finite sets

 Ex’s.

 A = {x: x is an integer}

 B = {y: y is a student at AMU}

 C = {z: z is a student in the CS department in AMU}

 D = {w: andwA w is odd}

(4)

Set Operations/ Some Laws/Different Sets

A = { 1, 2, 3 } B = { 2, 3, 4, 5}

• Union

• Intersection

•Difference

•Complement

•DeMoragan’s Law

•Subset /Proper Subset

•Disjoint Sets

•Power Set

(5)

Powerset

▪ A powerset is a set of sets.

▪ S = { a, b, c }

▪ Powerset of S = the set of all the subsets of S

▪ 2

S

= { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }

▪ Observation: | 2

S

| = 2

|S|

( 8 = 2

3

)

(6)

Set Partition

Given a nonempty set A, we say P = {X

1

, X

2

, …X

n

} is a partition of A if

– –

– Any two elements of P are disjoint.

– None of the set is empty.

• Ex’s : Let S = {a, b, c, d}

– What partition of S has the fewest members? The most members?

– List all partitions of S with exactly two members?

X A P

P

X

i

P A

i

=

=

} {

2

(7)

Ordered Pairs/Tuples

Ordered Pairs

Given any two objects a, b, let (a, b)denote the ordered pair of a and b.

The ordered pair of a and btells that a and b is related under some relationship The differences between (a, b) and {a, b}:

(a, b) (b, a), while {a, b} = {b, a}

The equivalence

(a, b) = (c, d) if and only if a = c, b = d.

Ordered Tuples

Given any n objects, An n-ary ordered tuple.

The objects may not be distinct.

) ,

, ,

(a1 a2 an , ,

, , 2

1 a an

a

(8)

Cartesian Products/Relation

• Given two sets A and B, the Cartesian Product of A and B is

• Given n sets , the n-fold Cartesian Product of these sets is

• A binary relation is defined as

• A n-ary relation is defined as

} :

) ,

{(a b a A b B

B

A =

} 1

, :

) , , , {(

1 2

2

1

A A a a a a A i n

A    

n

= 

n i

i

 

An

A

A1, 2,,

B A

R : → R A B

B A

A A

R :

1

2

  

n

B A

A A

R

1

2

  

n

(9)

Functions

• A function is a binary relation on A and B such that – there is exactly one such that

– A is called the domain.

• For any , we denote y as f(x). (Image of x).

• The range of f is defined as

– f [A] = { y: y = f(x) for some }

• Types of Functions

One-to-One

Onto

Bijective

B A f : → ,

A x

yB (x, y) f .

A x

f y

x, ) (

B

(10)

Relation’s Types

Reflexive

A relation R: A→A is reflexive,

if for all

Example- The product of x and y is even on even integers

Anti-Reflexive or Irreflexive –The product of x and y is even on odd numbers.

Neither reflexive nor irreflexive -The product of x and y is even on natural numbers.

Transitive

A relation R:A A is transitive if (a, b) and (b, c) are in R, then (a, c) is also in R.

Examples?

The ancestor relation over a group of people.

The less-than relation over integers.

. )

, (

, a a R

A

a

(11)

Relation’s Types

Symmetric

A relation R: A→A is symmetric

if for any

Example -Relationship among sisters

Non-exemplar-Relationship among siblings consisting of a boy and girl each

Asymmetric

A relation R: A →A is asymmetric if for any,

Example- The parent relation over a group of people.

Antisymmetric

A relation R: A A is antisymmetric if for any then a=b

Example- The divisibility relation over the natural numbers

Equivalence Relation

A relation R: A A is equivalence if R is reflexive, symmetric and transitive.

Example-For any natural number m, the modular relation ≡mis an equivalence relation on integers.

. )

, ( , )

,

(a bR b aR

. )

, ( , )

,

(a b R b a R

. ) , ( , ) ,

(a b R b a R

(12)

Countable and Uncountable Sets

Countable

– A set S is countable if one of the following is true

• S is finite

• S is infinite but there is a bijection f: S → N, where N is the set of natural numbers.

– In other words, S is countable, if elements in S are enumerable.

Uncountable

– Sets that are not countable

(13)

GRAPHS

A graph is a construct consisting of two finite sets V (set of Vertices V) and E (set of edges).

•Undirected

Directed

(14)

Walk/Path/Cycle

▪ Walk : A sequence of adjacent edges

▪ A walk from e to a is (e, d), (d, c), (c, a)

▪ Length of the walk = Total number of traversed edges

▪ Path : A walk where no edge is repeated

▪ Simple path: A path where no node is repeated.

▪ Cycle: A walk from a node (base) to itself with no repeated edges

▪ Simple cycle: A cycle in which only the base node is repeated

(15)

PROOF TECHNIQUES

•Direct Proof (Proof by Construction)

•Proof by Contrapositive

•Proof by Induction

•Proof by Contradiction

Statement

•The sum of any two consecutive numbers is odd.

•P → Q

• If a and b are consecutive integers, then the sum a + b is odd

Facts (Definitions)

•An integer number n is even if and only if there exists an integer k such that n = 2k.

•An integer number n is odd if and only if there exists an integer k such that n = 2k + 1.

•Two integers a and b are consecutive if and only if b = a + 1.

(16)

Direct Proof (Proof by Construction)

Method

•Assume that P is true.

•Use P to show that Q must be true.

Statement (P → Q)

• If a and b are consecutive integers, then the sum a + b is odd.

Proof

• Assume that a and b are consecutive integers

•If a and b are consecutive integers, b = a + 1

•So, a + b = a + a+1 = 2a + 1

•a is an integer, therefore, a + b is odd

Definition:

An integer number n is odd if

and only if there exists an

integer k such that n = 2k + 1.

(17)

Proof by Contrapositive

Statement

• If a and b are consecutive integers, then the sum a + b is odd.

Basis

• From first-order logic, P ⇒ Q is equivalent to ¬Q ⇒ ¬P.

• The second proposition is called the contrapositive of the first proposition.

Method

•Assume ¬Q is true.

•Show that ¬P must be true.

•Observe that P ⇒ Q by contraposition.

(18)

Proof by Contrapositive

Statement

• If a and b are consecutive integers, then the sum a + b is odd (P ⇒ Q) Contrapositive Statement

• If the sum a + b is not odd, then a and b are not consecutive integers (¬Q ⇒ ¬P).

Proof

• Assume that the sum of the integers a and b is not odd.

• There exists no integer k such that a + b = 2k + 1.

• Thus, a + b ≠ k + (k + 1) for all integers k.

• Because k + 1 is the successor of k, this implies that a and b cannot be

consecutive integers.

(19)

Proof by Induction-Example-1

Statement (P

i

)

•If a and b are consecutive integers, then the sum a + b is odd. (a=i, b=i+1 )

•Proof.

•(Step 1) Consider the proposition P

1

.

1 + 2 = 3 is odd because there exist an integer x (1) such that 2x + 1 = 3.

Thus, P

i

is true when i = 1.

Consider the proposition P

2

. Consider the proposition P

3

.

……….

Method

•Inductive basis- Find P

1

, P

2

, …, P

b

which are true.

• Inductive assumption - Let’s assume P

1

, P

2

, …, P

k

are true, for any k >= b.

• Inductive step -Show that P

k+1

is true.

(20)

Proof by Induction-Example-1

Inductive basic: P

1

, P

2

, P

3

, …. P

b

are true (Step 2)

Assume that P

k

is true for some k, k >= b.

Thus, k + (k + 1) is odd.

(Step 3)

Show that P

k+1

is true.

P

k+1

= k+1 + (k + 1+1) = 2k + 1 + 2 = P

k

+2.

Observation: Adding two to any integer does not change integer’s evenness or oddness.

Since P

k

is true and therefore, P

k+1

is also true.

(21)

Proof by induction-Example-2

Theorem: A binary tree of height h has at most 2

h

leaves.

Let L(i) be the maximum number of leaves of any binary tree at height i.

We want to show: L(i) <= 2

i

• Inductive basis

L(0) = 1 (the root node) L(1) = 2

L(2) = 4

…………..

•Inductive hypothesis

Let’s assume L(i) <= 2

i

for all i = 0, 1, …, k

• Induction step

we need to show that L(k + 1) <= 2

k+1

(22)

Proof by induction-Example-2

From Inductive hypothesis: L(k) <= 2

k

L(k+1) <= 2 * L(k) <= 2 * 2

k

= 2

k+1

(we add at most two nodes for every

leaf of level k)

(23)

Proof by Contradiction

Statement

P ⇒ Q Basis

Any proposition must be either true or false, but not both true and false at the same time.

Method

•Assume that P is true.

•Assume that ¬Q is true.

•Use P and ¬Q to demonstrate a contradiction.

(24)

Proof by Contradiction-Example-1

Statement

• If a and b are consecutive integers, then the sum a + b is odd.

Proof

• Assumption 1- a and b are consecutive integers.

• Assumption 2 - The sum a + b is not odd.

• Since, integers a and b are consecutive,

• a + b = a + a +1 = 2a + 1. (TRUE)

• Since, sum a + b is not odd,

There exists no integer k such that a + b = 2k + 1. (TRUE)

Contradiction!!!

If we hold that a and b are consecutive then the sum a + b must be odd.

(25)

Statement: is not rational

Proof: Assume it is rational

= n/m n and m have no common factors We will show that this is impossible

2

2

Proof by Contradiction-Example-2

2

(26)

Languages : Basics

Alphabet

An alphabet (∑) is a finite, non-empty set of symbols.

Example:

{0,1 } --- Binary alphabet.

{ A, B, …, Z, a, b, …,z } ---- English alphabet.

{a, b, c}

The set of all ASCII characters

Etc.

String

A string over an alphabet  is a finite sequence of symbols from .

Example-

0, 1, 11, 00, and 01101 --- Strings over {0, 1 }.

Cat, CAT, and, AND, compute --- Strings over the English alphabet.

a, b, ab, aa, ba, bb, aaa, aab, abaa, --- Strings over {a, b }.

Note- Infinite strings exists over any alphabet 

(27)

Language : Basics

Empty String

❑ The string with zero occurrences of symbols from  and is denoted e, e or 

❑ A string without symbols over any alphabet.

String Length

The length of a string w is the number of occurrences of symbols in w

Denoted by |w| or length(w)

Example- Let Σ = {a, b, …, z, A, B, …. Z},

❑length(automata) = 8 , length(computation) = 11

❑length(λ) = 0,

Example- Let Σ = {0, 1},

❑ |1010|= 4, |0000000| =7, |1010101010| =10, |λ|=0

w(i), denotes the symbol in the ith position of a string w, for 1i  length(w).

(28)

String Operations

Reverse

The reverse of a string is obtained by writing the symbols in reverse order.

The reversal of a string w

Where a ε ∑ and u ε ∑*

Property

Examples-

x = a1a2 …ai, xR= aiai-1 …..… a2a1

y = b1b2…bj yR = bjbj-1 ……… b2b1

xy= a1a2…aib1b2…bj (xy)R= bjbj-1 … b2b1 aiai-1 ….a2a1

x = 01101, xR = 10110

 

=

= =

, , 0

|

|

au w

if a

u

w w

R R

if

R R

R

y x

xy ) =

(

(29)

String Operations

Concatenation

If x and y are two strings, then xy is obtained by appending the symbols of y to the right end of x

Examples-

x = a1a2 …ai, y= b1b2 …bj, xy= a1a2 …aib1b2 …bj

x= 01101, y = 110, xy= 01101110

= λx = x

Note: If u an v are strings, then the length of their concatenation is the sum of the individual lengths

|uv| = |u| + |v|

Power of a string w

Given any natural number i,

wn stands for the string obtained by repeating (concatenating) w n times.

Example- w = abab; compute w0, w1, w2, w3, …….

 

=

=

0 , 0

1

if i

ww

i

w

i

i

if

(30)

String Operations

Substring

 z is a substring of w if it is a sequence of consecutive symbols of w.

 Substrings of “Theory” are ‘T’, ‘Th’, ‘eo’ or ‘Theory’.

Prefix

 z is a prefix of string w if there is a string x such that w = zx

 Prefix of “Theory” are ‘T’, ‘Th’, ‘Theo’

 Example- w = abbab

 A = {λ, a, ab, abb, abba, abbab} is the set of all prefixes.

Suffix

 z is a suffix of w if there is a string x such that w = xz

 Suffix of ‘love’ in “Ilovetheory” is ‘theory’

 Example- w = abbab

 B = {λ, b, ab, bab, bbab, abbab} is the set of all suffixes.

(31)

Closure of Alphabet

Kleen’s Closure -

*

❑ The set of strings obtained by concatenating zero or more symbols from alphabet is denoted by*.

❑ The * consists of strings of every possible length.

❑ * = i=0i =  i=0..i

❑ Example-

❑Let  = {0, 1}.

❑* = {λ, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, 110, 111, ……….… }.

Positive Closure -

+

❑ The set of strings created by concatenating at least one symbol (1 or 2 or …) from alphabet is denoted by+.

❑ The + does not contain empty string λ.

❑ The + is infinite set since there is no limit on the length of the strings.

❑ + = i=1i = i=0..i- 0 =  i=0..i- {λ}

❑ Example- Let  = {0, 1}.

❑+ = {0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, 110, 111, ………….… }.

(32)

Closure of Alphabet

• The following relations exist-

*

= 

+

 {λ}

+

= 

*

- {λ}

• Find 

*

and 

+

–  = {a, b}.

–  = {a, b, ….. x, y, z, A, B, C, ……….. X, Y, Z}.

–  = {0, 1, 2, ….. 9}

(33)

Language

• Definition

• A “Language” is a set of strings over an alphabet of symbols.

• A language is a subset of *

• A language is a system of communication which consists of a set of symbols which are used by the people of a particular country or region for talking or writing.

• Familiar languages

– Natural languages like English, Hindi etc.

• English may be considered set of English words or set of English sentences, for which many grammar rules have been developed.

– Programming languages like C, C++, Java, Python etc.

• Programming language may be considered set of valid identifiers or set of valid statements.

Observation: Language = Alphabet + Some Rules (Grammar)

(34)

Languages

Let  = {a, b, ….. x, y, z, A, B, C, ……….. X, Y, Z}.

Σ* = {λ, a, b, ….z, a, an, ball, cat, ……A, ….. Z, APPLE,.…} = The set of all English words over English alphabet.

∏ = {x: x is valid English word} Σ*

The set of valid Arabic words over Arabic alphabet.

The set of strings with even number of 1’s over {0, 1}

* = {λ, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100,….… }.

L = {Σ* | the number of 1’s in  is even} = {λ, 0, 00, 11, 000, 110, 101, 011, 0000, 1100, 1010, 1001, 0110, 0101, 0011, … }

L Σ*

The set of strings consisting of n 0’s followed by n 1’s L1= {λ, 01, 0011, 000111, …} over Σ = {0, 1}

The set of strings with equal number of 0’s and 1’s

L2= {λ, 01, 10, 0011, 0101, 1010, 1001, 1100, …} over Σ = {0, 1}

Find the strings of language L ={anbn: n ≥ 0} over Σ = {a, b}.

U U

(35)

Language Examples

(36)

Operations on Languages

• Let Σ be any finite alphabet {a

1

, a

2

, . . . , a

n

}

• Any subset L of Σ* is called a language over Σ.

• Languages are defined as sets.

– The set operations are applicable on languages.

• Union, intersection, difference, complement.

– Additional operations !

• Reversal, Concatenation, Kleen Closure (Kleen *), Positive closure, …

• Example:

• L

1

={a, b, ab, ba} over Σ = {a, b}

• L

2

= {a, b, aa, bb} over Σ = {a, b}

(37)

Operations on Languages

Union

– Let L1 and L2 be languages over an alphabet Σ.

– The union of L1 and L2, denoted by L1L2 = {x | x is in L1 or L2} – Example:

• L1 ={x{0,1}*|x begins with 0}, L2= {x{0,1}*|x ends with 0}

L1L2 = {x{0,1}*| x begins or ends with 0}

= {0, 01, 10, 010, ……. 011111, 011110, 111110,……}

Intersection

– Let L1 and L2 be languages over an alphabet Σ.

– The intersection of L1 and L2, denoted by L1L2 = { x | x is in L1 and L2}.

Example-

• L1 = { x{0,1}*| x begins with 0}, L2 = { x{0,1}*| x ends with 0}

L1L2= { x{0,1}*| x begins and ends with 0}

= {0, 00, 010, 000, 0000, 0010, 0100, 0110, ………}

(38)

Operations on Languages

Difference

– Let L1 and L2 be languages over an alphabet Σ.

– The difference of L1 from L2, denoted by L1 - L2 = { x | x is in L1 and x is not in L2}.

Example-

• L1={ x{0,1}*| x begins with 0}, L2 = { x{0,1}*| x ends with 0}

L1 - L2 = { x{0,1}*| x begins with 0 and does not end with 0}

= {01, 011, 001, 0001, 0011, 0101, 0111, …..………}

Complement

– Let L be a language over an alphabet Σ.

– The complementation of L, denoted byL = Σ*–L – Example: Let Σ = {0, 1} be the alphabet.

Le = {Σ* | the number of 1’s in  is even}.

• Le= {Σ* | the number of 1’s in  is not even}

={Σ* | the number of 1’s in  is odd}.

(39)

Operations on Languages : Reversal

Let L be a language over an alphabet Σ.

The reversal of L, denoted by Lr = {wr| w is in L}

Example-1

L ={x  {0,1}*| x begins with 0}

Lr = {x {0,1}*| x ends with 0}

Example-2

L={x {0,1}*| xhas 00 as a substring}

Lr = {x {0,1}*| x has 00 as a substring}

(40)

Operations on Languages :Concatenation

• Let L1 and L2 be languages over an alphabet Σ.

• The concatenation of L1 and L2, denoted by L1L2 = {w1w2| w1 is in L1 and w2 is in L2}.

Example-1

– L1= {a, b}, L2= {1,11, 01}

L1L2= {a1,a11, b01, b1,b11, b01}

L2L1= {1a,1b, 11a, 11b, 01a, 01b}

Example-2

– L1 = { x  {0,1}*| x begins with 0}

– L2 = {x  {0,1}*| x ends with 0}

L1.L2 = { x{0,1}*| x begins and ends with 0 and length(x)  2}

L2.L1 = { x{0,1}*| x has 00 as a substring}

(41)

Operations on Languages

Kleene’s closure (Star closure) of a Language

 Let L be a language over an alphabet Σ. The Kleen’s closure of L, is obtained by concatenating zero or more elements of L

 The Kleene’s closure of L, given by

L* = {x | For an integer n  0, x = x

1

x

2

… x

n

and x

1

, x

2

, …, x

n

are in L}

L* = 

i= 0

L

i

= L

0

L

1

L

2

L

3

...

 L* is different than Σ*(?).

 Example:

 Σ = {0,1} and Le = {Σ* | the number of 1’s in  is even}

Le* = {Σ* | the number of 1’s in  is even}

 Let Σ = {a, b} and L = {a

n

b

n

: n >= 0}

L* = ?

(42)

Operations on Languages Positive Closure of Language

• Let L be a language over an alphabet Σ. The positive closure of L, is obtained by concatenating one or more elements of L.

• The positive closure of L, given by

L+ = { x |for an integer n  1, x = x1x2…xn and x1, x2 , …, xn are in L}

That is, L+ = i= 1 Li = L.L* = L1 L2 L3...

• L0={ λ }

• Lk = The set of strings obtained by concatenating k elements of L

Example:

Let Σ = {0, 1} be the alphabet.

Le = {Σ* | the number of 1’s in  is even}

Le+= {Σ* | the number of 1’s in  is even}

• Find the closures of the following languages – L1 = {a, b}, L2 = {11}

(43)

Observations: Language Closure

L

+

= L

*

{λ} ? L

*

= L

+

{λ} ?

• Example:

L = {Σ* | the number of 1’s in is even}

L+= {Σ* | the number of 1’s in  is even} = Le*

• Example:

– Let Σ = {a, b} and L = {anbn : n >= 0}

Observations

1. If L is a language that does not contain λ, then L+ is the language L* without the null word λ.

2. If L is a language that does contain λ, then L+ = L*

3. Likewise, if ∑ is an alphabet, then ∑+ is ∑* without the word λ.

(44)

Languages and Decision Problems

Problem

– Example: What are prime numbers > 20?

Decision problem

– Problem with a YES/NO answer

– Given a positive integer n, is n a prime number > 20?

Language

– Example: {n | n is a prime number > 20}

= {23, 29, 31, 37, …}

• A problem is represented by a set of strings of the input whose answer for the corresponding problem is “YES”.

• A string is in a language = the answer of the corresponding problem

for the string is “YES”

(45)

• An alphabet, Σ is a finite non-empty set of symbols.

• Example: Σ = {a, b, c, A, B, C, S}

• A word/sentence/string over Σ is a string of finite length of symbols of Σ.

• Example: Aba

Σ* is the set of all words/strings over Σ.

• Example: Σ * = {Aba, BBa, bAA, cab …}

• A language over Σ is a subset of Σ*.

• We can give some criteria for a word to be in a language.

Summary

(46)

Grammars

Mathematical mechanisms to describe the languages

(47)

Grammars

• English grammar tells us if a given combination of words is a valid sentence.

• The syntax of sentence is concerned with its structure.

• The semantic of a sentence is concerned with the meaning of the sentence

Examples: The mouse wrote a poem.

– From a syntax point of view this is a valid sentence.

– From a semantics point of view not valid….…perhaps in Disney land

• Natural languages (English, French, Portguese, etc) – Very complex rules of syntax

– Not necessarily well-defined – Ambiguous

(48)

Formal Language/Grammar

• Formal language – is specified by well-defined set of rules of syntax.

– The sentences of a formal language can be described using a grammar.

Two key questions:

– Is a combination of words a valid sentence(string) in a formal language?

– How can we generate the valid sentences of a formal language?

• Formal languages provide models for both natural languages and programming languages.

– Amazon Alexa – Siri (Apple)

• Formal grammar G is compact, precise mathematical definition of a language L.

– As opposed to just a raw listing of all of the language’s legal sentences, or just examples of them.

• A grammar implies an algorithm that would generate all legal sentences of the language.

– Often, it takes the form of a set of recursive definitions.

(49)

Grammars

Grammars express languages Example: The English language.

Rule: A sentence ---consists of a noun phrase followed by a predicate.

Grammar’s Production Rules

verb predicate

noun article

phrase noun

predicate phrase

noun sentence

→ _

_

sleeps verb

walks verb

runs verb

boy noun

dog noun

cat noun

the article

a article

(50)

Derivation

A derivation of “the dog walks”:

A derivation of “a cat runs”:

walks dog

the

verb dog

the

verb noun

the

verb noun

article

verb phrase

noun

predicate phrase

noun sentence

_ _

sleeps verb

walks verb

runs verb

boy noun

dog noun

cat noun

the article

a article

verb predicate

noun article

phrase noun

predicate phrase

noun sentence

_

_

runs cat

a

verb cat

a

verb noun

a

verb noun

article

verb phrase

noun

predicate phrase

noun sentence

_

_

(51)

Derivation

• Derivation the following sentences

– “the boy sleeps”

– “the boy runs”

– “the boy walks”

“the boy eats”

“the boy eats pizza”

sleeps verb

walks verb

runs verb

boy noun

dog noun

cat noun

the article

a article

verb predicate

noun article

phrase noun

predicate phrase

noun sentence

_

_

The language of the grammar is

L = L

G

= { “a cat runs”, “a cat walks”,

“the cat runs”, “the cat walks”,

“a dog runs”, “a dog walks”,

“the dog runs”, “the dog walks”,

“the boy sleeps”,

………. }

(52)

Notation

Variable = {<sentence>, <noun_phrase>, <predicate>, <article>, <noun>, <verb> } Terminal = {a, the, dog, cat, boy, runs, walks, sleeps}

dog noun

cat noun

Variable Terminal

Production Rules

sleeps verb

walks verb

runs verb

boy noun

dog noun

cat noun

the article

a article

verb predicate

noun article

phrase noun

predicate phrase

noun sentence

_

_

(53)

Grammar

A grammar G is defined as quadruple

• V --- Finite and non-empty set of variables (non-terminals)

• T --- Finite and non-empty set of terminal symbols

• S --- Start variable, S ε V

• P --- Finite set of Production rules

Note:

• V and T are disjoint sets

• Every production rule must contain at least one non-terminal on its left side.

• Form of production rule

x y

x ε (V U T )*V (V U T )* y ε (V U T )*

• Production rules-

– Specify how the to generate a string.

– Specify how the grammar transforms one sentential form into another sentential form/string.

– Define the language associated with grammar.

( V T S P )

G = , , ,

(54)

Production Rules

• Production rule

P

1

: x y

w = uxv, z = uyv , x, y, u, v(T U V)*

• Production P

1

is applicable to string w

– x can be replaced with y, form a new string

• This can be written as: w z

w derives z

(55)

Grammar-Example

Grammar:

Sentential Form:

A finite sequence of variables and terminals.

Sentence/String : A finite sequence of terminals.

Derivation of string:

G ( V T S P )

G = , , ,

} {S

V = T ={a,b}

} ,

{ → →

= S aSb S P

What strings/sentences can be generated with this grammar?

(What is the language generated by this grammar ?)

aaabbb aaaSbbb

aaSbb aSb

S    

Sentential Forms Sentence/String

(56)

More Notation

We write:

Instead of:

The * indicates an unspecified number of steps (Zero or more steps).

If

Then, we can write

aaabbb S

*

aaabbb aaaSbbb

aaSbb aSb

S    

w

n

w w

w

1

2

3

  

wn

w

*

1

By default: w w

*

(57)

Example

S

aSb S

aaabbb S

aabb S

ab S

S

*

*

*

*

 

Grammar Derivations

b aaaaaSbbbb aaSbb

aaSbb S

Derivations

(58)

Another Grammar Example

Grammar :

A

aAb A

Ab S

Derivations

:

aabbb aaAbbb

aAbb Ab

S

abb aAbb

Ab S

b Ab

S

G

aaaabbbbb aaaaAbbbbb

aaaAbbbb aaAbbb

aAbb Ab

S

Derivations

:

(59)

Language of a Grammar

• Let G = (V, T, S, P) be a grammar. The language generated by G (or the language of G) denoted by L(G) , is the set of all strings that are derivable from the starting variable S.

L(G)= {w  T* | S =>*w}

That is, L(G) is simply the set of strings of terminals that are derivable from the start symbol.

Example-

G = (V, T, S, P); V = {A, S}, T = {a, b}, S is a start symbol P = {S → aA, S → b, A → aa}.

• The language of this grammar is given by L (G) = {b, aaa}

1. we can derive aA from S using S → aA, and then derive aaa using A → aa.

2. We can also derive b using S → b.

(60)

Language of a Given Grammar: How to prove ?

• Every string generated by G is in L --- (L(G) L).

• Every string in L can be generated by G ---(L L(G)).

S

aSb S

U U

(61)

Language of a Given Grammar

aaabbb aaaSbbb

aaSbb aSb

S    

aaaabbbb aaaaSbbbb

aaaSbbb aaSbb

aSb S

What’s the language of the grammar with

the productions? → 

S

aSb S

} 0 :

{ 

= a b n

L n n

|

|

|

| b aSa bSb a

S

Find languages of the following grammars-

• S aaA | λ, A bS

• S Aa, A B, B Aa

• .

(62)

Equivalent Grammars

• Two grammars G

1

and G

2

are equivalent if they generate the same language, that is, if L(G

1

) = L(G

2

)

• First grammar G

1

• Second grammar G

2

• The language generated by both grammars is

• Both grammars are equivalent.

S

aSb S

|

| aAb A

aAb S

} 0 :

{ 

= a b n

L

n n

(63)

Grammar for a given Language

• Find strings in the language.

• Write production rules that generate the strings in the language.

– L = {w ε {a}*}

– L = {w ε {a, b}*}

– L ={w ε {a, b}*: w has exactly one a}

– L ={w ε {a, b}*: w has at least one a}

– L ={w ε {a, b}*: w has no more than three a’s}

– L ={w ε {a, b}*: n

a

(w) = n

b

(w)}

Thank You

References

Related documents

The Sacks Sentence Completion Test is a projective test developed by Dr Sacks and Dr Levy.. It consists of 60 partially completed sentence to which respondent

A sentence like this where the verb is in the future perfect continuous tense does not have a passive form. Match

This report provides some important advances in our understanding of how the concept of planetary boundaries can be operationalised in Europe by (1) demonstrating how European

-s file Returns true if file exists and has a greater size that zero -s file Returns true if file exists and has a greater size that zero -w file Returns true if file exists and

(Division of course in Units) Unit-1 Lesson 9 to 10 1.1 Discussion of Texts 1.2 Practical usage of grammar 1.3 Various sentence constructions 1.4 Group discussion.. Unit-2 Lesson

These gains in crop production are unprecedented which is why 5 million small farmers in India in 2008 elected to plant 7.6 million hectares of Bt cotton which

The scan line algorithm which is based on the platform of calculating the coordinate of the line in the image and then finding the non background pixels in those lines and

i) should undertake the task of educating communities on the benefits of registering the GIs. Special emphasis on building brands will also be essential to safeguard the rights of