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 Th52:
  apply(<*f,g*>,x) = <*x,f.x,g.(f.x)*>
proof
A1: apply(<*f*>,x) = <*x,f.x*> & len <*f*> = 1 by Th46,FINSEQ_1:40;
  thus apply(<*f,g*>,x) = apply(<*f*>^<*g*>,x) by FINSEQ_1:def 9
    .= <*x,f.x*>^<*g.(<*x,f.x*>.(1+1))*> by A1,Th41
    .= <*x,f.x*>^<*g.(f.x)*>
    .= <*x,f.x,g.(f.x)*> by FINSEQ_1:43;
end;
