reserve m for Nat;
reserve P,PP,P1,P2 for Instruction-Sequence of SCM+FSA;

theorem Th28:
  for s being State of SCM+FSA, I,J being MacroInstruction of SCM+FSA,
      a being read-write Int-Location st
  s.a = 0 & Directed I is_pseudo-closed_on s,P
    holds if=0(a,I,J) is_halting_on s,P &
    LifeSpan(P +* if=0(a,I,J),Initialize s)
   = LifeSpan(P +* (I ";" Stop SCM+FSA),
       Initialize s) + 1
proof
  let s be State of SCM+FSA;
  set D = Data-Locations SCM+FSA;
  let I,J be MacroInstruction of SCM+FSA;
  let a be read-write Int-Location;
  set I0 = Directed I;
  set I1 = I ";" Stop SCM+FSA;
  set s00 = Initialize s,
      P00 = P+*I0;
  set s3 = Initialize s,
      P3 = P +* if=0(a,I,J);
A1: if=0(a,I,J) c= P3 by FUNCT_4:25;
  set s4 = Comput(P3, s3,1);
  set i = a =0_goto  (card J + 3);
  card if=0(a,I,J) = card I + card J + (3 + 1) by SCMFSA8B:11
    .= card I + card J + 3 + 1;
  then card I + card J + 3 < card if=0(a,I,J) by NAT_1:13;
  then
A2:  (card I + card J + 3) in dom if=0(a,I,J) by AFINSQ_1:66;
A3: if=0(a,I,J) c= P3 by FUNCT_4:25;
A4:  0 in dom if=0(a,I,J) by AFINSQ_1:65;
A5: P3. 0 = (if=0(a,I,J)). 0 by A4,A1,GRFUNC_1:2
    .= i by Th18;
A6: card (i ";" J ";" Goto  (card I + 1)) = card (Macro i ";" J) +
  card Goto  (card I + 1) by SCMFSA6A:21
    .= card (Macro i ";" J) + 1 by SCMFSA8A:15
    .= card Macro i + card J + 1 by SCMFSA6A:21
    .= card J + 2 + 1 by COMPOS_1:56
    .= card J + (2 + 1);
A7: IC SCM+FSA in dom Start-At(0,SCM+FSA) by MEMSTR_0:15;
A8: IC s3 = IC(Initialize s)
      .= IC Start-At(0,SCM+FSA) by A7,FUNCT_4:13
      .=  0 by FUNCOP_1:72;
A9: Comput(P3, s3,0+1) = Following(P3,Comput(P3,s3,0)) by EXTPRO_1:3
    .= Following(P3,s3)
    .= Exec(i,s3) by A8,A5,PBOOLE:143;
  if=0(a,I,J) = i ";" J ";" Goto  (card I + 1) ";" I1 by SCMFSA6A:25;
  then
 Reloc(I1,card J + 3) c= if=0(a,I,J) by A6,SCMFSA6A:38;
  then
A10: Reloc(I1,card J + 3) c= P3 by A3,XBOOLE_1:1;
 Reloc(I0,card J + 3) c= Reloc(I1,card J + 3)
 by COMPOS_1:44,SCMFSA6A:16;
  then
A11: Reloc(I0,card J + 3) c= P3 by A10,XBOOLE_1:1;
A12: for f being FinSeq-Location holds s00.f = s4.f by A9,SCMFSA_2:70;
  for a being Int-Location holds s00.a = s4.a by A9,SCMFSA_2:70;
  then
A13: DataPart s00 = DataPart s4 by A12,SCMFSA_M:2;
A14:  a <> IC SCM+FSA by SCMFSA_2:56;
    not a in dom Start-At(0,SCM+FSA) by A14,TARSKI:def 1;
   then
A15: not a in dom Start-At(0,SCM+FSA);
  assume s.a = 0;
  then s3.a = 0 by A15,FUNCT_4:11;
  then
A16: IC Comput(P3,s3,1) =  (card J + 3) by A9,SCMFSA_2:70;
  assume
A17: I0 is_pseudo-closed_on s,P;
  then
A18: pseudo-LifeSpan(s,P,I0)
 = LifeSpan(P +* I1,Initialize s) by Th21;
A19: I0 is_pseudo-closed_on s00,P00 by A17;
A20: I0 c= P00 by FUNCT_4:25;
 IC Comput(P3,s3,pseudo-LifeSpan(s00,P00,I0) +
1) = IC Comput(
P3, s4,
  pseudo-LifeSpan(s00,P00,I0)) by EXTPRO_1:4
    .= IC Comput(P00, s00,pseudo-LifeSpan(s00,P00,I0)) + (card J + 3)
