reserve X1, X2, Y for non empty RelStr,
  f for Function of [:X1, X2:], Y,
  x for Element of X1,
  y for Element of X2;
reserve S for non empty RelStr,
  T for complete LATTICE;

theorem Th27:
  for F being non empty Subset of (T |^ the carrier of S), D being
non empty Subset of S holds (sup F).:D = { "\/" ({ f.i where f is Element of (T
  |^ the carrier of S) : f in F }, T ) where i is Element of S : i in D }
proof
  let F be non empty Subset of (T |^ the carrier of S), D be non empty Subset
  of S;
  thus (sup F).:D c= { "\/" ({ f.i where f is Element of (T |^ the carrier of
  S) : f in F }, T ) where i is Element of S: i in D }
  proof
    let a be object;
    assume a in (sup F).:D;
    then consider x being object such that
    x in dom (sup F) and
A1: x in D and
A2: a = (sup F).x by FUNCT_1:def 6;
    reconsider x9 = x as Element of S by A1;
    a = "\/" ({ f.x9 where f is Element of (T |^ the carrier of S) : f in
    F }, T ) by A2,Th25;
    hence thesis by A1;
  end;
  thus { "\/" ({ f.i where f is Element of (T |^ the carrier of S) : f in F }
  , T ) where i is Element of S: i in D } c= (sup F).:D
  proof
    sup F is Function of S, T by Th6;
    then
A3: dom (sup F) = the carrier of S by FUNCT_2:def 1;
    let a be object;
    assume a in { "\/" ({ f.i where f is Element of (T |^ the carrier of S) :
    f in F }, T ) where i is Element of S: i in D };
    then consider i1 being Element of S such that
A4: a = "\/" ({ f.i1 where f is Element of (T |^ the carrier of S) : f
    in F }, T ) & i1 in D;
    a = (sup F).i1 by A4,Th25;
    hence thesis by A4,A3,FUNCT_1:def 6;
  end;
end;
