Thm* V,T:Type, G:Grammar(V;T). RegG(G)
Prop reg_g_wf
Thm* V,T:Type, G:Grammar(V;T). ConFreeG(G)
Prop con_free_g_wf
Thm* V1,V2,T:Type, G1:Grammar(V1;T), G2:Grammar(V2;T). G1 = G2
Prop g_eq_wf
Thm* G:Grammar(V;T), l,m,n:(V+T)*. (l
m)
(m
n)
(l
n)
derive_trans
Thm* G:Grammar(V;T), l:(V+T)*. l
l derive_refl
Thm* V,T:Type, G:Grammar(V;T).
(V+T)*
(V+T)*
Prop derive_wf
Thm* V,T:Type, G:Grammar(V;T).
(V+T)*
(V+T)*
Prop
directly_derive_wf
Thm* V,T:Type, g:Grammar(V;T). g.init
V g_init_wf
Thm* V,T:Type, g:Grammar(V;T). g.prod
((V+T List
)
(V+T)*)* g_prod_wf