reserve U0 for Universal_Algebra,
  U1 for SubAlgebra of U0,
  o for operation of U0;

theorem Th21:
  for U0 being with_const_op strict Universal_Algebra for H be
  Subset of U0 st H = the carrier of U0 holds Top (UnSubAlLattice(U0)) =
  GenUnivAlg(H)
proof
  let U0 be with_const_op strict Universal_Algebra;
  let H be Subset of U0;
  set L = UnSubAlLattice(U0);
  reconsider u1 = GenUnivAlg(H) as Element of Sub(U0) by UNIALG_2:def 14;
  reconsider l1 = u1 as Element of L;
  assume
A1: H = the carrier of U0;
  now
    let l be Element of L;
    reconsider u2 = l as Element of Sub(U0);
    reconsider U2 = u2 as strict SubAlgebra of U0 by UNIALG_2:def 14;
    thus l1"\/"l = GenUnivAlg(H)"\/"U2 by UNIALG_2:def 15
      .= l1 by A1,Th20;
    hence l"\/"l1 = l1;
  end;
  hence thesis by LATTICES:def 17;
end;
