reserve m,n for Nat,
  I for Program of SCM+FSA,
  s,s1,s2 for State of SCM+FSA,
  a for Int-Location,
  f for FinSeq-Location,
  p,p1,p2 for Instruction-Sequence of SCM+FSA;

theorem
  for s being State of SCM+FSA,
      I,J being InitHalting really-closed MacroInstruction of SCM+FSA
, a being read-write Int-Location holds IC IExec(if>0(a,I,J),p,s) =  (card
I + card J + 3) & (s.a > 0 implies ((for d being Int-Location
 holds IExec(if>0(a,I,J),p,s).d = IExec(I,p,s).d) &
  for f being FinSeq-Location
 holds IExec(if>0(a,I,J),p,s).f
  = IExec(I,p,s).f)) & (s.a <= 0 implies ((for d being Int-Location
   holds
  IExec(if>0(a,I,J),p,s).d = IExec(J,p,s).d) & for f being FinSeq-Location
   holds
  IExec(if>0(a,I,J),p,s).f = IExec(J,p,s).f))
proof
  let s be State of SCM+FSA;
  let I,J be InitHalting really-closed MacroInstruction of SCM+FSA;
  let a be read-write Int-Location;
  hereby
    per cases;
    suppose
      s.a > 0;
      then
      IExec(if>0(a,I,J),p,s) = IExec(I,p,s) +* Start-At((card I + card
      J + 3),SCM+FSA) by Th39;
      hence IC IExec(if>0(a,I,J),p,s) =  (card I + card J + 3) by FUNCT_4:113;
    end;
    suppose
      s.a <= 0;
      then
      IExec(if>0(a,I,J),p,s) = IExec(J,p,s) +* Start-At((card I + card
      J + 3),SCM+FSA) by Th39;
      hence IC IExec(if>0(a,I,J),p,s) =  (card I + card J + 3) by FUNCT_4:113;
    end;
  end;
  hereby
    assume s.a > 0;
    then
A1: IExec(if>0(a,I,J),p,s) = IExec(I,p,s) +* Start-At((card I + card J
    + 3),SCM+FSA) by Th39;
    hereby
      let d be Int-Location;
      not d in dom Start-At((card I + card J + 3),SCM+FSA)
      by SCMFSA_2:102;
      hence IExec(if>0(a,I,J),p,s).d = IExec(I,p,s).d by A1,FUNCT_4:11;
    end;
    let f be FinSeq-Location;
    not f in dom Start-At((card I + card J + 3),SCM+FSA) by SCMFSA_2:103;
    hence IExec(if>0(a,I,J),p,s).f = IExec(I,p,s).f by A1,FUNCT_4:11;
  end;
  assume s.a <= 0;
  then
A2: IExec(if>0(a,I,J),p,s) = IExec(J,p,s) +* Start-At((card I + card J +
  3),SCM+FSA) by Th39;
  hereby
    let d be Int-Location;
    not d in dom Start-At((card I + card J + 3),SCM+FSA) by SCMFSA_2:102;
    hence IExec(if>0(a,I,J),p,s).d = IExec(J,p,s).d by A2,FUNCT_4:11;
  end;
  let f be FinSeq-Location;
  not f in dom Start-At((card I + card J + 3),SCM+FSA) by SCMFSA_2:103;
  hence thesis by A2,FUNCT_4:11;
end;
