reserve A,B,C,D,p,q,r for Element of LTLB_WFF,
        F,G,X for Subset of LTLB_WFF,
        M for LTLModel,
        i,j,n for Element of NAT,
        f,f1,f2,g for FinSequence of LTLB_WFF;

theorem th11:
  F |-0 'G' A & F |-0 'G' (A => B) implies F |-0 'G' B
  proof
    assume that
A1: F |-0 'G' A and
A2: F|-0 'G' (A => B);
    consider f such that
A3: f.len f= 'G' A and
A4: 1<=len f and
A5: for i be Nat st 1<=i & i<=len f holds prc0 f,F,i by A1;
    consider g such that
A6: g.len g= 'G' (A => B) and
A7: 1<=len g and
A8: for i be Nat st 1<=i & i<=len g holds prc0 g,F,i by A2;
A9: for i be Nat st 1<=i & i<=len(f^g) holds prc0 f^g,F,i by A4,A5,A7,A8,Th39;
    set h=f^g^<*('G' B)*>;
A10: h=f^(g^<*('G' B)*>) by FINSEQ_1:32;
A11: len(f^g)=len f+len g by FINSEQ_1:22;
     then A12: 1<=len(f^g) by A4,NAT_1:12;
A13: len h=len(f^g)+len<*('G' B)*> by FINSEQ_1:22
     .=len(f^g)+1 by FINSEQ_1:39;
     then 1<=len h by A4,A11,NAT_1:16;
     then A14: h/.len h=h.len h by Lm1
     .= 'G' B by A13,FINSEQ_1:42;
     len h=len f+(len g+1) by A11,A13;
     then A15: len f<len h by NAT_1:16;
     then A16: h/.len f=h.len f by A4,Lm1
     .='G' A by A3,A4,A10,FINSEQ_1:64;
A17: len(f^g)<len h by A13,NAT_1:16;
     then h/.len(f^g)=h.len(f^g) by A12,Lm1
     .=(f^g).len(f^g) by A12,FINSEQ_1:64
     .=(f^g).(len f+len g) by FINSEQ_1:22
     .='G' (A => B) by A6,A7,FINSEQ_1:65;
     then h/.len f,h/.len(f^g)MP0_rule h/.len h by A16,A14;
     then prc0 h,F,len h by A4,A12,A15,A17;
     hence F |-0 'G' B by A12,A9,Th40;
 end;
