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

theorem Th21:
  SUCC(il,SCM) = {il, il+1}
proof
  set X = the set of all
 NIC(I, il) \ JUMP I where I is Element of the InstructionsF of SCM;
  set N = {il, il+1};
  now
    let x be object;
    hereby
      assume x in union X;
      then consider Y being set such that
A1:   x in Y and
A2:   Y in X by TARSKI:def 4;
      consider i being Element of the InstructionsF of SCM such that
A3:   Y = NIC(i, il) \ JUMP i by A2;
      per cases by AMI_3:24;
      suppose
        i = [0,{},{}];
        then x in {il} \ JUMP halt SCM by A1,A3,AMISTD_1:2;
        then x = il by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex a,b st i = a:=b;
        then consider a, b such that
A4:     i = a:=b;
        x in {il+1} \ JUMP (a:=b) by A1,A3,A4,AMISTD_1:12;
        then x = il+1 by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex a,b st i = AddTo(a,b);
        then consider a, b such that
A5:     i = AddTo(a,b);
        x in {il+1} \ JUMP AddTo(a,b) by A1,A3,A5,AMISTD_1:12;
        then x = il+1 by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex a,b st i = SubFrom(a,b);
        then consider a, b such that
A6:     i = SubFrom(a,b);
        x in {il+1} \ JUMP SubFrom(a,b) by A1,A3,A6,AMISTD_1:12;
        then x = il+1 by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex a,b st i = MultBy(a,b);
        then consider a, b such that
A7:     i = MultBy(a,b);
        x in {il+1} \ JUMP MultBy(a,b) by A1,A3,A7,AMISTD_1:12;
        then x = il+1 by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex a,b st i = Divide(a,b);
        then consider a, b such that
A8:     i = Divide(a,b);
        x in {il+1} \ JUMP Divide(a,b) by A1,A3,A8,AMISTD_1:12;
        then x = il+1 by TARSKI:def 1;
        hence x in N by TARSKI:def 2;
      end;
      suppose
        ex k st i = SCM-goto k;
        then consider k such that
A9:     i = SCM-goto k;
        x in {k} \ JUMP i by A1,A3,A9,Th15;
        then x in {k} \ {k} by A9,Th16;
        hence x in N by XBOOLE_1:37;
      end;
      suppose
        ex a,k st i = a=0_goto k;
        then consider a, k such that
A10:    i = a=0_goto k;
A11:    NIC(i, il) = {k, il+1} by A10,Th17;
        x in NIC(i, il) by A1,A3,XBOOLE_0:def 5;
        then
A12:    x = k or x = il+1 by A11,TARSKI:def 2;
        x in NIC(i, il) \ {k} by A1,A3,A10,Th18;
        then not x in {k} by XBOOLE_0:def 5;
        hence x in N by A12,TARSKI:def 1,def 2;
      end;
      suppose
        ex a,k st i = a>0_goto k;
        then consider a, k such that
A13:    i = a>0_goto k;
A14:    NIC(i, il) = {k, il+1} by A13,Th19;
        x in NIC(i, il) by A1,A3,XBOOLE_0:def 5;
        then
A15:    x = k or x = il+1 by A14,TARSKI:def 2;
        x in NIC(i, il) \ {k} by A1,A3,A13,Th20;
        then not x in {k} by XBOOLE_0:def 5;
        hence x in N by A15,TARSKI:def 1,def 2;
      end;
    end;
    assume
A16: x in {il, il+1};
    per cases by A16,TARSKI:def 2;
    suppose
A17:  x = il;
      set i = halt SCM;
      NIC(i, il) \ JUMP i = {il} by AMISTD_1:2;
      then
A18:  {il} in X;
      x in {il} by A17,TARSKI:def 1;
      hence x in union X by A18,TARSKI:def 4;
    end;
    suppose
A19:  x = il+1;
      set a = the Data-Location;
      set i = AddTo(a,a);
      NIC(i, il) \ JUMP i = {il+1} by AMISTD_1:12;
      then
A20:  {il+1} in X;
      x in {il+1} by A19,TARSKI:def 1;
      hence x in union X by A20,TARSKI:def 4;
    end;
  end;
  hence thesis by TARSKI:2;
end;
