Thms languages Sections AutomataTheory Doc

lang_closure Def (L)(l) == n:. (Ln)(l)

Thm* Alph:Type, L:LangOver(Alph). (L) LangOver(Alph)

lang_eq Def L = M == l:Alph*. L(l) M(l)

Thm* Alph:Type{i}, L,M:LangOver(Alph). L = M Prop{i'}

lang_power Def (Ln) == if n=0 else ((Ln-1)L) fi (recursive)

Thm* Alph:Type, L:LangOver(Alph), n:. (Ln) LangOver(Alph)

languages Def LangOver(Alph) == Alph*Prop

Thm* Alph:Type{i}. LangOver(Alph) Type{i'}

nat Def == {i:| 0i }

Thm* Type

iff Def P Q == (P Q) & (P Q)

Thm* A,B:Prop. (A B) Prop

lang_prod Def (LM)(l) == i:{0...||l||}. L(l[0..i]) & M(l[i..||l||])

Thm* Alph:Type, M,N:LangOver(Alph). (MN) LangOver(Alph)

lang_sing Def (l) == null(l)

Thm* Alph:Type. LangOver(Alph)

eq_int Def i=j == if i=j true ; false fi

Thm* i,j:. i=j

int_iseg Def {i...j} == {k:| ik & kj }

Thm* i,j:. {i...j} Type

le Def AB == B < A

Thm* i,j:. ij Prop

rev_implies Def P Q == Q P

Thm* A,B:Prop. (A B) Prop

length Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive)

Thm* A:Type, l:A*. ||l||

Thm* ||nil||

segment Def as[m..n] == firstn(n-m;nth_tl(m;as))

Thm* T:Type, as:T*, m,n:. (as[m..n]) T*

null Def null(as) == Case of as; nil true ; a.as' false

Thm* T:Type, as:T*. null(as)

Thm* null(nil)

assert Def b == if b True else False fi

Thm* b:. b Prop

not Def A == A False

Thm* A:Prop. (A) Prop

nth_tl Def nth_tl(n;as) == if n0 as else nth_tl(n-1;tl(as)) fi (recursive)

Thm* A:Type, as:A*, i:. nth_tl(i;as) A*

firstn Def firstn(n;as) == Case of as; nil nil ; a.as' if 0 < n a.firstn(n-1;as') else nil fi (recursive)

Thm* A:Type, as:A*, n:. firstn(n;as) A*

tl Def tl(l) == Case of l; nil nil ; h.t t

Thm* A:Type, l:A*. tl(l) A*

le_int Def ij == j < i

Thm* i,j:. ij

lt_int Def i < j == if i < j true ; false fi

Thm* i,j:. i < j

bnot Def b == if b false else true fi

Thm* b:. b

About:
!abstractionifthenelsebfalsebtrueallboolmemberless
intlist_indniluniverselistrecursive_def_noticenatural_numbercons
subtractimpliesfalseproptrueassertaddless_than
setandint_eqapplyexistsfunction