reserve x, y for object, X, X1, X2 for set;
reserve Y, Y1, Y2 for complex-functions-membered set,
  c, c1, c2 for Complex,
  f for PartFunc of X,Y,
  f1 for PartFunc of X1,Y1,
  f2 for PartFunc of X2, Y2,
  g, h, k for complex-valued Function;

theorem
  f <##> f1 <//> f2 = f <##> (f1<//>f2)
proof
  set f3 = f<##>f1, f4 = f1<//>f2;
A1: dom(f3<//>f2) = dom f3 /\ dom f2 by Def48;
A2: dom(f<##>f4) = dom f /\ dom f4 by Def47;
  dom f3 = dom f /\ dom f1 & dom f4 = dom f1 /\ dom f2 by Def47,Def48;
  hence
A3: dom(f3<//>f2) = dom(f<##>f4) by A1,A2,XBOOLE_1:16;
  let x be object;
  assume
A4: x in dom(f3<//>f2);
  then
A5: x in dom f4 by A2,A3,XBOOLE_0:def 4;
A6: x in dom f3 by A1,A4,XBOOLE_0:def 4;
  thus (f3<//>f2).x = f3.x /" f2.x by A4,Def48
    .= f.x (#) f1.x /" f2.x by A6,Def47
    .= f.x (#) (f1.x /" f2.x) by Th19
    .= f.x (#) f4.x by A5,Def48
    .= (f<##>f4).x by A3,A4,Def47;
end;
