reserve V, C, x, a, b for set;
reserve A, B for Element of SubstitutionSet (V, C);
reserve C for finite set;
reserve A, B for Element of SubstitutionSet (V, C);
reserve u, v for Element of SubstLatt (V, C);
reserve s, t, a, b for Element of PFuncs (V,C);
reserve K, L for Element of SubstitutionSet (V, C);

theorem Th24:
  for u, v being Element of SubstitutionSet (V, C) holds ((for c
being set st c in u ex b being set st b in v & b c= c \/ a) implies ex b being
  set st b in u =>> v & b c= a )
proof
  let u, v be Element of SubstitutionSet (V, C);
  reconsider u9 = u as Element of SubstLatt (V, C) by SUBSTLAT:def 4;
  defpred P[set,set] means $2 in v & $2 c= $1 \/ a;
  assume that
A1: for b be set st b in u ex c be set st c in v & c c= b \/ a;
A2: now
    let b be Element of PFuncs (V, C);
    assume b in u;
    then consider c be set such that
A3: c in v and
A4: c c= b \/ a by A1;
    v c= PFuncs (V, C) by FINSUB_1:def 5;
    then reconsider c as Element of PFuncs (V, C) by A3;
    take x = c;
    thus P[b,x] by A3,A4;
  end;
  consider f9 be Element of Funcs(PFuncs (V, C), PFuncs (V, C)) such that
A5: b in u implies P[b,f9.b] from FRAENKEL:sch 27(A2);
  set g = f9|u;
  consider f2 be Function such that
A6: f9 = f2 and
  dom f2 = PFuncs (V, C) and
  rng f2 c= PFuncs (V, C) by FUNCT_2:def 2;
  u c= PFuncs (V, C) by FINSUB_1:def 5;
  then g is Function of u, PFuncs (V, C) by FUNCT_2:32;
  then
A7: dom g = u by FUNCT_2:def 1;
  for b be object st b in u holds g.b in v
  proof
    let b be object;
    assume
A8: b in u;
    u c= PFuncs (V, C) by FINSUB_1:def 5;
    then reconsider b9 = b as Element of PFuncs (V, C) by A8;
    g.b9 = f2.b9 by A6,A8,FUNCT_1:49;
    hence thesis by A5,A6,A8;
  end;
  then g is Function of u, v by A7,FUNCT_2:3;
  then
A9: rng g c= v by RELAT_1:def 19;
A10: for b be set st b in u9 holds g.b c= b \/ a
  proof
    let b be set;
    assume
A11: b in u9;
    u c= PFuncs (V, C) by FINSUB_1:def 5;
    then reconsider b9 = b as Element of PFuncs (V, C) by A11;
    g.b9 = f2.b9 by A6,A11,FUNCT_1:49;
    hence thesis by A5,A6,A11;
  end;
  reconsider g as Element of PFuncs (u, v) by A7,A9,PARTFUN1:def 3;
  set d = union {g.i \ i where i is Element of PFuncs (V, C) : i in u9};
A12: d c= a
  proof
    let x be object;
    assume x in d;
    then consider Y be set such that
A13: x in Y and
A14: Y in {g.i \ i where i is Element of PFuncs (V, C) : i in u9} by
TARSKI:def 4;
    consider j be Element of PFuncs (V, C) such that
A15: Y = g.j \ j and
A16: j in u9 by A14;
    g.j c= j \/ a by A10,A16;
    then g.j \j c= a by XBOOLE_1:43;
    hence thesis by A13,A15;
  end;
  then reconsider d as Element of PFuncs (V, C) by PRE_POLY:15;
  take d;
  d in { union {f.i \ i where i is Element of PFuncs (V, C) : i in u}
  where f is Element of PFuncs (u, v) : dom f = u } by A7;
  hence d in u =>> v by XBOOLE_0:def 4;
  thus thesis by A12;
end;
