reserve x,A for set, i,j,k,m,n, l, l1, l2 for Nat;
reserve D for non empty set, z for Nat;
reserve S for COM-Struct;
reserve ins for Element of the InstructionsF of S;
reserve k, m for Nat,
  x, x1, x2, x3, y, y1, y2, y3, X,Y,Z for set;
reserve i, j, k for Nat,
  n for Nat,
  l,il for Nat;
reserve
  i,j,k for Instruction of S,
  I,J,K for Program of S;
reserve k1,k2 for Integer;
reserve l,l1,loc for Nat;
reserve i1,i2 for Instruction of S;
reserve
  i,j,k for Instruction of S,
  I,J,K for Program of S;
reserve m for Nat;
reserve I,J for Program of S;
reserve i for Instruction of S,
        I for Program of S;
reserve loc for Nat;

theorem
 Macro IncAddr(i,n) = IncAddr(Macro i,n)
 proof
A1: dom Macro IncAddr(i,n) = {0,1} by Th45
          .= dom Macro i by Th45;
  for m being Nat st m in dom Macro i
    holds (Macro IncAddr(i,n)).m = IncAddr((Macro i)/.m,n)
   proof let m be Nat;
    assume m in dom Macro i;
    then per cases by Th44;
    suppose
A2:   m = 0;
     then m in dom Macro i by Th41;
     then
A3:    (Macro i)/.m = (Macro i).m by PARTFUN1: def 6
       .= i by A2,Th42;
    thus (Macro IncAddr(i,n)).m = IncAddr(i,n) by A2,Th42
        .= IncAddr((Macro i)/.m,n) by A3;
    end;
    suppose
A4:   m = 1;
     then m in dom Macro i by Th41;
     then
A5:    (Macro i)/.m = (Macro i).m by PARTFUN1: def 6
       .= halt S by A4,Th43;
    thus (Macro IncAddr(i,n)).m = halt S by Th43,A4
        .= IncAddr(halt S,n) by COMPOS_0:4
        .= IncAddr((Macro i)/.m,n) by A5;
    end;
   end;
  hence thesis by A1,Def9;
 end;
