reserve N for with_zero set;
reserve N for with_zero set;
reserve x,y,z,A,B for set,
  f,g,h for Function,
  i,j,k for Nat;
reserve S for IC-Ins-separated non empty
     with_non-empty_values AMI-Struct over N,
  s for State of S;
reserve N for non empty with_zero set,
 S for IC-Ins-separated non empty with_non-empty_values AMI-Struct over N,
  s for State of S;
reserve n for Nat;
reserve N for with_zero non empty set;
reserve N for with_zero non empty set,
  S for IC-Ins-separated non empty AMI-Struct over N;
reserve m,n for Nat;
reserve S for IC-Ins-separated halting
  non empty with_non-empty_values AMI-Struct over N;

theorem Th30:
  for F being Instruction-Sequence of S
  for s being State of S st ex k being Nat st F.(IC
  Comput(F,s,k)) = halt S holds F halts_on s
proof
  let F be Instruction-Sequence of S;
  let s be State of S;
  given k being Nat such that
A1: F.(IC Comput(F,s,k)) = halt S;
  take k;
A2: dom F = NAT by PARTFUN1:def 2;
  hence IC Comput(F,s,k) in dom F;
  thus CurInstr(F, Comput(F,s,k)) = halt S by A1,A2,PARTFUN1:def 6;
