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;

theorem Th16:
  for k being Nat
  for S being COM-Struct
  holds Shift(Stop S, k) = k .--> halt S
proof
  let k be Nat;
  let S be COM-Struct;
A1: dom Shift(Stop S,k) =
  {(m+k) where m is Nat: m in dom Stop S} by VALUED_1:def 12;
A2: 0 in dom Stop S by TARSKI:def 1;
A3: dom Shift(Stop S,k) = {k}
  proof
    hereby
      let x be object;
      assume x in dom Shift(Stop S,k);
      then consider m being Nat such that
A4:   x = (m+k) and
A5:   m in dom Stop S by A1;
      m in {0} by A5;
      then m = 0 by TARSKI:def 1;
      hence x in {k} by A4,TARSKI:def 1;
    end;
    let x be object;
    assume x in {k};
    then x = (0 qua Nat)+k by TARSKI:def 1;
    hence thesis by A1,A2;
  end;
A6: dom (k .--> halt S) = {k};
  for x being object st x in {k} holds
  (Shift(Stop S, k)).x = (k .--> halt S).x
  proof
    let x be object;
    assume x in {k};
    then
A7: x = (0 qua Nat)+k by TARSKI:def 1;
    0 in dom Stop S by TARSKI:def 1;
    hence (Shift(Stop S, k)).x = (Stop S).0 by A7,VALUED_1:def 12
      .= halt S
      .= (k .--> halt S).x by A7,FUNCOP_1:72;
  end;
  hence thesis by A3,A6,FUNCT_1:2;
end;
