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);

theorem Th3:
  ex L st Subformulae H = rng L
proof
  defpred P[LTL-formula] means ex L st Subformulae $1 = rng L;
A1: for H st (H is negative or H is next) & P[the_argument_of H] holds P[H]
  proof
    let H such that
A2: H is negative or H is next and
A3: P[the_argument_of H];
    consider L1 such that
A4: Subformulae the_argument_of H = rng L1 by A3;
    set L = L1 ^ <* H *>;
    take L;
    rng L = rng L1 \/ rng <* H *> by FINSEQ_1:31
      .= Subformulae the_argument_of H \/ {H} by A4,Lm3
      .= Subformulae H by A2,Lm21;
    hence thesis;
  end;
A5: for H st (H is conjunctive or H is disjunctive or H is Until or H is
  Release ) & P[the_left_argument_of H] & P[the_right_argument_of H] holds P[H]
  proof
    let H such that
A6: H is conjunctive or H is disjunctive or H is Until or H is Release and
A7: P[the_left_argument_of H] and
A8: P[the_right_argument_of H];
    consider L1 such that
A9: Subformulae the_left_argument_of H = rng L1 by A7;
    consider L2 such that
A10: Subformulae the_right_argument_of H = rng L2 by A8;
A11: rng(L1 ^ L2) = Subformulae the_left_argument_of H \/ Subformulae
    the_right_argument_of H by A9,A10,FINSEQ_1:31;
    set L = (L1 ^ L2) ^ <* H *>;
    take L;
    rng L = rng (L1 ^ L2) \/ rng <* H *> by FINSEQ_1:31
      .= (Subformulae the_left_argument_of H \/ Subformulae
    the_right_argument_of H) \/ {H} by A11,Lm3
      .= Subformulae H by A6,Lm22;
    hence thesis;
  end;
A12: for H st H is atomic holds P[H]
  proof
    let H such that
A13: H is atomic;
    set L =<* H *>;
    take L;
    rng L = {H} by Lm3
      .= Subformulae H by A13,Lm23;
    hence thesis;
  end;
  for H holds P[H] from MODELC_2:sch 1(A12,A1,A5);
  hence thesis;
end;
