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 th268:
  for F be finite Subset of LTLB_WFF holds F |=0 A implies F |-0 A
proof
  let F be finite Subset of LTLB_WFF;
  assume
Z1: F |=0 A;
  per cases;
  suppose
S1: F is empty;then
    F |= A by th262b,th264p,Z1;
    hence F |-0 A by th267,S1,LTLAXIO4:33;
  end;
  suppose
S2: not F is empty;
    consider f be FinSequence such that
A4: rng f = F & f is one-to-one by FINSEQ_4:58;
    reconsider f as FinSequence of LTLB_WFF by A4,FINSEQ_1:def 4;
A6: 1 <= len f by RELAT_1:38,A4,FINSEQ_1:20,S2;
    then 1 <= len implications(f,A) by imps;
    then A7: implications(f,A)/.1 = implications(f,A).1 by FINSEQ_4:15;
AA: 1 in dom f by A6,FINSEQ_3:25;
    defpred P[Nat] means
    1 <= $1 & $1 <= len f implies rng (f /^ $1) |=0 implications(f,A)/.$1;
    rng (f|1) = rng <*f.1*> by FINSEQ_5:20,RELAT_1:38,A4,S2
      .= rng <*f/.1*> by PARTFUN1:def 6,AA;then
A8: rng (f /^ 1) \/ {f/.1} = rng (f|1) \/ rng (f /^ 1) by FINSEQ_1:38
    .= rng ((f|1) ^ (f /^ 1)) by FINSEQ_1:31
    .= rng f by RFINSEQ:8;
A9: len implications(f,A) = len f by A6,imps;
A10: now
       let i be Nat;
A11:   i in NAT by ORDINAL1:def 12;
       assume
A12:   P[i];
       thus P[i + 1]
       proof
         assume that
A13:     1 <= i+1 and
A14:     i+1 <= len f;
         per cases by NAT_1:25;
         suppose
A15:       i = 0;
           f/.1 => A = implications(f,A).1 by imps,A6
           .= implications(f,A)/.1 by FINSEQ_4:15,A9,A6;
           hence rng (f /^ (i+1)) |=0 implications(f,A)/.(i+1)
           by A8,A4,Z1,th263,A15;
         end;
         suppose
A16:       1 <= i;
           i+1 in dom f by FINSEQ_3:25,A13,A14;then
           rng (<*f/.(i+1)*>^(f /^ (i+1))) |=0 implications(f,A)/.i
           by A12,A16,NAT_1:13,A14,FINSEQ_5:31;then
           rng <*f/.(i+1)*> \/ rng (f /^ (i+1)) |=0 implications(f,A)/.i
           by FINSEQ_1:31;then
A17:       rng (f /^ (i+1)) \/ {f/.(i+1)} |=0 implications(f,A)/.i
           by FINSEQ_1:38;
A18:       i < len f by NAT_1:13,A14;
           implications(f,A)/.(i+1) = implications(f,A).(i+1)
           by FINSEQ_4:15,A13,A14,A9
           .= f/.(i+1) => implications(f,A)/.i by imps,A16,A18,A11;
           hence rng (f /^ (i+1)) |=0 implications(f,A)/.(i+1) by A17,th263;
         end;
       end;
      end;
A19:P[0];
    for i be Nat holds P[i] from NAT_1:sch 2(A19,A10);then
    rng (f /^ (len f)) |=0 implications(f,A)/.(len f) by A6;then
    {} LTLB_WFF |=0 implications(f,A)/.(len f) by RFINSEQ:27,RELAT_1:38;then
D2: {} LTLB_WFF |- implications(f,A)/.(len f) by LTLAXIO4:33,th262b,th264p;
    defpred P[Nat] means $1 < len f implies
    rng f |-0 implications(f,A)/.(len f -' $1);
A21:now
      let i be Nat;
      assume
A22:  P[i];
      thus P[i+1]
      proof
        set j = len f -' (i+1);
        assume
A23:    i + 1 < len f;then
A24:    i + 1 + (- (i +1)) < len f + (-(i + 1)) by XREAL_1:8;then
A25:    j = len f - (i+1) by XREAL_0:def 2;then
A26:    1 <= j by NAT_1:25, A24;
        i < len f by A23,NAT_1:12;then
        len f + (-i) > i + (-i) by XREAL_1:8;then
A27:    len f - i > 0;
A28:    j + 1 = len f - (i + 1) + 1 by XREAL_0:def 2, A24
        .= len f -' i by XREAL_0:def 2,A27;
A29:    len f + (-i) <= len f by XREAL_1:32;then
        j + 1 <= len f by A25;then
A30:    j < len f by NAT_1:16,XXREAL_0:2;
        j + 1 <= len implications(f,A) by A29,A25,imps;then
E5:     implications(f,A)/.(len f -' i) = implications(f,A).(j + 1)
        by A28,FINSEQ_4:15, NAT_1:11
        .= (f/.(j + 1)) => implications(f,A)/.j by imps,A26, A30;
E9:     j + 1 in dom f by FINSEQ_3:25, NAT_1:11, A29,A25;then
        f.(j+1) in rng f by FUNCT_1:3;then
        f/.(j+1) in rng f by PARTFUN1:def 6,E9;then
        rng f |-0 f/.(j+1) by th10;
        hence rng f |-0 implications(f,A)/.j by th11a,E5,A22,A23,NAT_1:12;
      end;
    end;
    {}LTLB_WFF c= rng f;then
D3: rng f |-0 implications(f,A)/.len f by mon,D2,th267;
    len f - 0 >= 1 by RELAT_1:38,A4,S2,FINSEQ_1:20;then
A33: P[0] by D3,XREAL_0:def 2;
A34: for i be Nat holds P[i] from NAT_1:sch 2(A33,A21);
     1 + (-1) <= len f + (-1) by XREAL_1:6,FINSEQ_1:20,RELAT_1:38,A4,S2;
     then len f -' 1 = len f - 1 by XREAL_0:def 2;
     then reconsider i = len f -1 as Element of NAT;
A32: len f + (- 1) < len f by XREAL_1:37;
    len f -' i = len f - i by XREAL_0:def 2 .= 1;then
    rng f |-0 implications(f,A)/.1 by A34,A32;then
C2: F |-0 (f/.1) => A by A4,imps,A7,A6;
C3: 1 in dom f by A6,FINSEQ_3:25;then
    f.1 in rng f by FUNCT_1:3;then
    f/.1 in rng f by PARTFUN1:def 6,C3;then
    F |-0 f/.1 by A4,th10;
    hence F |-0 A by C2,th11a;
  end;
end;
