reserve X for set,
  x,y,z for Element of BooleLatt X,
  s for set;
reserve y for Element of BooleLatt X;
reserve L for Lattice,
  p,q for Element of L;
reserve A for RelStr,
  a,b,c for Element of A;
reserve A for non empty RelStr,
  a,b,c,c9 for Element of A;
reserve V for with_suprema antisymmetric RelStr,
  u1,u2,u3,u4 for Element of V;
reserve N for with_infima antisymmetric RelStr,
  n1,n2,n3,n4 for Element of N;
reserve K for with_suprema with_infima reflexive antisymmetric RelStr,
  k1,k2,k3 for Element of K;
reserve p9,q9 for Element of LattPOSet L;
reserve C for complete Lattice,
  a,a9,b,b9,c,d for Element of C,
  X,Y for set;

theorem
  X c= bool the carrier of C implies "\/"(union X, C) = "\/"({"\/"
  Y where Y is Subset of C: Y in X}, C)
proof
  set Z = {"\/"Y where Y is Subset of C: Y in X};
  Z is_less_than "\/"(union X, C)
  proof
    let a;
    assume a in Z;
    then consider Y being Subset of C such that
A1: a = "\/"Y and
A2: Y in X;
    Y c= union X by A2,ZFMISC_1:74;
    hence thesis by A1,Th45;
  end;
  then
A3: "\/"(Z,C) [= "\/"(union X, C) by Def21;
  set V = {a: ex b st a [= b & b in Z};
  assume
A4: X c= bool the carrier of C;
  union X c= V
  proof
    let x be object;
    assume x in union X;
    then consider Y such that
A5: x in Y and
A6: Y in X by TARSKI:def 4;
    reconsider Y as Subset of C by A4,A6;
    reconsider a = x as Element of C by A4,A5,A6;
A7: a [= "\/"Y by A5,Th38;
    "\/"Y in Z by A6;
    hence thesis by A7;
  end;
  then "\/"(union X, C) [= "\/"(V,C) by Th45;
  then "\/"(union X, C) [= "\/"(Z,C) by Th46;
  hence thesis by A3,LATTICES:8;
end;
