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;
A14: now
thus IC (Computation ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 )))),1) = Next (IC ((Initialize ss) +* ((if>0 a,I,J) +* (Start-At (insloc 0 ))))) by A2, A3, A13, SCMFSA_2:97
.= insloc (0 + 1) by A10 ; :: 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) . a
thus ((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) . f
thus ((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;
now
thus card (if>0 a,I,J) = ((card I) + (card J)) + (2 + 2) by SCMFSA8B:15
.= ((card J) + 2) + ((card I) + 2) ; :: thesis: verum
end;
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 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;
now
thus card (if>0 a,I,J) = ((card I) + (card J)) + (3 + 1) by SCMFSA8B:15
.= (((card I) + (card J)) + 3) + 1 ; :: thesis: verum
end;
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;
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) + 1)) = IC (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 AMI_1:14
.= insloc (((card I) + (card J)) + 3) by A31, SCMFSA_2:95 ; :: thesis: verum
end;
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) <= k
assume 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;
A46: now
per cases ( k2 = pseudo-LifeSpan (Initialize ss),(Directed J) or k2 < pseudo-LifeSpan (Initialize ss),(Directed J) ) by A45, XXREAL_0:1;
suppose k2 = pseudo-LifeSpan (Initialize ss),(Directed J) ; :: thesis: n + 2 < ((card I) + (card J)) + 3
then IC (Computation ((Initialize ss) +* ((Directed J) +* (Start-At (insloc 0 )))),k2) = insloc (card (ProgramPart (Directed J))) by A4, SCMFSA8A:def 5
.= insloc (card (Directed J)) by AMI_1:105 ;
then A47: n = card J by SCMFSA8A:34;
((card I) + (card J)) + (2 + 1) = (((card J) + 2) + 1) + (card I) ;
then ((card J) + 2) + 1 <= ((card I) + (card J)) + 3 by NAT_1:11;
hence n + 2 < ((card I) + (card J)) + 3 by A47, NAT_1:13; :: thesis: verum
end;
suppose k2 < pseudo-LifeSpan (Initialize ss),(Directed J) ; :: thesis: n + 2 < ((card I) + (card J)) + 3
then insloc n in dom (Directed J) by A4, SCMFSA8A:31;
then n < card (Directed J) by SCMFSA6A:15;
then n + 2 < (card (Directed J)) + 2 by XREAL_1:8;
then A48: n + 2 < (card J) + 2 by SCMFSA8A:34;
((card I) + (card J)) + (1 + 2) = ((card J) + 2) + ((card I) + 1) ;
then (card J) + 2 <= ((card I) + (card J)) + 3 by NAT_1:11;
hence n + 2 < ((card I) + (card J)) + 3 by A48, XXREAL_0:2; :: thesis: verum
end;
end;
end;
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