reserve f, g, h for Function;
reserve x, y, z, u, X for set,
  A for non empty set,
  n for Element of NAT,
  f for Function of X, X;
reserve f for c=-monotone Function of bool X, bool X,
  S for Subset of X;
reserve X, Y for non empty set,
  f for Function of X, Y,
  g for Function of Y, X;
reserve L for Lattice,
  f for Function of the carrier of L, the carrier of L,
  x for Element of L,
  O, O1, O2, O3, O4 for Ordinal,
  T for Sequence;

theorem Th18:
  O <> 0 & O is limit_ordinal & dom T = O & (for A being Ordinal
  st A in O holds T.A = (f, A)-.x) implies (f, O)-.x = "/\"(rng T, L)
proof
  deffunc C(Ordinal,set)=f.$2;
  deffunc D(Ordinal,Sequence)="/\"(rng $2, L);
  deffunc F(Ordinal)=(f, $1)-.x;
  assume that
A1: O <> 0 & O is limit_ordinal and
A2: dom T = O and
A3: for A being Ordinal st A in O holds T.A = F(A);
A4: for O being Ordinal, y being object holds y = F(O) iff ex L0 being
Sequence st y = last L0 & dom L0 = succ O & L0.0 = x & (for C being Ordinal
st succ C in succ O holds L0.succ C = C(C,L0.C)) & for C being Ordinal st C in
  succ O & C <> 0 & C is limit_ordinal holds L0.C = D(C,L0|C) by Def5;
  thus F(O) = D(O,T) from ORDINAL2:sch 10(A4, A1, A2, A3);
end;
