set i = a,k1 <=0_goto ((card I) + 2);
set G = Goto ((card J) + 1);
set IF = if>0 a,k1,I,J;
set pIF = stop (if>0 a,k1,I,J);
reconsider IJ = (I ';' (Goto ((card J) + 1))) ';' J as shiftable Program of SCMPDS ;
thus if>0 a,k1,I,J is shiftable ; :: thesis: if>0 a,k1,I,J is parahalting
now
let s be State of SCMPDS ; :: thesis: ( Initialize (stop (if>0 a,k1,I,J)) c= s implies ProgramPart b1 halts_on b1 )
I2: s +* (Initialize (stop (if>0 a,k1,I,J))) = (Initialize s) +* (stop (if>0 a,k1,I,J)) by SCMPDS_4:5;
assume Initialize (stop (if>0 a,k1,I,J)) c= s ; :: thesis: ProgramPart b1 halts_on b1
then A1: s = (Initialize s) +* (stop (if>0 a,k1,I,J)) by I2, FUNCT_4:79;
A2: ( J is_closed_on s & J is_halting_on s ) by Th34, Th35;
A3: ( I is_closed_on s & I is_halting_on s ) by Th34, Th35;
per cases ( s . (DataLoc (s . a),k1) > 0 or s . (DataLoc (s . a),k1) <= 0 ) ;
end;
end;
then Initialize (stop (if>0 a,k1,I,J)) is halting by AMI_1:def 26;
hence if>0 a,k1,I,J is parahalting by SCMPDS_4:def 10; :: thesis: verum