reserve x for set,
  m,n for Nat,
  a,b,c for Int_position,
  i for Instruction of SCMPDS,
  s,s1,s2 for State of SCMPDS,
  k1,k2 for Integer,
  loc,l1 for Nat,
  I,J for Program of SCMPDS,
  N for with_non-empty_elements set;
reserve P,P1,P2,Q for Instruction-Sequence of SCMPDS;

theorem Th15:
  for s being 0-started State of SCMPDS
  for I being parahalting Program of SCMPDS st I c= P
  holds CurInstr(P,Comput(P, s,LifeSpan(P +* stop I,s))) = halt SCMPDS
    or IC Comput(P, s,LifeSpan(P +* stop I,s)) = card I
proof
  let s be 0-started State of SCMPDS;
  let I be parahalting Program of SCMPDS;
  set PP = P+* stop I, m=LifeSpan(PP,s);
  set s1=Comput(P,s,m),
      s2= Comput(PP, s,LifeSpan(PP +* stop I,Initialize s)),
      Ik = IC s2;
A1: stop I c= PP by FUNCT_4:25;
   then
A2: PP halts_on s by SCMPDS_4:def 7;
  reconsider n = Ik as Nat;
A3: Ik in dom stop(I) by A1,SCMPDS_4:def 6;
A4: Initialize s = s by MEMSTR_0:44;
  card stop I = card I + 1 by Lm1,AFINSQ_1:17;
  then n < card I + 1 by A3,AFINSQ_1:66;
  then
A5: n <= card I by INT_1:7;
A6: stop I c= PP by FUNCT_4:25;
  assume
A7: I c= P;
  then
A8: IC s1 =Ik by Th13,A4;
  now
    per cases by A5,XXREAL_0:1;
    case
      n < card I;
      then
A9:    n in dom I by AFINSQ_1:66;
      thus halt SCMPDS
        = CurInstr(PP,s2) by A2,A4,EXTPRO_1:def 15
        .=PP.Ik by PBOOLE:143
        .=(stop I).Ik by A3,A6,GRFUNC_1:2
        .=I.Ik by A9,AFINSQ_1:def 3
        .=P.IC s1 by A7,A8,A9,GRFUNC_1:2
        .=CurInstr(P,s1) by PBOOLE:143;
    end;
    case n = card I;
      hence IC s1 =  card I by A7,Th13,A4;
    end;
  end;
  hence thesis;
end;
