set i1 = (F4(),F5()) <=0_goto ((card F3()) + 3);
set J = F3() ';' (AddTo (F4(),F5(),(- F6())));
set i3 = goto (- ((card F3()) + 2));
set b = DataLoc ((F1() . F4()),F5());
set FOR = for-down (F4(),F5(),F6(),F3());
set pFOR = stop (for-down (F4(),F5(),F6(),F3()));
set pJ = stop (F3() ';' (AddTo (F4(),F5(),(- F6()))));
defpred S1[ Nat] means for t being State of SCMPDS
for Q being the Instructions of SCMPDS -valued ManySortedSet of NAT st t . (DataLoc ((F1() . F4()),F5())) <= $1 & P1[ Dstate t] & t . F4() = F1() . F4() holds
( for-down (F4(),F5(),F6(),F3()) is_closed_on t,Q & for-down (F4(),F5(),F6(),F3()) is_halting_on t,Q );
A4: for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
assume A5: S1[k] ; :: thesis: S1[k + 1]
now
let t be State of SCMPDS; :: thesis: for Q being the Instructions of SCMPDS -valued ManySortedSet of NAT st t . (DataLoc ((F1() . F4()),F5())) <= k + 1 & P1[ Dstate t] & t . F4() = F1() . F4() holds
( for-down (F4(),F5(),F6(),F3()) is_closed_on b2,b3 & for-down (F4(),F5(),F6(),F3()) is_halting_on b2,b3 )

