reserve k,n,n1,m,m1,m0,h,i,j for Nat,
  a,x,y,X,X1,X2,X3,X4,Y for set;
reserve L,L1,L2 for FinSequence;
reserve F,F1,G,G1,H for LTL-formula;
reserve W,W1,W2 for Subset of Subformulae H;
reserve v for LTL-formula;
reserve N,N1,N2,N10,N20,M for strict LTLnode over v;
reserve w for Element of Inf_seq(AtomicFamily);
reserve R1,R2 for Real_Sequence;
reserve s,s0,s1,s2 for elementary strict LTLnode over v;

theorem Th50:
  for f being Function of LTLNodes(v),LTLNodes(v) st f
  is_homomorphism v,w holds for x st x in LTLNodes(v) & CastNode(x,v) is non
  elementary holds for k st CastNode((f|**k).x,v) is non elementary & w |= *
  CastNode((f|**k).x,v) holds w |= *CastNode((f|**(k+1)).x,v)
proof
  set LN = LTLNodes(v);
  let f be Function of LN,LN;
  assume
A1: f is_homomorphism v,w;
  for x st x in LN & CastNode(x,v) is non elementary holds for k st
  CastNode((f|**k).x,v) is non elementary & w |= *CastNode((f|**k).x,v) holds w
  |= *CastNode((f|**(k+1)).x,v)
  proof
    let x such that
A2: x in LN and
    CastNode(x,v) is non elementary;
    for k st CastNode((f|**k).x,v) is non elementary & w |= *CastNode((f
    |**k).x,v) holds w |= *CastNode((f|**(k+1)).x,v)
    proof
      let k such that
A3:   CastNode((f|**k).x,v) is non elementary & w |= *CastNode((f|**k) .x,v);
      set y = (f|**k).x;
A4:   (f|**(k+1)).x = (f*(f|**k)).x by FUNCT_7:71
        .= f.y by A2,FUNCT_2:15;
      y in LN by A2,FUNCT_2:5;
      hence thesis by A1,A3,A4;
    end;
    hence thesis;
  end;
  hence thesis;
end;
