Thms languages Sections AutomataTheory Doc

lang_sing Def (l) == null(l)

Thm* Alph:Type. LangOver(Alph)

assert Def b == if b True else False fi

Thm* b:. b Prop

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

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

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)

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

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

languages Def LangOver(Alph) == Alph*Prop

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

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

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

Thm* ||nil||

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

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

Thm* null(nil)

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

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

rev_implies Def P Q == Q P

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

le Def AB == B < A

Thm* i,j:. ij 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*

not Def A == A False

Thm* A:Prop. (A) Prop

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_indniluniverselistimpliesfalseprop
recursive_def_noticenatural_numberconssubtractless_thanaddfunctionset
andapplyexiststrueassert