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 Th42:
  UsedI*Loc I = UsedI*Loc Directed I
proof
 set A = { UsedInt*Loc i : i in rng I },
     B = { UsedInt*Loc i : i in rng Directed I };
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 I;
     consider x being object such that
A4:   x in dom I and
A5:   I.x = i by A3,FUNCT_1:def 3;
     set j = (Directed I).x;
   x in dom Directed I by A4,FUNCT_4:99;
     then
A6:    j in rng Directed I by FUNCT_1:3;
     reconsider j as Instruction of SCM+FSA by A6;
     now per cases;
      suppose
A7:      i = halt SCM+FSA;
       then
A8:      j = goto card I by A4,A5,FUNCT_4:106;
      thus UsedInt*Loc i = {} by A7,Th32
        .= UsedInt*Loc j by A8,Th32;
      end;
      suppose i <> halt SCM+FSA;
      hence UsedInt*Loc i = UsedInt*Loc j by A5,FUNCT_4:105;
      end;
     end;
    hence e in B by A2,A6;
   end;
  B c= A
   proof let e be object;
    assume e in B;
     then consider i such that
A9:   e = UsedInt*Loc i and
A10:   i in rng Directed I;
     consider x being object such that
A11:   x in dom Directed I and
A12:   (Directed I).x = i by A10,FUNCT_1:def 3;
     set j = I.x;
A13:    x in dom I by A11,FUNCT_4:99;
     then
A14:    j in rng I by FUNCT_1:3;
     reconsider j as Instruction of SCM+FSA by A14;
     now per cases;
      suppose
A15:      j = halt SCM+FSA;
       then
      i = goto card I by A12,FUNCT_4:106,A13;
      hence UsedInt*Loc i = {} by Th32
        .= UsedInt*Loc j by A15,Th32;
      end;
      suppose j <> halt SCM+FSA;
      hence UsedInt*Loc i = UsedInt*Loc j by A12,FUNCT_4:105;
      end;
     end;
    hence e in A by A9,A14;
   end;
 hence thesis by A1,XBOOLE_0:def 10;
end;
