reserve x for set;
reserve i,j for Integer;
reserve n,n1,n2,n3 for Nat;
reserve K,K1,K2,K3 for Field;

theorem Th2:
  for ST be non empty doubleLoopStr
  st the carrier of ST is Subset of the carrier of K
  & the addF of ST = (the addF of K) || (the carrier of ST)
  & the multF of ST = (the multF of K) || (the carrier of ST)
  & 1.ST = 1.K & 0.ST = 0.K
  & ST is right_complementable commutative almost_left_invertible
  non degenerated holds ST is Subfield of K
  proof
    let ST be non empty doubleLoopStr such that
    A1: the carrier of ST is Subset of the carrier of K and
    A2: the addF of ST = (the addF of K) || the carrier of ST and
    A3: the multF of ST = (the multF of K) || the carrier of ST and
    A4: 1.ST = 1.K and
    A5: 0.ST = 0.K and
    A6: ST is right_complementable commutative
    almost_left_invertible non degenerated;
    set C1 = the carrier of ST;
    set AC = the addF of ST;
    set MC = the multF of ST;
    set d0 = 0.ST;
    set d1 = 1.ST;
A7: now
      let a,x be Element of ST;
      a*x = (the multF of K).([a,x]) by A3,FUNCT_1:49;
      hence a*x = (the multF of K).(a,x);
    end;
A8: now
      let x,y be Element of ST;
      x + y = (the addF of K).([x,y]) by A2,FUNCT_1:49;
      hence x + y = (the addF of K).(x,y);
    end;
    ST is Abelian add-associative right_zeroed associative well-unital
      distributive
    proof
      set MK = the multF of K;
      set AK = the addF of K;
      hereby
        let x,y be Element of ST;
        reconsider x1 = x, y1 = y as Element of K by A1,TARSKI:def 3;
        x + y = x1 + y1 & y + x = y1 + x1 by A8;
        hence x + y = y + x;
      end;
      hereby
        let x,y,z be Element of ST;
        reconsider x1 = x, y1 = y, z1 = z as Element of K by A1,TARSKI:def 3;
        x + (y + z) = AK.(x1,y + z) by A8; then
        A9: x + (y + z) = x1 + (y1 + z1) by A8;
        (x + y) + z = AK.(x +y,z1) by A8;
        then (x + y) + z = (x1 + y1) + z1 by A8;
        hence (x + y) + z = x + (y + z) by A9,RLVECT_1:def 3;
      end;
      hereby
        let x be Element of ST;
        reconsider y = x, z = 0.ST as Element of K by A1,TARSKI:def 3;
        x + 0.ST = y + 0.K by A5,A8;
        hence x + 0.ST = x by RLVECT_1:4;
      end;
      hereby
        let a,b,x be Element of ST;
        reconsider y=x, a1=a, b1=b as Element of K by A1,TARSKI:def 3;
        a * (b * x) = MK.(a,b * x) by A7; then
   A10: a * (b * x) = a1 * (b1 * y) by A7;
        a * b = a1 * b1 by A7;
        then (a * b) * x = (a1 * b1) * y by A7;
        hence (a * b) * x = a * (b * x) by A10,GROUP_1:def 3;
      end;
      hereby
        let x be Element of ST;
        reconsider y = x as Element of K by A1,TARSKI:def 3;
        x*1.ST = y * 1.K & 1.ST * x = 1.K * y by A4,A7;
        hence x*1.ST = x & 1.ST * x =x;
      end;
      hereby
        let a,x,y be Element of ST;
        reconsider x1=x, y1=y, a1=a as Element of K by A1,TARSKI:def 3;
        (x+y)*a = MK.(x+y,a) by A7;
        then (x+y)*a = (x1+y1)*a1 by A8;
        then (x+y)*a = x1*a1 + y1*a1 by VECTSP_1:def 7;
        then (x+y)*a = AK.(MK.(x1,a1),y*a) by A7; then
   A11: (x+y)*a = AK.(x*a,y*a) by A7;
        a*(x+y) = MK.(a,x+y) by A7;
        then a*(x+y) = a1*(x1+y1) by A8;
        then a*(x+y) = a1*x1 + a1*y1 by VECTSP_1:def 7;
        then a*(x+y) = AK.(MK.(a,x1),a*y) by A7;
        then a*(x+y) = AK.(a*x,a*y) by A7;
        hence a*(x+y) = a*x + a*y & (x+y)*a = x*a + y*a by A8,A11;
      end;
    end;
    hence thesis by A1,A2,A3,A4,A5,A6,Def1;
  end;
