reserve i,j,k,l for Nat,
  x,x1,x2,y1,y2 for set;
reserve P,p,x,y,x1,x2 for set,
  m1,m2,m3,m4,m for marking of P,
  i,j,j1,j2,k,k1,k2,l,l1 for Nat;
reserve t,t1,t2 for transition of P;
reserve N for Petri_net of P;
reserve e, e1,e2 for Element of N;
reserve C,C1,C2,C3,fs,fs1,fs2 for firing-sequence of N;

theorem Th26:
  dom fire C = Funcs(P, NAT) & rng fire C c= Funcs(P, NAT)
proof
  defpred P[Nat] means for F being Function-yielding FinSequence st
  len F = $1 & for i st i in dom F ex t st F.i = fire t
  holds dom compose(F, Funcs(P, NAT)) = Funcs(P, NAT) &
  rng compose(F, Funcs(P, NAT)) c= Funcs(P, NAT);
A1: P[0]
  proof
    let F be Function-yielding FinSequence;
    assume len F = 0;
    then F = {};
    then compose(F, Funcs(P, NAT)) = id Funcs(P, NAT) by FUNCT_7:39;
    hence thesis;
  end;
A2: for k st P[k] holds P[k + 1]
  proof
    let k such that
A3: for G being Function-yielding FinSequence st len G = k &
    for i st i in dom G ex t st G.i = fire t
    holds dom compose(G, Funcs(P, NAT)) = Funcs(P, NAT) &
    rng compose(G, Funcs(P, NAT)) c= Funcs(P, NAT);
    let F be Function-yielding FinSequence such that
A4: len F = k+1 and
A5: for i st i in dom F ex t st F.i = fire t;
    consider G being FinSequence, x being set such that
A6: F = G^<*x*> and
A7: len G = k by A4,TREES_2:3;
    reconsider G as Function-yielding FinSequence by A6,FUNCT_7:23;
    0 qua Nat+1 <= k+1 by XREAL_1:7;
    then k+1 in dom F by A4,FINSEQ_3:25;
    then consider t such that
A8: F.(k+1) = fire t by A5;
    x = F.(k+1) by A6,A7,FINSEQ_1:42;
    then
A9: compose(F, Funcs(P, NAT)) = (fire t)*compose(G, Funcs(P, NAT))
    by A6,A8,FUNCT_7:41;
A10: dom fire t = Funcs(P, NAT) by Def8;
A11: rng fire t c= Funcs(P, NAT) by Th20;
A12: for i st i in dom G ex t st G.i = fire t
    proof
      let i;
A13:  dom G c= dom F by A6,FINSEQ_1:26;
      assume
A14:  i in dom G;
      then G.i = F.i by A6,FINSEQ_1:def 7;
      hence thesis by A5,A13,A14;
    end;
    then
A15: dom compose(G, Funcs(P, NAT)) = Funcs(P, NAT) by A3,A7;
A16: rng compose(G, Funcs(P, NAT)) c= Funcs(P, NAT) by A3,A7,A12;
    rng compose(F, Funcs(P, NAT)) c= rng fire t by A9,RELAT_1:26;
    hence thesis by A9,A10,A11,A15,A16,RELAT_1:27;
  end;
A17: P[k] from NAT_1:sch 2(A1,A2);
  consider F being Function-yielding FinSequence such that
A18: fire C = compose(F, Funcs(P, NAT)) and
A19: len F = len C and
A20: for i being Element of NAT st i in dom C holds
  F.i = fire (C/.i qua Element of N) by Def10;
  for i st i in dom F ex t st F.i = fire t
  proof
    let i;
    assume
A21: i in dom F;
A22: dom F = Seg len F by FINSEQ_1:def 3;
A23: dom C = Seg len C by FINSEQ_1:def 3;
    reconsider t = C/.i as Element of N;
    take t;
    thus thesis by A19,A20,A21,A22,A23;
  end;
  hence thesis by A17,A18,A19;
end;
