reserve x for set,
  D for non empty set,
  k, n for Nat,
  z for Nat;
reserve
  N for with_zero set,
  S for IC-Ins-separated non empty
          with_non-empty_values AMI-Struct over N,
  i for Element of the InstructionsF of S,
  l, l1, l2, l3 for Nat,
  s for State of S;
reserve ss for Element of product the_Values_of S;

theorem Th4:
  for i being Instruction of STC N st InsCode i = 0 holds i is halting
proof
  let i be Instruction of STC N;
  set M = STC N;
  the InstructionsF of M = III by Def7;
  then
A1: i = [1,0,0] or i = [0,0,0] by TARSKI:def 2;
  assume InsCode i = 0;
  then
A2: i in {[0,0,0]} by A1,TARSKI:def 1;
  let s be State of M;
  reconsider s as Element of product the_Values_of M by CARD_3:107;
  (ex f be Function of product the_Values_of M, product
         the_Values_of M
 st ( for s being Element of product the_Values_of M holds
f.s = s+*(0 .-->(In(s.0,NAT)+1)))&
   the Execution of M = ([1,0,0] .--> f) +* ([0,0,0]
  .--> id product the_Values_of M) )& dom ([0,0,0] .--> id product
  the_Values_of M) = {[0,0,0]} by Def7;
  then
  (the Execution of M).i = ([0,0,0] .--> id product the_Values_of M).i
  by A2,FUNCT_4:13
    .= id product the_Values_of M by A2,FUNCOP_1:7;
   then (the Execution of M).i.s = s;
  hence thesis;
end;
