reserve a,x,y for object, A,B for set,
  l,m,n for Nat;
reserve X,Y for set, x for object,
  p,q for Function-yielding FinSequence,
  f,g,h for Function;

theorem
  dom f c= X or dom(g*f) c= X or dom(h*g*f) c= X implies compose(<*f,g,h
  *>,X) = h*g*f
proof
A1: h*g*(f*id X) = h*(g*(f*id X)) & g*(f*id X) = g*f*id X by RELAT_1:36;
A2: h*(g*f) = h*g*f by RELAT_1:36;
  compose(<*f,g,h*>,X) = h*g*f*id X & h*g*f*id X = h*g*(f*id X) by Th53,
RELAT_1:36;
  hence thesis by A1,A2,RELAT_1:51;
end;
