reserve R for Ring,
  r for Element of R,
  a, b, d1, d2 for Data-Location of R,
  il, i1, i2 for Nat,
  I for Instruction of SCM R,
  s,s1, s2 for State of SCM R,
  T for InsType of the InstructionsF of SCM R,
  k for Nat;

theorem Th31:
  i1 in NIC(a=0_goto i1, il) & NIC(a=0_goto i1, il) c= {i1, il + 1}
proof
  set t = the State of SCM R,
      Q = the Instruction-Sequence of SCM R;
  set I = a=0_goto i1;
  reconsider a9 = a as Element of Data-Locations SCM by SCMRING2:1;
A1: il in NAT by ORDINAL1:def 12;
  reconsider il1 = il as Element of Values IC SCM R by MEMSTR_0:def 6,A1;
  Values a = ((SCM-VAL R)*SCM-OK).a9 by SCMRING2:24
    .= the carrier of R by AMI_3:27,SCMRING1:4;
  then reconsider 0R = 0.R as Element of Values a;
  reconsider u = t+*(IC SCM R,il1)
   as Element of product the_Values_of SCM R by CARD_3:107;
  reconsider P = Q +* (il,I)
   as Instruction-Sequence of SCM R;
  reconsider v = u+*(a .--> 0R)
   as Element of product the_Values_of SCM R by CARD_3:107;
A2: IC SCM R in dom t by MEMSTR_0:2;
   IC SCM R <> a by Th2;
    then not IC SCM R in dom (a .--> 0R) by TARSKI:def 1;
    then
A4: IC v = IC u by FUNCT_4:11
      .= il by A2,FUNCT_7:31;
A5:   P/.il = P.il by PBOOLE:143,A1;
    il in NAT by ORDINAL1:def 12;
    then il in dom Q by PARTFUN1:def 2;
    then
A6: P.il = I by FUNCT_7:31;
  a in dom (a .--> 0R) by TARSKI:def 1;
  then v.a = (a .--> 0R).a by FUNCT_4:13
    .= 0.R by FUNCOP_1:72;
  then IC Following(P,v) = i1 by A4,A6,A5,SCMRING2:16;
  hence i1 in NIC(a=0_goto i1, il) by A4,A6,A5;
  let x be object;
  assume x in NIC(a=0_goto i1, il);
  then consider s being Element of product the_Values_of SCM R
  such that
A7: x = IC Exec(a=0_goto i1,s) & IC s = il;
  per cases;
  suppose
    s.a = 0.R;
    then x = i1 by A7,SCMRING2:16;
    hence thesis by TARSKI:def 2;
  end;
  suppose
    s.a <> 0.R;
    then x = il+1 by A7,SCMRING2:16;
    hence thesis by TARSKI:def 2;
  end;
end;
