reserve i, j, k for Nat,
  I for Element of Segm 8,
  i1, i2 for Nat,
  d1, d2, d3, d4 for Element of SCM-Data-Loc,
  S for non empty 1-sorted;
reserve G for non empty 1-sorted;

theorem Th7:
  for S being non empty 1-sorted
  for x being Element of SCM-Instr S holds
  x in { [0,{},{}] } & InsCode x = 0 or
  x in { [I,{},<*a,b*>] where I is Element of Segm 8,
    a, b is Element of SCM-Data-Loc: I in { 1,2,3,4 } }
     & (InsCode x = 1 or InsCode x = 2 or InsCode x = 3
         or InsCode x = 4) or
  x in the set of all  [6,<*i*>,{}] where i is Nat
        & InsCode x = 6 or
  x in the set of all  [7,<*i*>,<*a*>]
       where i is Nat,a is Element of SCM-Data-Loc
    & InsCode x = 7 or
  x in the set of all  [5,{},<*a,r*>] where a is
  Element of SCM-Data-Loc, r is Element of S
    & InsCode x = 5
proof let S be non empty 1-sorted;
 let x be Element of SCM-Instr S;
 x in { [0,{},{}] }
   \/ { [I,{},<*a,b*>] where I is Element of Segm 8,
    a, b is Element of SCM-Data-Loc: I in { 1,2,3,4 } }
   \/ the set of all  [6,<*i*>,{}] where i is Nat
   \/ the set of all
 [7,<*i*>,<*a*>] where i is Nat,a is Element of SCM-Data-Loc
   or x in the set of all  [5,{},<*a,r*>] where a is
  Element of SCM-Data-Loc, r is Element of S
     by XBOOLE_0:def 3;
 then x in { [0,{},{}] }
   \/ { [I,{},<*a,b*>] where I is Element of Segm 8,
    a, b is Element of SCM-Data-Loc: I in { 1,2,3,4 } }
   \/ the set of all  [6,<*i*>,{}] where i is Nat or
   x in the set of all  [7,<*i*>,<*a*>]
    where i is Nat,a is Element of SCM-Data-Loc
   or x in the set of all  [5,{},<*a,r*>] where a is
  Element of SCM-Data-Loc, r is Element of S
     by XBOOLE_0:def 3;
 then x in { [0,{},{}] }
   \/ { [I,{},<*a,b*>] where I is Element of Segm 8,
    a, b is Element of SCM-Data-Loc: I in { 1,2,3,4 } } or
   x in the set of all  [6,<*i*>,{}] where i is Nat or
   x in the set of all  [7,<*i*>,<*a*>]
    where i is Nat,a is Element of SCM-Data-Loc
   or x in the set of all  [5,{},<*a,r*>] where a is
  Element of SCM-Data-Loc, r is Element of S
     by XBOOLE_0:def 3;
 then per cases by XBOOLE_0:def 3;
 case x in { [0,{},{}] };
   then x = [0,{},{}] by TARSKI:def 1;
  hence thesis;
 end;
 case x in { [I,{},<*a,b*>] where I is Element of Segm 8,
    a, b is Element of SCM-Data-Loc: I in { 1,2,3,4 } };
   then consider I being Element of Segm 8,
     a,b being Element of SCM-Data-Loc such that
A1: x = [I,{},<*a,b*>] and
A2: I in { 1,2,3,4};
   InsCode x = I by A1;
  hence thesis by A2,ENUMSET1:def 2;
 end;
 case x in the set of all  [6,<*i*>,{}] where i is Nat;
   then ex i st x = [6,<*i*>,{}];
  hence thesis;
 end;
 case x in the set of all  [7,<*i*>,<*a*>]
    where i is Nat,a is Element of SCM-Data-Loc;
   then ex i being Nat, a being Element of SCM-Data-Loc
    st x = [7,<*i*>,<*a*>];
  hence thesis;
 end;
 case x in the set of all  [5,{},<*a,r*>] where a is
  Element of SCM-Data-Loc, r is Element of S;
   then ex a being Element of SCM-Data-Loc,
    r being Element of S st x = [5,{},<*a,r*>];
  hence thesis;
 end;
end;
