reserve m,n for Element of NAT,
  i,j for Instruction of SCMPDS,
  I for Program
  of SCMPDS,
  a for Int_position;
reserve Q,U,P for Instruction-Sequence of SCMPDS;

theorem :: SCMP_GCD:18
  for s being 0-started State of SCMPDS,x, y being Integer
   st s.intpos 1 = x & s.intpos 2 = y & x > 0 & y > 0
 holds IExec(GCD-Algorithm,P,s).intpos 1 = x gcd y &
  IExec(GCD-Algorithm,P,s).intpos 2 = x gcd y
   & GCD-Algorithm is_closed_on s,P &
  GCD-Algorithm is_halting_on s,P by Lm14;
