reserve a, b, c, a1, a2, b1, b2 for Int-Location,
  l, l1, l2 for Nat,
  f, g, f1, f2 for FinSeq-Location,
  i, j for Instruction of SCM+FSA,
  X, Y for set;
reserve p, r for preProgram of SCM+FSA,
  I, J for Program of SCM+FSA,
  k, m, n for Nat;

theorem Th40:
  UsedI*Loc p = UsedI*Loc IncAddr(p, k)
proof
 set A = { UsedInt*Loc i : i in rng p },
     B = { UsedInt*Loc i : i in rng IncAddr(p,k) };
A1: A c= B
   proof let e be object;
    assume e in A;
     then consider i such that
A2:   e = UsedInt*Loc i and
A3:   i in rng p;
     consider x being object such that
A4:   x in dom p and
A5:   p.x = i by A3,FUNCT_1:def 3;
A6:   x in dom IncAddr(p,k) by A4,COMPOS_1:def 21;
     IncAddr(p,k).x = IncAddr(p/.x,k) by A4,COMPOS_1:def 21
         .= IncAddr(i,k) by A4,A5,PARTFUN1:def 6;
     then
A7:   IncAddr(i,k) in rng IncAddr(p,k) by A6,FUNCT_1:3;
     e = UsedInt*Loc IncAddr(i,k) by A2,Th39;
    hence e in B by A7;
   end;
  B c= A
   proof let e be object;
    assume e in B;
     then consider i such that
A8:   e = UsedInt*Loc i and
A9:   i in rng IncAddr(p,k);
     consider x being object such that
A10:   x in dom IncAddr(p,k) and
A11:   IncAddr(p,k).x = i by A9,FUNCT_1:def 3;
A12:   x in dom p by A10,COMPOS_1:def 21;
     p/.x = p.x by A12,PARTFUN1:def 6;
     then
A13:   p/.x in rng p by A12,FUNCT_1:3;
     i = IncAddr(p/.x,k) by A12,COMPOS_1:def 21,A11;
     then e = UsedInt*Loc(p/.x) by A8,Th39;
    hence e in A by A13;
   end;
 hence thesis by A1,XBOOLE_0:def 10;
end;
