|  |  |  | The Correctness of LR(0) parsing | 
 
 1 .
1 .  2 ]
2 ] 
 (
(  0,
0,
             ) iff [ N
) iff [ N 
            
 1 .
1 .  2 ] is valid for
2 ] is valid for
             .
.
      
        [N  ->  1 .
1 .  2 ]
2 ] 
 (
(  0,
0,  )
         only if
         [ N
)
         only if
         [ N 
            
 1 .
1 .  2 ] is valid for
2 ] is valid for  .
.
      
       Lemma 1: Given a set  of LR(0) items valid for some
 of LR(0) items valid for some 
             
 (Vn  U Vt)*, all items in closure(
(Vn  U Vt)*, all items in closure( ) are
       valid for
) are
       valid for  .
.
      
       Lemma 2: 
	For kernel items, 
	[N  ->  1 .
1 .  2 ]
2 ] 
 (
(  0,
0,  )
         only if
         [ N
)
         only if
         [ N 
            
 1 .
1 .  2 ] is valid for
2 ] is valid for  .
.
      
|  |  |  | The Correctness of LR(0) parsing |