reserve x, X, Y for set;
reserve L for complete LATTICE,
  a for Element of L;

theorem
  for L being non empty RelStr holds (for A being Subset of L holds
ex_sup_of A, L) implies for X holds ex_sup_of X,L & "\/"(X, L) = "\/"(X /\ the
  carrier of L, L)
proof
  let L be non empty RelStr;
  assume
A1: for A being Subset of L holds ex_sup_of A, L;
  let X;
  set Y = X /\ the carrier of L;
  set a = "\/"(Y, L);
  reconsider Y as Subset of L by XBOOLE_1:17;
A2: ex_sup_of Y,L by A1;
A3: X is_<=_than a
  proof
    let x be Element of L;
    assume x in X;
    then
A4: x in Y by XBOOLE_0:def 4;
    Y is_<=_than a by A2,YELLOW_0:def 9;
    hence thesis by A4;
  end;
A5: for b being Element of L st X is_<=_than b holds a <= b
  proof
    let b be Element of L;
A6: Y c= X by XBOOLE_1:17;
    assume X is_<=_than b;
    then Y is_<=_than b by A6;
    hence thesis by A2,YELLOW_0:def 9;
  end;
  ex_sup_of X,L by A2,YELLOW_0:50;
  hence thesis by A3,A5,YELLOW_0:def 9;
end;
