let I be Program of SCM+FSA; for a being read-write Int-Location
for s being State of SCM+FSA st ( for k being Nat holds
( I is_closed_on (StepWhile=0 (a,I,s)) . k & I is_halting_on (StepWhile=0 (a,I,s)) . k ) ) & ex f being Function of (product the Object-Kind of SCM+FSA),NAT st
for k being Nat holds
( ( f . ((StepWhile=0 (a,I,s)) . (k + 1)) < f . ((StepWhile=0 (a,I,s)) . k) or f . ((StepWhile=0 (a,I,s)) . k) = 0 ) & ( f . ((StepWhile=0 (a,I,s)) . k) = 0 implies ((StepWhile=0 (a,I,s)) . k) . a <> 0 ) & ( ((StepWhile=0 (a,I,s)) . k) . a <> 0 implies f . ((StepWhile=0 (a,I,s)) . k) = 0 ) ) holds
( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s )
let a be read-write Int-Location ; for s being State of SCM+FSA st ( for k being Nat holds
( I is_closed_on (StepWhile=0 (a,I,s)) . k & I is_halting_on (StepWhile=0 (a,I,s)) . k ) ) & ex f being Function of (product the Object-Kind of SCM+FSA),NAT st
for k being Nat holds
( ( f . ((StepWhile=0 (a,I,s)) . (k + 1)) < f . ((StepWhile=0 (a,I,s)) . k) or f . ((StepWhile=0 (a,I,s)) . k) = 0 ) & ( f . ((StepWhile=0 (a,I,s)) . k) = 0 implies ((StepWhile=0 (a,I,s)) . k) . a <> 0 ) & ( ((StepWhile=0 (a,I,s)) . k) . a <> 0 implies f . ((StepWhile=0 (a,I,s)) . k) = 0 ) ) holds
( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s )
let s be State of SCM+FSA; ( ( for k being Nat holds
( I is_closed_on (StepWhile=0 (a,I,s)) . k & I is_halting_on (StepWhile=0 (a,I,s)) . k ) ) & ex f being Function of (product the Object-Kind of SCM+FSA),NAT st
for k being Nat holds
( ( f . ((StepWhile=0 (a,I,s)) . (k + 1)) < f . ((StepWhile=0 (a,I,s)) . k) or f . ((StepWhile=0 (a,I,s)) . k) = 0 ) & ( f . ((StepWhile=0 (a,I,s)) . k) = 0 implies ((StepWhile=0 (a,I,s)) . k) . a <> 0 ) & ( ((StepWhile=0 (a,I,s)) . k) . a <> 0 implies f . ((StepWhile=0 (a,I,s)) . k) = 0 ) ) implies ( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s ) )
assume A1:
for k being Nat holds
( I is_closed_on (StepWhile=0 (a,I,s)) . k & I is_halting_on (StepWhile=0 (a,I,s)) . k )
; ( for f being Function of (product the Object-Kind of SCM+FSA),NAT holds
not for k being Nat holds
( ( f . ((StepWhile=0 (a,I,s)) . (k + 1)) < f . ((StepWhile=0 (a,I,s)) . k) or f . ((StepWhile=0 (a,I,s)) . k) = 0 ) & ( f . ((StepWhile=0 (a,I,s)) . k) = 0 implies ((StepWhile=0 (a,I,s)) . k) . a <> 0 ) & ( ((StepWhile=0 (a,I,s)) . k) . a <> 0 implies f . ((StepWhile=0 (a,I,s)) . k) = 0 ) ) or ( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s ) )
A2:
IC SCM+FSA in dom ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by COMPOS_1:141;
set s1 = s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)));
given f being Function of (product the Object-Kind of SCM+FSA),NAT such that A3:
for k being Nat holds
( ( f . ((StepWhile=0 (a,I,s)) . (k + 1)) < f . ((StepWhile=0 (a,I,s)) . k) or f . ((StepWhile=0 (a,I,s)) . k) = 0 ) & ( f . ((StepWhile=0 (a,I,s)) . k) = 0 implies ((StepWhile=0 (a,I,s)) . k) . a <> 0 ) & ( ((StepWhile=0 (a,I,s)) . k) . a <> 0 implies f . ((StepWhile=0 (a,I,s)) . k) = 0 ) )
; ( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s )
deffunc H1( Nat) -> Element of NAT = f . ((StepWhile=0 (a,I,s)) . $1);
A4:
for k being Nat holds
( H1(k + 1) < H1(k) or H1(k) = 0 )
by A3;
consider m being Nat such that
A5:
H1(m) = 0
and
A6:
for n being Nat st H1(n) = 0 holds
m <= n
from NAT_1:sch 17(A4);
defpred S1[ Nat] means ( $1 + 1 <= m implies ex k being Element of NAT st (StepWhile=0 (a,I,s)) . ($1 + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),k) );
A7:
now let k be
Element of
NAT ;
( S1[k] implies S1[k + 1] )assume A8:
S1[
k]
;
S1[k + 1]now set sk1 =
(StepWhile=0 (a,I,s)) . (k + 1);
set sk =
(StepWhile=0 (a,I,s)) . k;
assume A9:
(k + 1) + 1
<= m
;
ex m being Element of NAT st (StepWhile=0 (a,I,s)) . ((k + 1) + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),m)
k + 0 < k + (1 + 1)
by XREAL_1:8;
then
k < m
by A9, XXREAL_0:2;
then
H1(
k)
<> 0
by A6;
then A10:
((StepWhile=0 (a,I,s)) . k) . a = 0
by A3;
A11:
I is_halting_on (StepWhile=0 (a,I,s)) . k
by A1;
(k + 1) + 0 < (k + 1) + 1
by XREAL_1:8;
then consider n being
Element of
NAT such that A12:
(StepWhile=0 (a,I,s)) . (k + 1) = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
n)
by A8, A9, XXREAL_0:2;
take m =
n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . (k + 1)) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . (k + 1)) +* (I +* (Start-At (0,SCM+FSA)))))) + 3);
(StepWhile=0 (a,I,s)) . ((k + 1) + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),m)
(
(StepWhile=0 (a,I,s)) . (k + 1) = Comput (
(ProgramPart (((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3)) &
I is_closed_on (StepWhile=0 (a,I,s)) . k )
by A1, Def4;
then
IC ((StepWhile=0 (a,I,s)) . (k + 1)) = 0
by A11, A10, Th22;
hence
(StepWhile=0 (a,I,s)) . ((k + 1) + 1) = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
m)
by A12, Th31;
verum end; hence
S1[
k + 1]
;
verum end;
A13:
S1[ 0 ]
proof
assume
0 + 1
<= m
;
ex k being Element of NAT st (StepWhile=0 (a,I,s)) . (0 + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),k)
take n =
(LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3;
(StepWhile=0 (a,I,s)) . (0 + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n)
thus
(StepWhile=0 (a,I,s)) . (0 + 1) = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
n)
by Th30;
verum
end;
A14:
for k being Element of NAT holds S1[k]
from NAT_1:sch 1(A13, A7);
now per cases
( m = 0 or m <> 0 )
;
suppose A15:
m <> 0
;
( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s )then consider i being
Nat such that A16:
m = i + 1
by NAT_1:6;
reconsider m =
m,
i =
i as
Element of
NAT by ORDINAL1:def 13;
set sm =
(StepWhile=0 (a,I,s)) . m;
set si =
(StepWhile=0 (a,I,s)) . i;
i < m
by A16, NAT_1:13;
then
H1(
i)
<> 0
by A6;
then A17:
((StepWhile=0 (a,I,s)) . i) . a = 0
by A3;
A18:
(
I is_closed_on (StepWhile=0 (a,I,s)) . i &
I is_halting_on (StepWhile=0 (a,I,s)) . i )
by A1;
(StepWhile=0 (a,I,s)) . m = Comput (
(ProgramPart (((StepWhile=0 (a,I,s)) . i) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(((StepWhile=0 (a,I,s)) . i) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . i) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . i) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))
by A16, Def4;
then A19:
IC ((StepWhile=0 (a,I,s)) . m) = 0
by A18, A17, Th22;
set p =
(LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3;
set sm1 =
((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)));
m = i + 1
by A16;
then consider n being
Element of
NAT such that A20:
(StepWhile=0 (a,I,s)) . m = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
n)
by A14;
reconsider n =
n as
Element of
NAT ;
ProgramPart ((StepWhile=0 (a,I,s)) . m) = ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))
by A20, AMI_1:123;
then A21:
(
DataPart (((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = DataPart ((StepWhile=0 (a,I,s)) . m) &
ProgramPart (((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart ((StepWhile=0 (a,I,s)) . m) )
by FUNCT_4:100, SCMFSA8A:11;
IC (((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) =
IC ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by A2, FUNCT_4:14
.=
IC ((StepWhile=0 (a,I,s)) . m)
by A19, COMPOS_1:142
;
then A22:
((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) = (StepWhile=0 (a,I,s)) . m
by A21, Th29;
A23:
((StepWhile=0 (a,I,s)) . m) . a <> 0
by A3, A5;
then
while=0 (
a,
I)
is_halting_on (StepWhile=0 (a,I,s)) . m
by Th18;
then
ProgramPart (((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) halts_on ((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by SCMFSA7B:def 8;
then consider j being
Element of
NAT such that A24:
CurInstr (
(ProgramPart ((StepWhile=0 (a,I,s)) . m)),
(Comput ((ProgramPart ((StepWhile=0 (a,I,s)) . m)),((StepWhile=0 (a,I,s)) . m),j)))
= halt SCM+FSA
by A22, EXTPRO_1:30;
T:
ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n))
by AMI_1:123;
x:
Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
(n + j))
= Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n)),
j)
by EXTPRO_1:5;
CurInstr (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + j))))
= halt SCM+FSA
by A20, A24, x, T;
then
ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) halts_on s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by EXTPRO_1:30;
hence
while=0 (
a,
I)
is_halting_on s
by SCMFSA7B:def 8;
while=0 (a,I) is_closed_on snow let q be
Element of
NAT ;
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),b1)) in dom (while=0 (a,I))A25:
0 < m
by A15;
per cases
( q <= (LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3 or q > (LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3 )
;
suppose A26:
q <= (LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3
;
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),b1)) in dom (while=0 (a,I))A27:
(StepWhile=0 (a,I,s)) . 0 = s
by Def4;
then A28:
(
I is_closed_on s &
I is_halting_on s )
by A1;
H1(
0 )
<> 0
by A6, A25;
then
s . a = 0
by A3, A27;
hence
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))
by A26, A28, Th22;
verum end; suppose A29:
q > (LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3
;
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),b1)) in dom (while=0 (a,I))A30:
now take k =
(LifeSpan ((ProgramPart (s +* (I +* (Start-At (0,SCM+FSA))))),(s +* (I +* (Start-At (0,SCM+FSA)))))) + 3;
( (StepWhile=0 (a,I,s)) . 1 = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),k) & k <= q )thus
(
(StepWhile=0 (a,I,s)) . 1
= Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
k) &
k <= q )
by A29, Th30;
verum end; defpred S2[
Nat]
means ( $1
<= m & $1
<> 0 & ex
k being
Element of
NAT st
(
(StepWhile=0 (a,I,s)) . $1
= Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
k) &
k <= q ) );
A31:
for
i being
Nat st
S2[
i] holds
i <= m
;
0 + 1
< m + 1
by A25, XREAL_1:8;
then
1
<= m
by NAT_1:13;
then A32:
ex
t being
Nat st
S2[
t]
by A30;
consider t being
Nat such that A33:
(
S2[
t] & ( for
i being
Nat st
S2[
i] holds
i <= t ) )
from NAT_1:sch 6(A31, A32);
reconsider t =
t as
Element of
NAT by ORDINAL1:def 13;
now per cases
( t = m or t <> m )
;
suppose
t = m
;
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))then consider r being
Element of
NAT such that A34:
(StepWhile=0 (a,I,s)) . m = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
r)
and A35:
r <= q
by A33;
consider x being
Nat such that A36:
q = r + x
by A35, NAT_1:10;
A37:
while=0 (
a,
I)
is_closed_on (StepWhile=0 (a,I,s)) . m
by A23, Th18;
reconsider x =
x as
Element of
NAT by ORDINAL1:def 13;
T:
ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart (((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))
by A22, A34, AMI_1:123;
Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
q)
= Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(((StepWhile=0 (a,I,s)) . m) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
x)
by A22, A34, A36, EXTPRO_1:5;
hence
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))
by A37, T, SCMFSA7B:def 7;
verum end; suppose A38:
t <> m
;
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))set Dt =
(StepWhile=0 (a,I,s)) . t;
A39:
t < m
by A33, A38, XXREAL_0:1;
then
H1(
t)
<> 0
by A6;
then A40:
((StepWhile=0 (a,I,s)) . t) . a = 0
by A3;
consider z being
Element of
NAT such that A41:
(StepWhile=0 (a,I,s)) . t = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
z)
and A42:
z <= q
by A33;
set z2 =
z + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA)))))) + 3);
consider w being
Nat such that A43:
q = z + w
by A42, NAT_1:10;
A44:
(
I is_closed_on (StepWhile=0 (a,I,s)) . t &
I is_halting_on (StepWhile=0 (a,I,s)) . t )
by A1;
consider y being
Nat such that A45:
t = y + 1
by A33, NAT_1:6;
reconsider y =
y as
Element of
NAT by ORDINAL1:def 13;
set Dy =
(StepWhile=0 (a,I,s)) . y;
y + 0 < t
by A45, XREAL_1:8;
then
y < m
by A33, XXREAL_0:2;
then
H1(
y)
<> 0
by A6;
then A46:
((StepWhile=0 (a,I,s)) . y) . a = 0
by A3;
A47:
(
I is_closed_on (StepWhile=0 (a,I,s)) . y &
I is_halting_on (StepWhile=0 (a,I,s)) . y )
by A1;
reconsider w =
w as
Element of
NAT by ORDINAL1:def 13;
(StepWhile=0 (a,I,s)) . t = Comput (
(ProgramPart (((StepWhile=0 (a,I,s)) . y) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(((StepWhile=0 (a,I,s)) . y) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . y) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . y) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))
by A45, Def4;
then A48:
IC ((StepWhile=0 (a,I,s)) . t) = 0
by A47, A46, Th22;
now assume A49:
z + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA)))))) + 3) <= q
;
contradictionA50:
now take k =
z + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA)))))) + 3);
( (StepWhile=0 (a,I,s)) . (t + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),k) & k <= q )thus
(
(StepWhile=0 (a,I,s)) . (t + 1) = Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
k) &
k <= q )
by A41, A48, A49, Th31;
verum end;
t + 1
<= m
by A39, NAT_1:13;
hence
contradiction
by A33, A50, XREAL_1:31;
verum end; then A51:
w < (LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . t) +* (I +* (Start-At (0,SCM+FSA)))))) + 3
by A43, XREAL_1:8;
X:
(StepWhile=0 (a,I,s)) . t = ((StepWhile=0 (a,I,s)) . t) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by A41, A48, Th31;
T:
ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart ((StepWhile=0 (a,I,s)) . t)
by A41, AMI_1:123;
Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
q) =
Comput (
(ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
((StepWhile=0 (a,I,s)) . t),
w)
by A41, A43, EXTPRO_1:5
.=
Comput (
(ProgramPart (((StepWhile=0 (a,I,s)) . t) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),
(((StepWhile=0 (a,I,s)) . t) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),
w)
by X, T
;
hence
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))
by A51, A44, A40, Th22;
verum end; end; end; hence
IC (Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),q)) in dom (while=0 (a,I))
;
verum end; end; end; hence
while=0 (
a,
I)
is_closed_on s
by SCMFSA7B:def 7;
verumset D =
Int-Locations \/ FinSeq-Locations;
end; end; end;
hence
( while=0 (a,I) is_halting_on s & while=0 (a,I) is_closed_on s )
; verum