Origin Sections AutomataTheory Doc

action_sets

Nuprl Section: action_sets

Selected Objects
defaction_setActionSet(T) == car:TypeTcarcar
defaset_cara.car == 1of(a)
defaset_acta.act == 2of(a)
deffactorial(rec) (n)! == if n=0 1 else n(n-1)! fi
THMex1_of_factorial(0)! = 1
defmulti_action(rec) multi_action(l; s; ASet) == if null(l) s else ASet.act(hd(rev(l)),multi_action(ASet.act; rev(tl(rev(l))); s)) fi
defmaction(rec) (S:Ls) == if null(L) s else S.act(hd(L),(S:tl(L)s)) fi
THMmaction_lemmaS:ActionSet(Alph), s:S.car, L1,L2,L:Alph*. (S:L1s) = (S:L2s) (S:L @ L1s) = (S:L @ L2s)
deflpower(rec) (Ln) == if n=0 nil else (Ln-1) @ L fi
THMlpower_altL:Alph*, n:. (Ln) = if n=0 nil else L @ (Ln-1) fi
THMpump_theoremS:ActionSet(Alph), N:, s:S.car. #(S.car)=N (A:Alph*. N < ||A|| (a,b,c:Alph*. 0 < ||b|| & A = ((a @ b) @ c) & (k:. (S:(a @ (bk)) @ cs) = (S:As))))
THMpump_thm_corn:, Alph:Type, S:ActionSet(Alph), s,f:S.car. #(S.car)=n (l:Alph*. (S:ls) = f) (l:Alph*. ||l||n & (S:ls) = f)
THMaction_appendS:ActionSet(T), s:S.car, tl1,tl2:T*. (S:tl1 @ tl2s) = (S:tl1(S:tl2s))
defn0n1n0n1(n) == ([0]n) @ ([1]n)
defel_counter(rec) ||e:L|| == if null(L)0 ;e=hd(L)1+||e:tl(L)|| else ||e:tl(L)|| fi
THMcounter_of_nile:. ||e:nil|| = 0
THMcounter_appende:, L,M:*. ||e:L @ M|| = ||e:L||+||e:M||
THMcounter_lpowere:, L:*, n:. ||e:(Ln)|| = n||e:L||
THMn0n1_irregularS:ActionSet(), s,q:S.car. (n:. #(S.car)=n ) & (k:. (S:n0n1(k)s) = q) (L:*. (S:Ls) = q & (k:. L = n0n1(k)))