automata |
Def Automata(Alph;States) == (States Alph States) States (States  )
Thm* Alph,States:Type{i}. Automata(Alph;States) Type{i'}
|
lang_auto |
Def A(g) == < ( s,a. a.s),nil,g >
Thm* Alph:Type, L:LangOver(Alph), g:((x,y:Alph*//(x L-induced Equiv y))  ).
A(g) Automata(Alph;x,y:Alph*//(x L-induced Equiv y))
|
lang_rel |
Def L-induced Equiv(x,y) == z:A*. L(z @ x)  L(z @ y)
Thm* A:Type, L:LangOver(A). L-induced Equiv A* A* Prop
|
languages |
Def LangOver(Alph) == Alph* Prop
Thm* Alph:Type{i}. LangOver(Alph) Type{i'}
|
append |
Def as @ bs == Case of as; nil bs ; a.as' a.(as' @ bs) (recursive)
Thm* T:Type, as,bs:T*. (as @ bs) T*
|
iff |
Def P  Q == (P  Q) & (P  Q)
Thm* A,B:Prop. (A  B) Prop
|
rev_implies |
Def P  Q == Q  P
Thm* A,B:Prop. (A  B) Prop
|