Upload
june-underwood
View
234
Download
0
Embed Size (px)
DESCRIPTION
cs466(Prasad)L6Proof3 q p
Citation preview
cs466(Prasad) L6Proof 1
Induction Proofs
Equivalent Statements in Proofs
cs466(Prasad) L6Proof 2
p q :tionContraposiq p :nImplicatio
q thenp ifp ifonly q
p.for necessary is q q.for sufficient is p
cs466(Prasad) L6Proof 3
q p hold.not does q and holds p: thatcase not the isIt
q
p
cs466(Prasad) L6Proof 4
Language Equivalence Proofs
bbb Ba A
AABAASBSG
| :
.)( Prove}0|{
}|{)(32
LGLnbaL
SGLnn
G
cs466(Prasad) L6Proof 5
• Soundness: All strings derivable in the grammar G have the “characteristic” property of strings in L.
• Thou shall not lie.
• Typically the proof proceeds by associating an invariant with each variable that characterizes the strings it derives.
LGL )(
cs466(Prasad) L6Proof 6
• Completeness: All strings in L are derivable in G.
• Thou shall speak the whole truth.• Typically the proof presents an algorithm
for generating a string template of L using the rules of the grammar G.
)(GLL
cs466(Prasad) L6Proof 7
• How do we generate
Derivation Rule Application
)(GLL
bbbBnbbbaaaAnBaa
AABSBAAAASBSnSBAAS
nnn
nnn
nn
nnn
of appl. )()( of .appl 2)(
)( of appl. )1()(
2
11)1(
?32 nnba
cs466(Prasad) L6Proof 8
• Let #w(x) = Number of occurrences of x in . Prove that
• Proof : By induction on the length of the derivation of a sentence.– Basis: l = 4
LGL )(
))(*#2)(#3()(: bwawS
aabbbS 4
cs466(Prasad) L6Proof 9
• Induction Hypothesis:
• Induction Step:
By context-freeness of the grammar:
))(*#2)(#3()(: bwawS n
n
n
AASBS
S
)(:Let 1
aaubbbaaSbbb n 3
4n
1nl
cs466(Prasad) L6Proof 10
• By induction hypothesis:
(Note that Sudkamp’s text illustrates an alternative approach. Its proof uses a property of sentential forms and shows that the rules in the grammar preserve it.)
uS n )3(
)(# * 2 )(# 3 Hence,
)(# 3 )(#)(# 2 )(#)(# * 2 )(# 3
bwaw
bubwauawbuau
cs466(Prasad) L6Proof 11
Example
Two proofs for the same result.
cs466(Prasad) L6Proof 12
)},|*|{ ,*},,{},({
ExEEEEExEG
Prove that if (sentence) E
then
)( 1 (*)# )(# x#www
cs466(Prasad) L6Proof 13
Informal Argument
E E
E
E E
+
*
x
x x
+ x * x x+
*
xx
x
Parse tree
Abstract syntax tree
Strictly Binary Trees: # nodes = (2 * #leaves) – 1# ops + # vars = (2 * #vars) – 1
# ops + 1 = #vars#(+) + #(*) +1 = #(x)
cs466(Prasad) L6Proof 14
Proof Alternatives
sE
sE
sE
n
n
n
:proof based form Sentential
:proof based Sentence
1
cs466(Prasad) L6Proof 15
• Proof 1: By induction on the length of the derivation of a sentence.
• Basis: n = 1 s = x 0 + 0 + 1 = 1• Induction Hypothesis:
)( 1 (*)# )(# )(:
x #wwwE k
1 sEsE nn
nk 1
cs466(Prasad) L6Proof 16
• Induction step: k=n+1
Possible patterns for w
sE n
22
11
2121
2121
**
sE
sE
sssEEE
sssEEE
n
n
n
n
cs466(Prasad) L6Proof 17
By induction hypothesis:
)( 1 (*)# )(# )( 1 (*)# )(#
222
111
x #sssx #sss
)( )(# )(# )*( (*)# (*)#
)( 1 )(# )(#For
21
21
21
21
x #sxsxs #sss
#ssssss
cs466(Prasad) L6Proof 18
)(# )(# )(
1 (*)# (*)#
1 )(# )(#
21
21
21
xsxsx #s
ssss
)( 1 (*)# )(# :Verify
x #sss
LHS
RHS
cs466(Prasad) L6Proof 19
By induction hypothesis:
)( 1 (*)# )(# )( 1 (*)# )(#
222
111
x #sssx #sss
)( )(# )(# )*( 1 (*)# (*)#
)( )(# )(# *For
21
21
21
21
x #sxsxs #sss
#ssssss
cs466(Prasad) L6Proof 20
)(# )(# )(
1 1 (*)# (*)#
)(# )(#
21
21
21
xsxsx #s
ssss
)( 1 (*)# )(# :Verify
x #sss
LHS
RHS
cs466(Prasad) L6Proof 21
• Proof 2: By induction on the length of the derivation of a sentential form.
• Prove the general result
so that the desired result for sentences follows given that
)(# )( 1 (*)# )(# )(:)( *
Ewx #wwwEV
1 uEuE nn
0 )(# : Ew
cs466(Prasad) L6Proof 22
• Basis: n = 1 w = +EE 1 + 0 + 1 = 0 + 2 w = *EE 0 + 1 + 1 = 0 + 2 w = x 0 + 0 + 1 = 1 + 0
• Induction Hypothesis:
)(# )( 1 (*)# )(# )(:)(
Ewx #wwwEV k
nk 1
cs466(Prasad) L6Proof 23
• Induction step: k=n+1
• Changes in the counts due to one-step rewrites:
0(*))( 1)( 1)(
:3 Case... :2 Case1)((*) 0)()(
* :1 Case
21
21
ExxE
EEEEx
EEE
uE n
cs466(Prasad) L6Proof 24
• In each case, the relationship (to be proved) among the counts of +,*, x and E for a sentential form holds. In other words, each rule application to a sentential form preserves this relationship.
• The desired result is obtained by observing that sentences do not contain any variable (non-terminal).
GENERAL STRATEGY FOR SENTENCE-BASED PROOF
• Variable of Induction: Length of derivation of sentence.
• Induction Hypothesis: Usually the same as the result to be proved.
• Basis Case: Explicitly verify for sentences derivable in (length =) 1 step.
That is, verify for subset of start symbol (LHS) productions that have only terminals on the RHS.
cs466(Prasad) L6Proof 25
• Induction Step:
• (n+1) steps is divided into 1 step + n steps to create the sub-problems.
• This ensures that sub-problems created using
can use induction hypothesis about sentences. • The first step must use E-productions with at least
one non-terminal on the RHS. Thus, there are as many cases as there are E-productions with non-terminals on the RHS.
cs466(Prasad) L6Proof 26
sE
sEn
n
1
sn
GENERAL STRATEGY FOR SENTENTIAL FORM-BASED PROOF
• Variable of Induction: Length of derivation of sentential form.
• Induction Hypothesis: Usually a generalization of the result to be proved, involving non-terminals. (The result about the sentences is a special case
when number of non-terminals is set to 0.)• Basis Case: Explicitly verify for sentential forms
derivable in (length =) 0 steps and 1 step. That is, verify for start symbol S and all start symbol (LHS) productions.cs466(Prasad) L6Proof 27
• Induction Step:
• (n+1) steps is divided into n steps + 1 step to create sub-problems.
• The sub-problems created using can use induction hypothesis about sentential forms. • The last step can use all productions applicable to
non-terminals in w. So, we need to show that each rule application preserves the induction hypothesis / invariant, e.g., maintain balance of counts.
cs466(Prasad) L6Proof 28
sE
sEn
n
1
nE
cs466(Prasad) L6Proof 29
Language of Palindromes
A man, a plan, a canal, Panama! Able was I ere I saw Elba.
Rats live on no evil star. He goddam mad dog, eh?
Madam, I'm Adam. A Santa stops pots at NASA.
A Toyota's a Toyota. Tarzan raised a Desi Arnaz rat.
Aibohphobia (The fear
of palindromes!)
cs466(Prasad) L6Proof 30
)operation. reversal string theis :()
}|{
}1,0{
R
RP
)},|1|0|11|00{ },1,0{},({
SSSSSG
.)( Prove PGL
cs466(Prasad) L6Proof 31
PGL )(:Soundness
RnG
R
R
S
nn
S
S
S
nG
then If
1 :
:s HypothesiInduction11 : verify 1
00 : verify 0
: verify
1 :Basis. in sentencea of
derivation theof length theon Induction
R
cs466(Prasad) L6Proof 32QED :Hence
)( then If
: of property Using
:hypothesis induction
and assumption freenesscontextBy 11|00 rules where
then If
Show that
:Step Induction
R
11
1
RR
R
Rn
nn
RnG
xuxxuxu u
uuuSxux
u
SSSxxSxSS
S
cs466(Prasad) L6Proof 33
PGL )(:Soundness
| |
2 k : :k
:Hypothesis Induction, where
)( :verify
)( :verify
)( :verify
)S( :verify
: verify
: verify
2,1 :Basis. in form sententiala of
derivation theof length theon Induction
R2
R2
R2
R
R
uuuxuuSuS
nn
yxxySyxxySyxxySyxS
xyxxyxxyxS
xxxxxxS
xxxSxxSxS
xxxS
S
nG
RRRnG
R
n = 2 is redundant.
Palindromic property + Pattern specified
cs466(Prasad) L6Proof 34
QED . ofproperty theusing
, palindromea is RHS thecase, each In , where
: rules
: rules
: rule
) | :(
| |
1k for Show that
:Step Induction
*
1
1
1
R
R
R
R
Rk
RRk
RRRnG
xu
xSx S uxSxu
xS uxu
Suu
uSuS
uuxuuSIgnore
xωSωS
n
cs466(Prasad) L6Proof 35
PGL )( :ness-Complete
}1,0{ {0,1} 0: where......
: palindrome length oddfor Template
: Approach Informal
i
0110
xaini aaxaaaas nn x S
SaaSni ii
0, : for
: Algorithm
{0,1} 0: where......
: palindrome length evenfor Template
: Approach Informal
i
0110
aini aaaaaas nn
S
SaaSni ii 0, : for
: Algorithm
cs466(Prasad) L6Proof 36
PGL )(:ness-Complete
then
0)(k if :k
:s HypothesiInduction 1 ,0 1
0 :Basis. in sentencea of length theon Induction
*
G
R
S
wlen
SS n Sn
Pn
cs466(Prasad) L6Proof 37
1. with0 replacing Similarly, 1. withbegins :2 Case
Hence,
0000
:00 withbegins derivationNew :hypothesis induction By
1k)( 00
0. withbegins :1 Case
1k )(for Show that
:Step Induction
*
G
n
nG
R
G
R
S
uSS
SSuS
ulenuuu
S
len