
theorem
  for a being Int-Location, I being MacroInstruction of SCM+FSA holds
  while>0(a,I).2 = goto  (card I +4)
proof
  set J = Stop SCM+FSA;
  let a be Int-Location;
  let I be MacroInstruction of SCM+FSA;
  set I1= I ';' goto  0;
  set i = a >0_goto 3;
  set Mi=Macro i;
  set G=Goto(card I1+1);
  set J2= I1 ";" Stop SCM+FSA;
  set J1=G ";" J2;
A1:  0 in dom G by SCMFSA8A:31;
A2: G. 0 = goto  (card I1+1);
  dom J1 = dom G \/ dom Reloc(J2, card G) by SCMFSA6A:39;
  then
A3:  0 in dom J1 by A1,XBOOLE_0:def 3;
  then  0 + 2 in { il+2 where il is Nat: il in dom J1};
  then
A4:  2 in dom Shift(J1,2) by VALUED_1:def 12;
  then
A5: Shift(J1,2)/.2 =Shift(J1,2).( 0 +2) by PARTFUN1:def 6
    .=J1. 0 by A3,VALUED_1:def 12
    .=(Directed G). 0 by A1,SCMFSA8A:14
    .=goto  (card I1 + 1) by A1,A2,SCMFSA8A:16;
A6: card Mi = 2 by COMPOS_1:56;
  then
A7: not 2 in dom Mi;
A8: 2 in dom while>0(a,I) & dom while>0(a,I) = dom if>0(a,I1)
   by Th7,FUNCT_7:30;
A9: if>0(a, I1)
     = i ";" Goto  (card I1 + 1) ";" (I1 ";" Stop SCM+FSA) by SCMFSA6A:25
    .= Mi ";" J1 by SCMFSA6A:25;
  then
 dom if>0(a,I1) = dom Mi \/ dom Reloc(J1, 2) by SCMFSA6A:39,A6;
  then
A10:  2 in dom Reloc(J1, 2) by A8,A7,XBOOLE_0:def 3;
A11: Reloc(J1,2) = IncAddr(Shift(J1,2),2) by COMPOS_1:34;
   0+2 <> card I + 2;
  hence while>0(a,I).2 = (Mi ";" J1).2 by A9,FUNCT_7:32
    .= (Reloc(J1,2)).2 by A10,SCMFSA6A:40,A6
    .= IncAddr(goto  (card I1 +1),2) by A4,A5,A11,COMPOS_1:def 21
    .= goto  (card I1+ 1 +2) by SCMFSA_4:1
    .= goto  (card I+1+ 1 +2) by COMPOS_2:11
    .= goto  (card I+ 4);
end;
