
theorem Th19:
  for L be non empty multMagma for B be non empty AlgebraStr over
  L for A be Subset of B st A is opers_closed ex C being strict Subalgebra of B
  st the carrier of C = A
proof
  let L be non empty multMagma;
  let B be non empty AlgebraStr over L;
  let A be Subset of B such that
A1: A is opers_closed;
  reconsider z = 0.B as Element of A by A1;
  reconsider f4 = (the lmult of B)|[:the carrier of L,A:] as Function;
A2: for x being object st x in [:the carrier of L,A:] holds f4.x in A
  proof
A3: A is linearly-closed by A1;
    let x be object such that
A4: x in [:the carrier of L,A:];
    consider y,z be object such that
A5: y in the carrier of L and
A6: z in A and
A7: x = [y,z] by A4,ZFMISC_1:def 2;
    reconsider z as Element of B by A6;
    reconsider y as Element of L by A5;
    f4.x = y * z by A4,A7,FUNCT_1:49;
    hence thesis by A6,A3,VECTSP_4:def 1;
  end;
  [:the carrier of L,A:] c= [:the carrier of L,the carrier of B:] by
ZFMISC_1:96;
  then [:the carrier of L,A:] c= dom the lmult of B by Th2;
  then dom f4 = [:the carrier of L,A:] by RELAT_1:62;
  then reconsider lm = f4 as Function of [:the carrier of L,A:],A by A2,
FUNCT_2:3;
  reconsider f1 = (the addF of B)||A as Function;
  reconsider f2 = (the multF of B)||A as Function;
A8: for x being object st x in [:A,A:] holds f2.x in A
  proof
    let x be object such that
A9: x in [:A,A:];
    consider y,z be object such that
A10: y in A & z in A and
A11: x = [y,z] by A9,ZFMISC_1:def 2;
    reconsider y,z as Element of B by A10;
    f2.x = y * z by A9,A11,FUNCT_1:49;
    hence thesis by A1,A10;
  end;
A12: [:A,A:] c= [:the carrier of B,the carrier of B:] by ZFMISC_1:96;
  then [:A,A:] c= dom the multF of B by Th1;
  then dom f2 = [:A,A:] by RELAT_1:62;
  then reconsider mu = f2 as BinOp of A by A8,FUNCT_2:3;
  dom f1 = [:A,A:] &
   for x being object st x in [:A,A:] holds f1.x in A
  proof
    [:A,A:] c= dom the addF of B by A12,Th1;
    hence dom f1 = [:A,A:] by RELAT_1:62;
    let x be object such that
A13: x in [:A,A:];
    consider y,z be object such that
A14: y in A & z in A and
A15: x = [y,z] by A13,ZFMISC_1:def 2;
A16: A is linearly-closed by A1;
    reconsider y,z as Element of B by A14;
    f1.x = y + z by A13,A15,FUNCT_1:49;
    hence thesis by A14,A16,VECTSP_4:def 1;
  end;
  then reconsider ad = f1 as BinOp of A by FUNCT_2:3;
  reconsider u = 1.B as Element of A by A1;
  set c = AlgebraStr(# A, ad, mu, z, u, lm #);
  1.c = 1.B & 0.c = 0.B;
  then reconsider C=c as strict Subalgebra of B by Def3;
  take C;
  thus thesis;
end;