by A19,A11,A16,A13,Th14,A20
    .= IC Comput(P00, s00,pseudo-LifeSpan(s,P,I0)
) + (card J + 3)
by A17,Th13
    .=  card I0 + (card J + 3) by A17,SCMFSA8A:def 4
    .=  (card I + (card J + 3)) by SCMFSA6A:36
    .=  (card I + card J + 3);
  then
A21: CurInstr(P3,
     Comput(P3, s3,pseudo-LifeSpan(s00,P00,I0) +
1)) = P3. (card I + card J + 3) by PBOOLE:143
    .= if=0(a,I,J). (card I + card J + 3) by A2,A1,GRFUNC_1:2
    .= halt SCM+FSA by Th24;
  then
A22: P3 halts_on s3 by EXTPRO_1:29;
  hence if=0(a,I,J) is_halting_on s,P;
  now
    set J1 = a =0_goto  (card J + 3) ";" J ";" Goto  (card I + 1)
    ";" I;
    let k be Nat;
    assume
A23: CurInstr(P3,Comput(P3,s3,k)) = halt SCM+FSA;
    assume not pseudo-LifeSpan(s00,P00,I0) + 1 <= k;
    then
A24: k <= pseudo-LifeSpan(s00,P00,I0) by NAT_1:13;
A25:  0 in dom if=0(a,I,J) by AFINSQ_1:65;
A26:  P3/.IC s3 = P3.IC s3 by PBOOLE:143;
    CurInstr(P3,Comput(P3,s3,0))
      = P3. 0 by A26,MEMSTR_0:16
      .= if=0(a,I,J). 0 by A25,A1,GRFUNC_1:2
      .= a =0_goto  (card J + 3) by Th18;
    then consider k1 being Nat such that
A27: k1 + 1 = k by A23,NAT_1:6;
    reconsider k1 as Element of NAT by ORDINAL1:def 12;
    reconsider n = IC Comput(P00, s00,k1) as Element of NAT;
    k1 < k by A27,XREAL_1:29;
    then
A28: k1 < pseudo-LifeSpan(s00,P00,I0) by A24,XXREAL_0:2;
    then k1 < pseudo-LifeSpan(s,P,I0) by A17,Th13;
    then  n in dom I0 by A17,SCMFSA8A:17;
    then n < card I0 by AFINSQ_1:66;
    then n + (card J + 3) < card I0 + (card J + 3) by XREAL_1:6;
    then
A29: n + (card J + 3) < card I + (card J + 3) by SCMFSA6A:36;
A30: IC Comput(P3, s3,k) = IC Comput(P3, s4,k1) by A27,EXTPRO_1:4
      .= IC Comput(P00, s00,k1) + (card J + 3) by A19,A11,A16,A13,A28,Th14,A20;
    card J1 = card (Macro (a =0_goto  (card J + 3)) ";" J ";" Goto
     (card I + 1)) + card I by SCMFSA6A:21
      .= card (Macro (a =0_goto  (card J + 3)) ";" J) + card Goto
     (card I + 1) + card I by SCMFSA6A:21
      .= card (Macro (a =0_goto  (card J + 3)) ";" J) + 1 + card I by
SCMFSA8A:15
      .= card Macro (a =0_goto  (card J + 3)) + card J + 1 + card I by
SCMFSA6A:21
      .= 2 + card J + 1 + card I by COMPOS_1:56
      .= card I + card J + 3;
    then IC Comput(P3, s3,k) in dom J1 by A30,A29,AFINSQ_1:66;
    then
A31: IC Comput(P3, s3,k) in dom Directed J1 by FUNCT_4:99;
    then
A32: (Directed J1).IC Comput(P3, s3,k) in rng Directed J1 by FUNCT_1:def 3;
    card if=0(a,I,J) = card I + card J + (3 + 1) by SCMFSA8B:11
      .= card I + card J + 3 + 1;
    then card I + card J + 3 < card if=0(a,I,J) by XREAL_1:29;
    then n + (card J + 3) < card if=0(a,I,J) by A29,XXREAL_0:2;
    then
A33: IC Comput(P3, s3,k) in dom if=0(a,I,J) by A30,AFINSQ_1:66;
A34: CurInstr(P3,Comput(P3,s3,k))
       = P3.IC Comput(P3, s3,k) by PBOOLE:143
      .= if=0(a,I,J).IC Comput(P3, s3,k) by A33,A1,GRFUNC_1:2;
    Directed J1 c= if=0(a,I,J) by SCMFSA6A:16;
    then
    if=0(a,I,J).IC Comput(P3, s3,k) = (Directed J1).IC Comput(P3, s3,
    k) by A31,GRFUNC_1:2;
    hence contradiction by A23,A32,A34,COMPOS_1:def 11;
  end;
  then LifeSpan(P3,s3) = pseudo-LifeSpan(s00,P00,I0) + 1
   by A21,A22,EXTPRO_1:def 15;
  hence thesis
  by A17,A18,Th13;
end;
