set A = NAT ;
set D = Int-Locations \/ FinSeq-Locations ;
let ss be State of SCM+FSA ; :: thesis: for I, J being Program of SCM+FSA
for a being read-write Int-Location st ss . (intloc 0 ) = 1 & ss . a <= 0 & Directed J is_pseudo-closed_on ss holds
DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss)
let I, J be Program of SCM+FSA ; :: thesis: for a being read-write Int-Location st ss . (intloc 0 ) = 1 & ss . a <= 0 & Directed J is_pseudo-closed_on ss holds
DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss)
let a be read-write Int-Location ; :: thesis: ( ss . (intloc 0 ) = 1 & ss . a <= 0 & Directed J is_pseudo-closed_on ss implies DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss) )
set J0 = Directed J;
set s = Initialize ss;
set s0 = Initialize (Initialize ss);
set J9 = J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )));
set s00 = (Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )));
set s3 = (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )));
set s4 = Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1;
set s5 = Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2;
set i = a >0_goto (insloc ((card J) + 3));
assume A1:
ss . (intloc 0 ) = 1
; :: thesis: ( not ss . a <= 0 or not Directed J is_pseudo-closed_on ss or DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss) )
assume
ss . a <= 0
; :: thesis: ( not Directed J is_pseudo-closed_on ss or DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss) )
then
(Initialize ss) . a <= 0
by SCMFSA6C:3;
then A2:
(Initialize (Initialize ss)) . a <= 0
by SCMFSA6C:3;
A3: ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . a =
(Initialize ss) . a
by Th28
.=
(Initialize (Initialize ss)) . a
by SCMFSA6C:3
;
assume
Directed J is_pseudo-closed_on ss
; :: thesis: DataPart (IExec (if>0 a,I,J),ss) = DataPart (IExec (J ';' (Stop SCM+FSA )),ss)
then A4:
Directed J is_pseudo-closed_on Initialize ss
by A1, Th53;
A5:
if>0 a,I,J = ((((a >0_goto (insloc ((card J) + 3))) ';' J) ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )
by SCMFSA8B:def 2;
A6:
(Directed J) +* (Start-At (insloc 0 )) c= (Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))
by FUNCT_4:26;
DataPart (Initialize ss) = DataPart ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 ))))
by SCMFSA8A:11;
then A7:
Directed J is_pseudo-closed_on (Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))
by A4, Th52;
A8:
insloc 0 in dom (if>0 a,I,J)
by Th54;
if>0 a,I,J c= (if>0 a,I,J) +* (Start-At (insloc 0 ))
by SCMFSA8A:9;
then A9:
dom (if>0 a,I,J) c= dom ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by GRFUNC_1:8;
IC SCM+FSA in dom ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by SF_MASTR:65;
then A10: IC ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) =
((if>0 a,I,J) +* (Start-At (insloc 0 ))) . (IC SCM+FSA )
by FUNCT_4:14
.=
insloc 0
by SF_MASTR:66
;
A11: ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc 0 ) =
((if>0 a,I,J) +* (Start-At (insloc 0 ))) . (insloc 0 )
by A8, A9, FUNCT_4:14
.=
(if>0 a,I,J) . (insloc 0 )
by A8, SCMFSA6B:7
.=
a >0_goto (insloc ((card J) + 3))
by Th55
;
then A12:
CurInstr ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) = a >0_goto (insloc ((card J) + 3))
by A10;
A13:
now thus Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),
(0 + 1) =
Following (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),0 )
by AMI_1:14
.=
Following ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))))
by AMI_1:13
.=
Exec (a >0_goto (insloc ((card J) + 3))),
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))))
by A10, A11
;
:: thesis: verum end;
A15:
insloc 1 in dom (if>0 a,I,J)
by Th54;
if>0 a,I,J c= (if>0 a,I,J) +* (Start-At (insloc 0 ))
by SCMFSA8A:9;
then A16:
dom (if>0 a,I,J) c= dom ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by GRFUNC_1:8;
A17:
now thus (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1) . (insloc 1) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc 1)
by AMI_1:54
.=
((if>0 a,I,J) +* (Start-At (insloc 0 ))) . (insloc 1)
by A15, A16, FUNCT_4:14
.=
(if>0 a,I,J) . (insloc 1)
by A15, SCMFSA6B:7
.=
goto (insloc 2)
by Th55
;
:: thesis: verum end;
A18: Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),(1 + 1) =
Following (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1)
by AMI_1:14
.=
Exec (goto (insloc 2)),(Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1)
by A14, A17
;
A19:
card (Macro (a >0_goto (insloc ((card J) + 3)))) = 2
by SCMFSA7B:6;
A20:
(if>0 a,I,J) +* (Start-At (insloc 0 )) c= (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by FUNCT_4:26;
if>0 a,I,J c= (if>0 a,I,J) +* (Start-At (insloc 0 ))
by SCMFSA8A:9;
then A21:
if>0 a,I,J c= (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by A20, XBOOLE_1:1;
if>0 a,I,J = (((Macro (a >0_goto (insloc ((card J) + 3)))) ';' J) ';' (Goto (insloc ((card I) + 1)))) ';' (I ';' (Stop SCM+FSA ))
by A5, SCMFSA6A:67;
then
if>0 a,I,J = ((Macro (a >0_goto (insloc ((card J) + 3)))) ';' J) ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))
by SCMFSA6A:67;
then
if>0 a,I,J = (Macro (a >0_goto (insloc ((card J) + 3)))) ';' (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA ))))
by SCMFSA6A:67;
then
ProgramPart (Relocated (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))),2) c= if>0 a,I,J
by A19, FUNCT_4:26;
then
ProgramPart (Relocated (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))),2) c= (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by A21, XBOOLE_1:1;
then
ProgramPart [(ProgramPart (Relocated (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))),2))] c= Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2
by AMI_1:99;
then A22:
ProgramPart (Relocated (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))),2) c= Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2
by AMI_1:105;
ProgramPart (Relocated (Directed J),2) c= ProgramPart (Relocated (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))),2)
by Th12, SCMFSA6A:55;
then A23:
ProgramPart (Relocated (Directed J),2) c= Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2
by A22, XBOOLE_1:1;
A24:
IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) = insloc 2
by A18, SCMFSA_2:95;
A25:
DataPart ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) = DataPart ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))))
by SCMFSA6A:39, SCMFSA8A:14;
A26:
now let a be
Int-Location ;
:: thesis: ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) . a = (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) . athus ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) . a =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . a
by A25, SCMFSA6A:38
.=
(Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1) . a
by A13, SCMFSA_2:97
.=
(Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) . a
by A18, SCMFSA_2:95
;
:: thesis: verum end;
now let f be
FinSeq-Location ;
:: thesis: ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) . f = (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) . fthus ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) . f =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . f
by A25, SCMFSA6A:38
.=
(Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1) . f
by A13, SCMFSA_2:97
.=
(Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) . f
by A18, SCMFSA_2:95
;
:: thesis: verum end;
then A27:
DataPart ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))) = DataPart (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2)
by A26, SCMFSA6A:38;
A28:
if>0 a,I,J c= (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by FUNCT_4:26, SCMFSA6B:5;
then
((card J) + 2) + 0 < card (if>0 a,I,J)
by XREAL_1:10;
then A29:
insloc ((card J) + 2) in dom (if>0 a,I,J)
by SCMFSA6A:15;
set s9 = Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2);
A30:
now thus IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)) =
IC (Computation (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2),(pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)))
by AMI_1:51
.=
(IC (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)))) + 2
by A6, A7, A23, A24, A27, Th51
.=
(IC (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(pseudo-LifeSpan (Initialize ss),(Directed J)))) + 2
by A4, Th50
.=
(insloc (card (ProgramPart (Directed J)))) + 2
by A4, SCMFSA8A:def 5
.=
(insloc (card (Directed J))) + 2
by AMI_1:105
.=
insloc ((card J) + 2)
by SCMFSA8A:34
;
:: thesis: verum end;
then A31: CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc ((card J) + 2))
by AMI_1:54
.=
(if>0 a,I,J) . (insloc ((card J) + 2))
by A28, A29, GRFUNC_1:8
.=
goto (insloc (((card I) + (card J)) + 3))
by Th64
;
A32:
if>0 a,I,J c= (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))
by FUNCT_4:26, SCMFSA6B:5;
then
((card I) + (card J)) + 3 < card (if>0 a,I,J)
by NAT_1:13;
then A33:
insloc (((card I) + (card J)) + 3) in dom (if>0 a,I,J)
by SCMFSA6A:15;
then A34: CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),(((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2) + 1)) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc (((card I) + (card J)) + 3))
by AMI_1:54
.=
(if>0 a,I,J) . (insloc (((card I) + (card J)) + 3))
by A32, A33, GRFUNC_1:8
.=
halt SCM+FSA
by Th62
;
then A35:
(Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))) is halting
by AMI_1:def 20;
A36:
now let k be
Element of
NAT ;
:: thesis: ( CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k) = halt SCM+FSA implies (pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + (1 + 2) <= k )assume A37:
CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k) = halt SCM+FSA
;
:: thesis: (pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + (1 + 2) <= kassume A38:
not
(pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + (1 + 2) <= k
;
:: thesis: contradiction
CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),0 ) = a >0_goto (insloc ((card J) + 3))
by A12, AMI_1:13;
then A39:
(
k <> 0 &
k <> 1 )
by A14, A17, A37, SCMFSA_2:47, SCMFSA_2:49, SCMFSA_2:124;
0 + 2
< ((card I) + (card J)) + 3
by XREAL_1:10;
then A40:
(
insloc 2
in dom (if>0 a,I,J) &
(if>0 a,I,J) . (insloc 2) <> halt SCM+FSA )
by Th57;
CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc 2)
by A24, AMI_1:54
.=
(if>0 a,I,J) . (insloc 2)
by A40, Th26
;
then
2
< k
by A37, A39, A40, NAT_1:27;
then consider k2 being
Nat such that A41:
2
+ k2 = k
by NAT_1:10;
reconsider k2 =
k2 as
Element of
NAT by ORDINAL1:def 13;
k < ((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 1) + 2
by A38;
then
k2 < (pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 1
by A41, XREAL_1:8;
then A42:
k2 <= pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),
(Directed J)
by NAT_1:13;
reconsider n =
IC (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),k2) as
Element of
NAT by ORDINAL1:def 13;
A44:
IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k) =
IC (Computation (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2),k2)
by A41, AMI_1:51
.=
insloc (n + 2)
by A6, A7, A23, A24, A27, A42, Th51
;
A45:
k2 <= pseudo-LifeSpan (Initialize ss),
(Directed J)
by A4, A42, Th50;
then A49:
(
insloc (n + 2) in dom (if>0 a,I,J) &
(if>0 a,I,J) . (insloc (n + 2)) <> halt SCM+FSA )
by Th57;
CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k))
by AMI_1:54
.=
(if>0 a,I,J) . (IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),k))
by A44, A49, Th26
;
hence
contradiction
by A37, A44, A46, Th57;
:: thesis: verum end;
set s1 = (Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 )));
( (Initialize ss) +* (Initialized (if>0 a,I,J)) = (Initialize (Initialize ss)) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))) & (Initialize ss) +* (Initialized (J ';' (Stop SCM+FSA ))) = (Initialize (Initialize ss)) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 ))) )
by SCMFSA8A:13;
then A50:
( (Initialize ss) +* (Initialized (if>0 a,I,J)) = (Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))) & (Initialize ss) +* (Initialized (J ';' (Stop SCM+FSA ))) = (Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 ))) )
by Th15;
A51:
( J ';' (Stop SCM+FSA ) is_halting_on Initialize ss & LifeSpan ((Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 )))) = pseudo-LifeSpan (Initialize ss),(Directed J) )
by A4, Th58;
then A52:
(Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 ))) is halting
by SCMFSA7B:def 8;
A53:
Directed (Directed J) = Directed J
by SCMFSA6A:63;
( (Directed J) ';' (Stop SCM+FSA ) = J ';' (Stop SCM+FSA ) & Directed (Directed J) is_pseudo-closed_on Initialize ss )
by A4, SCMFSA6A:63, SCMFSA8A:41;
then A54:
DataPart (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(pseudo-LifeSpan (Initialize ss),(Directed J))) = DataPart (Computation ((Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 )))),(LifeSpan ((Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 ))))))
by A51, A53, Th58;
A55:
LifeSpan ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) = ((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2) + 1
by A34, A35, A36, AMI_1:def 46;
A56: DataPart (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)) =
DataPart (Computation (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),2),(pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)))
by AMI_1:51
.=
DataPart (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)))
by A6, A7, A23, A24, A27, Th51
;
CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)) =
((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))) . (insloc ((card J) + 2))
by A30, AMI_1:54
.=
(if>0 a,I,J) . (insloc ((card J) + 2))
by A29, Th26
.=
goto (insloc (((card I) + (card J)) + 3))
by Th64
;
then
InsCode (CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2))) = 6
by SCMFSA_2:47;
then
InsCode (CurInstr (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2))) in {0 ,6,7,8}
by ENUMSET1:def 2;
then A57:
DataPart (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)) = DataPart (Following (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)))
by Th32;
thus DataPart (IExec (if>0 a,I,J),ss) =
DataPart (IExec (if>0 a,I,J),(Initialize ss))
by Th17
.=
DataPart ((Result ((Initialize ss) +* (Initialized (if>0 a,I,J)))) +* ((Initialize ss) | NAT ))
by SCMFSA6B:def 1
.=
DataPart (Result ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))))
by A50, Th35
.=
DataPart (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),(LifeSpan ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))))))
by A35, AMI_1:122
.=
DataPart (Following (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),((pseudo-LifeSpan ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(Directed J)) + 2)))
by A55, AMI_1:14
.=
DataPart (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),(pseudo-LifeSpan (Initialize ss),(Directed J)))
by A4, A56, A57, Th50
.=
DataPart (Result ((Initialize ss) +* ((J ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 )))))
by A52, A54, AMI_1:122
.=
DataPart ((Result ((Initialize ss) +* (Initialized (J ';' (Stop SCM+FSA ))))) +* ((Initialize ss) | NAT ))
by A50, Th35
.=
DataPart (IExec (J ';' (Stop SCM+FSA )),(Initialize ss))
by SCMFSA6B:def 1
.=
DataPart (IExec (J ';' (Stop SCM+FSA )),ss)
by Th17
; :: thesis: verum