reserve U0,U1,U2,U3 for Universal_Algebra,
  n for Nat,
  x,y for set;
reserve A for non empty Subset of U0,
  o for operation of U0,
  x1,y1 for FinSequence of A;

theorem Th15:
  for U0 be Universal_Algebra, U1 be SubAlgebra of U0 holds
  Constants(U0) is Subset of U1
proof
  let U0 be Universal_Algebra, U1 be SubAlgebra of U0;
  set u1 = the carrier of U1;
  Constants(U0) c= u1
  proof
    reconsider B =u1 as non empty Subset of U0 by Def7;
    let x be object;
    assume x in Constants(U0);
    then consider a be Element of U0 such that
A1: a=x and
A2: ex o be operation of U0 st arity o=0 & a in rng o;
    consider o0 be operation of U0 such that
A3: arity o0 = 0 and
A4: a in rng o0 by A2;
    consider y be object such that
A5: y in dom o0 and
A6: a = o0.y by A4,FUNCT_1:def 3;
    dom o0 = 0-tuples_on the carrier of U0 by A3,MARGREL1:22
      .= {<*>the carrier of U0} by FINSEQ_2:94;
    then y in {<*>B} by A5;
    then y in 0-tuples_on B by FINSEQ_2:94;
    then y in dom o0 /\ (arity o0)-tuples_on B by A3,A5,XBOOLE_0:def 4;
    then
A7: y in dom (o0 | (arity o0)-tuples_on B) by RELAT_1:61;
    consider n being Nat such that
A8: n in dom (the charact of U0) and
A9: (the charact of U0).n=o0 by FINSEQ_2:10;
A10: n in dom the charact of(U1) by A8,Th7;
    then reconsider o1= (the charact of U1).n as operation of U1 by
FUNCT_1:def 3;
    the charact of(U1) =Opers(U0,B) by Def7;
    then
A11: o1=o0/.B by A9,A10,Def6;
    B is opers_closed by Def7;
    then
A12: B is_closed_on o0;
    then y in dom (o0/.B) by A7,Def5;
    then
A13: o1.y in rng o1 by A11,FUNCT_1:def 3;
A14: rng o1 c= the carrier of U1 by RELAT_1:def 19;
    o1.y = (o0 | (arity o0)-tuples_on B).y by A11,A12,Def5
      .= a by A6,A7,FUNCT_1:47;
    hence thesis by A1,A13,A14;
  end;
  hence thesis;
end;
