Thm* S:ActionSet(
), s,q:S.car.
(
n:
. #(S.car)=n ) & (
k:
. (S:n0n1(k)
s) = q)
(
L:
*. (S:L
s) = q & (
k:
.
L = n0n1(k)))
n0n1_irregular
Thm* S:ActionSet(T), s:S.car, tl1,tl2:T*. (S:tl1 @ tl2
s) = (S:tl1
(S:tl2
s))
action_append
Thm* n:
, Alph:Type, S:ActionSet(Alph), s,f:S.car.
#(S.car)=n
(
l:Alph*. (S:l
s) = f)
(
l:Alph*. ||l||
n & (S:l
s) = f)
pump_thm_cor
Thm* S: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 @ (b
k)) @ c
s) = (S:A
s))))
pump_theorem
Thm* S:ActionSet(Alph), s:S.car, L1,L2,L:Alph*.
(S:L1
s) = (S:L2
s)
(S:L @ L1
s) = (S:L @ L2
s)
maction_lemma
Thm* Alph:Type, S:ActionSet(Alph), L:Alph*, s:S.car. (S:L
s)
S.car maction_wf
Thm* T:Type, a:ActionSet(T). a.act
T
a.car
a.car aset_act_wf
Thm* T:Type, a:ActionSet(T). a.car
Type aset_car_wf