let Q be the Instructions of SCMPDS -valued ManySortedSet of NAT ; :: thesis: ( t . (DataLoc ((F1() . F4()),F5())) <= k + 1 & P1[ Dstate t] & t . F4() = F1() . F4() implies ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 ) )
assume A6: t . (DataLoc ((F1() . F4()),F5())) <= k + 1 ; :: thesis: ( P1[ Dstate t] & t . F4() = F1() . F4() implies ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 ) )
assume A7: P1[ Dstate t] ; :: thesis: ( t . F4() = F1() . F4() implies ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 ) )
assume A8: t . F4() = F1() . F4() ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 )
per cases ( t . (DataLoc ((F1() . F4()),F5())) <= 0 or t . (DataLoc ((F1() . F4()),F5())) > 0 ) ;
suppose t . (DataLoc ((F1() . F4()),F5())) <= 0 ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 )
hence ( for-down (F4(),F5(),F6(),F3()) is_closed_on t,Q & for-down (F4(),F5(),F6(),F3()) is_halting_on t,Q ) by A8, SCMPDS_7:63; :: thesis: verum
end;
suppose A9: t . (DataLoc ((F1() . F4()),F5())) > 0 ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on b1,b2 & for-down (F4(),F5(),F6(),F3()) is_halting_on b1,b2 )
A10: dom (ProgramPart t) = NAT by COMPOS_1:34;
A11: not F4() in dom (t | NAT) by A10, SCMPDS_2:53;
A12: not DataLoc ((F1() . F4()),F5()) in dom (t | NAT) by A10, SCMPDS_2:53;
A13: 0 in dom (stop (for-down (F4(),F5(),F6(),F3()))) by COMPOS_1:135;
- (- F6()) > 0 by A1;
then - F6() < 0 ;
then - F6() <= - 1 by INT_1:21;
then A14: (- F6()) + (t . (DataLoc ((F1() . F4()),F5()))) <= (- 1) + (t . (DataLoc ((F1() . F4()),F5()))) by XREAL_1:8;
(t . (DataLoc ((F1() . F4()),F5()))) - 1 <= k by A6, XREAL_1:22;
then A15: (- F6()) + (t . (DataLoc ((F1() . F4()),F5()))) <= k by A14, XXREAL_0:2;
set t2 = Initialize t;
set Q2 = Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))));
set t3 = Initialize t;
set Q3 = Q +* (stop (for-down (F4(),F5(),F6(),F3())));
set t4 = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1);
set Q4 = Q +* (stop (for-down (F4(),F5(),F6(),F3())));
set Jt = IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t);
A18: stop (F3() ';' (AddTo (F4(),F5(),(- F6())))) c= Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by FUNCT_4:26;
B18: Start-At (0,SCMPDS) c= Initialize t by FUNCT_4:26;
A19: for-down (F4(),F5(),F6(),F3()) = ((F4(),F5()) <=0_goto ((card F3()) + 3)) ';' ((F3() ';' (AddTo (F4(),F5(),(- F6())))) ';' (goto (- ((card F3()) + 2)))) by Lm3;
A20: Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(0 + 1)) = Following ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),0))) by EXTPRO_1:4
.= Following ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t)) by EXTPRO_1:3
.= Exec (((F4(),F5()) <=0_goto ((card F3()) + 3)),(Initialize t)) by A19, SCMPDS_6:22 ;
now
let x be Int_position ; :: thesis: (Initialize t) . x = (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)) . x
thus (Initialize t) . x = (Initialize t) . x
.= (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)) . x by A20, SCMPDS_2:68 ; :: thesis: verum
end;
then A22: DataPart (Initialize t) = DataPart (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)) by SCMPDS_4:23;
A23: (IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t)) . (DataLoc ((F1() . F4()),F5())) = (t . (DataLoc ((F1() . F4()),F5()))) - F6() by A3, A7, A8, A9;
A24: (IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t)) . F4() = t . F4() by A3, A7, A8, A9;
set m2 = LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t));
set t5 = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))));
set Q5 = Q +* (stop (for-down (F4(),F5(),F6(),F3())));
set l1 = (card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1;
A25: card (F3() ';' (AddTo (F4(),F5(),(- F6())))) = (card F3()) + 1 by SCMP_GCD:8;
A26: dom (ProgramPart t) = NAT by COMPOS_1:34;
A27: not DataLoc ((F1() . F4()),F5()) in dom (Start-At (0,SCMPDS)) by SCMPDS_4:59;
not F4() in dom (Start-At (0,SCMPDS)) by SCMPDS_4:59;
then A28: (Initialize t) . (DataLoc (((Initialize t) . F4()),F5())) = (Initialize t) . (DataLoc ((F1() . F4()),F5())) by A8, FUNCT_4:12
.= t . (DataLoc ((F1() . F4()),F5())) by A27, FUNCT_4:12 ;
A29: IC (Initialize t) = 0 by COMPOS_1:223;
A30: ( F3() is_closed_on t,Q & F3() is_halting_on t,Q ) by A3, A7, A8, A9;
then A31: F3() ';' (AddTo (F4(),F5(),(- F6()))) is_closed_on t,Q by Th6;
then A32: F3() ';' (AddTo (F4(),F5(),(- F6()))) is_closed_on Initialize t,Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by SCMPDS_6:38;
(card F3()) + 2 < (card F3()) + 3 by XREAL_1:8;
then A33: (card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1 in dom (for-down (F4(),F5(),F6(),F3())) by A25, SCMPDS_7:61;
set m3 = (LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1;
set t6 = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1));
set Q6 = Q +* (stop (for-down (F4(),F5(),F6(),F3())));
A34: Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1)) = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t)))) by EXTPRO_1:5;
A36: F3() ';' (AddTo (F4(),F5(),(- F6()))) is_halting_on t,Q by A30, Th6;
then A37: Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) halts_on Initialize t by SCMPDS_6:def 3;
Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) = (Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))) +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by A18, FUNCT_4:104;
then (Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))) +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) halts_on Initialize (Initialize t) by A36, SCMPDS_6:def 3;
then A38: F3() ';' (AddTo (F4(),F5(),(- F6()))) is_halting_on Initialize t,Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by SCMPDS_6:def 3;
set m4 = ((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1;
set t7 = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1));
set Q7 = Q +* (stop (for-down (F4(),F5(),F6(),F3())));
A39: IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t) = (Result ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) +* (t | NAT) by SCMPDS_4:def 8;
A40: stop (for-down (F4(),F5(),F6(),F3())) c= Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by FUNCT_4:26;
XX: for-down (F4(),F5(),F6(),F3()) c= stop (for-down (F4(),F5(),F6(),F3())) by AFINSQ_1:78;
then YY: for-down (F4(),F5(),F6(),F3()) c= Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by A40, XBOOLE_1:1;
Shift ((F3() ';' (AddTo (F4(),F5(),(- F6())))),1) c= for-down (F4(),F5(),F6(),F3()) by Lm4;
then Shift ((F3() ';' (AddTo (F4(),F5(),(- F6())))),1) c= stop (for-down (F4(),F5(),F6(),F3())) by XX, XBOOLE_1:1;
then Shift ((F3() ';' (AddTo (F4(),F5(),(- F6())))),1) c= Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by A40, XBOOLE_1:1;
then A41: Shift ((F3() ';' (AddTo (F4(),F5(),(- F6())))),1) c= Q +* (stop (for-down (F4(),F5(),F6(),F3()))) ;
A42: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)) = (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)) . (IC )
.= succ (IC (Initialize t)) by A9, A20, A28, SCMPDS_2:68
.= 0 + 1 by A29 ;
then A43: DataPart (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) = DataPart (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) by A25, A18, B18, A38, A32, A22, A41, SCMPDS_7:36;
then A44: DataPart (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) = DataPart (Result ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) by A37, EXTPRO_1:23
.= DataPart ((Result ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) +* (t | NAT)) by A26, AMI_2:29, FUNCT_4:76, SCMPDS_2:100
.= DataPart (IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t)) by SCMPDS_4:def 8 ;
A45: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) = (card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1 by A18, B18, A38, A32, A42, A22, A41, SCMPDS_7:36;
then A46: CurInstr ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1)))) = (Q +* (stop (for-down (F4(),F5(),F6(),F3())))) . ((card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1) by A34, PBOOLE:158
.= (Q +* (stop (for-down (F4(),F5(),F6(),F3())))) . ((card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1)
.= (Q +* (stop (for-down (F4(),F5(),F6(),F3())))) . ((card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1)
.= (for-down (F4(),F5(),F6(),F3())) . ((card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1) by A33, GRFUNC_1:8, YY
.= goto (- ((card F3()) + 2)) by A25, SCMPDS_7:62 ;
A47: Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)) = Following ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1)))) by EXTPRO_1:4
.= Exec ((goto (- ((card F3()) + 2))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1)))) by A46 ;
InsCode (goto (- ((card F3()) + 2))) = 0 by SCMPDS_2:21;
then InsCode (goto (- ((card F3()) + 2))) in {0,4,5,6} by ENUMSET1:def 2;
then Dstate (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) = Dstate (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1))) by A47, SCMPDS_8:3
.= Dstate (IExec ((F3() ';' (AddTo (F4(),F5(),(- F6())))),Q,t)) by A44, A34, SCMPDS_8:2 ;
then A48: P1[ Dstate (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)))] by A3, A7, A8, A9;
IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) = (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) . (IC )
.= ICplusConst ((Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1))),(0 - ((card F3()) + 2))) by A47, SCMPDS_2:66
.= 0 by A25, A45, A34, SCMPDS_7:1 ;
then B49: Initialize (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)) by COMPOS_1:84;
A49: (Q +* (stop (for-down (F4(),F5(),F6(),F3())))) +* (stop (for-down (F4(),F5(),F6(),F3()))) = Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by FUNCT_4:104, A40;
(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) . (DataLoc ((F1() . F4()),F5())) = (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) . (DataLoc ((F1() . F4()),F5())) by A43, SCMPDS_4:23
.= (Result ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) . (DataLoc ((F1() . F4()),F5())) by A37, EXTPRO_1:23
.= (t . (DataLoc ((F1() . F4()),F5()))) - F6() by A23, A39, A12, FUNCT_4:12 ;
then A50: (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) . (DataLoc ((F1() . F4()),F5())) = (- F6()) + (t . (DataLoc ((F1() . F4()),F5()))) by A34, A47, SCMPDS_2:66;
(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) . F4() = (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),(LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))))) . F4() by A43, SCMPDS_4:23
.= (Result ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) . F4() by A37, EXTPRO_1:23
.= F1() . F4() by A8, A24, A39, A11, FUNCT_4:12 ;
then A51: (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))) . F4() = F1() . F4() by A34, A47, SCMPDS_2:66;
then A52: for-down (F4(),F5(),F6(),F3()) is_closed_on Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)),Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by A5, A48, A50, A15;
now
let k be Element of NAT ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),b1)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
per cases ( k < ((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1 or k >= ((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1 ) ;
suppose k < ((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1 ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),b1)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
then A53: k <= (LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1 by INT_1:20;
hereby :: thesis: verum
per cases ( k <= LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t)) or k = (LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1 ) by A53, NAT_1:8;
suppose A54: k <= LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t)) ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
hereby :: thesis: verum
per cases ( k = 0 or k <> 0 ) ;
suppose k = 0 ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
hence IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3()))) by A13, A29, EXTPRO_1:3; :: thesis: verum
end;
suppose k <> 0 ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
then consider kn being Nat such that
A55: k = kn + 1 by NAT_1:6;
reconsider kn = kn as Element of NAT by ORDINAL1:def 13;
reconsider lm = IC (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),kn)) as Element of NAT ;
kn < k by A55, XREAL_1:31;
then kn < LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t)) by A54, XXREAL_0:2;
then (IC (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),kn))) + 1 = IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),1)),kn)) by A25, A18, B18, A38, A32, A42, A22, A41, SCMPDS_7:34;
then A57: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) = lm + 1 by A55, EXTPRO_1:5;
IC (Comput ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t),kn)) in dom (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by A31, SCMPDS_6:def 2;
then lm < card (stop (F3() ';' (AddTo (F4(),F5(),(- F6()))))) by AFINSQ_1:70;
then lm < (card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1 by SCMPDS_5:7;
then A58: lm + 1 <= (card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1 by INT_1:20;
(card F3()) + 2 < (card F3()) + 4 by XREAL_1:8;
then lm + 1 < (card F3()) + 4 by A25, A58, XXREAL_0:2;
then lm + 1 < card (stop (for-down (F4(),F5(),F6(),F3()))) by Lm2;
hence IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3()))) by A57, AFINSQ_1:70; :: thesis: verum
end;
end;
end;
end;
suppose A59: k = (LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1 ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
(card (F3() ';' (AddTo (F4(),F5(),(- F6()))))) + 1 in dom (stop (for-down (F4(),F5(),F6(),F3()))) by A33, SCMPDS_6:18;
hence IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3()))) by A18, B18, A38, A32, A42, A22, A41, A34, A59, SCMPDS_7:36; :: thesis: verum
end;
end;
end;
end;
suppose k >= ((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1 ; :: thesis: IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),b1)) in dom (stop (for-down (F4(),F5(),F6(),F3())))
then consider nn being Nat such that
A60: k = (((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1) + nn by NAT_1:10;
reconsider nn = nn as Element of NAT by ORDINAL1:def 13;
Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k) = Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1))),nn) by A60, EXTPRO_1:5
.= Comput (((Q +* (stop (for-down (F4(),F5(),F6(),F3())))) +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)))),nn) by A49, B49 ;
hence IC (Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),k)) in dom (stop (for-down (F4(),F5(),F6(),F3()))) by A52, SCMPDS_6:def 2; :: thesis: verum
end;
end;
end;
hence for-down (F4(),F5(),F6(),F3()) is_closed_on t,Q by SCMPDS_6:def 2; :: thesis: for-down (F4(),F5(),F6(),F3()) is_halting_on t,Q
for-down (F4(),F5(),F6(),F3()) is_halting_on Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)),Q +* (stop (for-down (F4(),F5(),F6(),F3()))) by A5, A51, A48, A50, A15;
then Q +* (stop (for-down (F4(),F5(),F6(),F3()))) halts_on Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)) by A49, SCMPDS_6:def 3, B49;
then Q +* (stop (for-down (F4(),F5(),F6(),F3()))) halts_on Comput ((Q +* (stop (for-down (F4(),F5(),F6(),F3())))),(Initialize t),(((LifeSpan ((Q +* (stop (F3() ';' (AddTo (F4(),F5(),(- F6())))))),(Initialize t))) + 1) + 1)) ;
then Q +* (stop (for-down (F4(),F5(),F6(),F3()))) halts_on Initialize t by EXTPRO_1:22;
hence for-down (F4(),F5(),F6(),F3()) is_halting_on t,Q by SCMPDS_6:def 3; :: thesis: verum
end;
end;
end;
hence S1[k + 1] ; :: thesis: verum
end;
thus ( P1[F1()] or not P1[F1()] ) ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on F1(),F2() & for-down (F4(),F5(),F6(),F3()) is_halting_on F1(),F2() )
A61: S1[ 0 ] by SCMPDS_7:63;
A62: for k being Element of NAT holds S1[k] from NAT_1:sch 1(A61, A4);
per cases ( F1() . (DataLoc ((F1() . F4()),F5())) <= 0 or F1() . (DataLoc ((F1() . F4()),F5())) > 0 ) ;
suppose F1() . (DataLoc ((F1() . F4()),F5())) <= 0 ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on F1(),F2() & for-down (F4(),F5(),F6(),F3()) is_halting_on F1(),F2() )
hence ( for-down (F4(),F5(),F6(),F3()) is_closed_on F1(),F2() & for-down (F4(),F5(),F6(),F3()) is_halting_on F1(),F2() ) by SCMPDS_7:63; :: thesis: verum
end;
suppose F1() . (DataLoc ((F1() . F4()),F5())) > 0 ; :: thesis: ( for-down (F4(),F5(),F6(),F3()) is_closed_on F1(),F2() & for-down (F4(),F5(),F6(),F3()) is_halting_on F1(),F2() )
then reconsider m = F1() . (DataLoc ((F1() . F4()),F5())) as Element of NAT by INT_1:16;
S1[m] by A62;
hence ( for-down (F4(),F5(),F6(),F3()) is_closed_on F1(),F2() & for-down (F4(),F5(),F6(),F3()) is_halting_on F1(),F2() ) by A2; :: thesis: verum
end;
end;