let A, B be Element of LTLB_WFF ; :: thesis: for F being Subset of LTLB_WFF st F \/ {A} |-0 B holds
F |-0 A => B

let F be Subset of LTLB_WFF; :: thesis: ( F \/ {A} |-0 B implies F |-0 A => B )
assume F \/ {A} |-0 B ; :: thesis: F |-0 A => B
then consider f being FinSequence of LTLB_WFF such that
A1: f . (len f) = B and
A2: 1 <= len f and
A3: for i being Nat st 1 <= i & i <= len f holds
prc0 f,F \/ {A},i ;
defpred S1[ Nat] means ( 1 <= \$1 & \$1 <= len f implies F |-0 A => (f /. \$1) );
A4: for i being Nat st ( for j being Nat st j < i holds
S1[j] ) holds
S1[i]
proof
let i be Nat; :: thesis: ( ( for j being Nat st j < i holds
S1[j] ) implies S1[i] )

assume A5: for j being Nat st j < i holds
S1[j] ; :: thesis: S1[i]
per cases ( i = 0 or not i < 1 ) by NAT_1:14;
suppose not i < 1 ; :: thesis: S1[i]
assume that
A6: 1 <= i and
A7: i <= len f ; :: thesis: F |-0 A => (f /. i)
per cases ( f . i in LTL0_axioms or f . i in F \/ {A} or ex j, k being Nat st
( 1 <= j & j < i & 1 <= k & k < i & ( f /. j,f /. k MP_rule f /. i or f /. j,f /. k MP0_rule f /. i or f /. j,f /. k IND0_rule f /. i ) ) or ex j being Nat st
( 1 <= j & j < i & ( f /. j NEX0_rule f /. i or f /. j REFL0_rule f /. i ) ) )
by A3, A6, A7, Def29;
suppose A8: f . i in LTL0_axioms ; :: thesis: F |-0 A => (f /. i)
A9: F |-0 (f /. i) => (A => (f /. i)) by ;
f /. i in LTL0_axioms by A6, A7, A8, Lm1;
then F |-0 f /. i by th10;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
suppose A10: f . i in F \/ {A} ; :: thesis: F |-0 A => (f /. i)
per cases ( f . i in F or f . i in {A} ) by ;
suppose A11: f . i in F ; :: thesis: F |-0 A => (f /. i)
A12: F |-0 (f /. i) => (A => (f /. i)) by ;
f /. i in F by A6, A7, A11, Lm1;
then F |-0 f /. i by th10;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
end;
end;
suppose ex j, k being Nat st
( 1 <= j & j < i & 1 <= k & k < i & ( f /. j,f /. k MP_rule f /. i or f /. j,f /. k MP0_rule f /. i or f /. j,f /. k IND0_rule f /. i ) ) ; :: thesis: F |-0 A => (f /. i)
then consider j, k being Nat such that
A15: 1 <= j and
A16: j < i and
A17: 1 <= k and
A18: k < i and
A19: ( f /. j,f /. k MP_rule f /. i or f /. j,f /. k MP0_rule f /. i or f /. j,f /. k IND0_rule f /. i ) ;
j <= len f by ;
then A20: F |-0 A => (f /. j) by A5, A15, A16;
k <= len f by ;
then A21: F |-0 A => (f /. k) by A5, A17, A18;
per cases ( f /. j,f /. k MP_rule f /. i or f /. j,f /. k MP0_rule f /. i or f /. j,f /. k IND0_rule f /. i ) by A19;
suppose A22: f /. j,f /. k MP_rule f /. i ; :: thesis: F |-0 A => (f /. i)
A23: F |-0 (A => ((f /. j) => (f /. i))) => ((A => (f /. j)) => (A => (f /. i))) by ;
F |-0 (A => (f /. j)) => (A => (f /. i)) by ;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
suppose f /. j,f /. k MP0_rule f /. i ; :: thesis: F |-0 A => (f /. i)
then consider C, D being Element of LTLB_WFF such that
A24: f /. j = 'G' C and
A25: f /. k = 'G' (C => D) and
A26: f /. i = 'G' D ;
B1: {} LTLB_WFF c= F ;
{} LTLB_WFF |-0 (f /. k) => ((f /. j) => (f /. i)) by ;
then B2: F |-0 (f /. k) => ((f /. j) => (f /. i)) by ;
(A => (f /. k)) => (((f /. k) => ((f /. j) => (f /. i))) => (A => ((f /. j) => (f /. i)))) is LTL_TAUT_OF_PL by th16;
then (A => (f /. k)) => (((f /. k) => ((f /. j) => (f /. i))) => (A => ((f /. j) => (f /. i)))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => (f /. k)) => (((f /. k) => ((f /. j) => (f /. i))) => (A => ((f /. j) => (f /. i)))) by th15;
then F |-0 ((f /. k) => ((f /. j) => (f /. i))) => (A => ((f /. j) => (f /. i))) by ;
then B3: F |-0 A => ((f /. j) => (f /. i)) by ;
(A => ((f /. j) => (f /. i))) => ((A => (f /. j)) => (A => (f /. i))) is LTL_TAUT_OF_PL by th17;
then (A => ((f /. j) => (f /. i))) => ((A => (f /. j)) => (A => (f /. i))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => ((f /. j) => (f /. i))) => ((A => (f /. j)) => (A => (f /. i))) by th15;
then F |-0 (A => (f /. j)) => (A => (f /. i)) by ;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
suppose f /. j,f /. k IND0_rule f /. i ; :: thesis: F |-0 A => (f /. i)
then consider C, D being Element of LTLB_WFF such that
A24: f /. j = 'G' (C => D) and
A25: f /. k = 'G' (C => ('X' C)) and
A26: f /. i = 'G' (C => ('G' D)) ;
(A => (f /. j)) => ((A => (f /. k)) => (A => ((f /. j) '&&' (f /. k)))) is LTL_TAUT_OF_PL by LTLAXIO2:40;
then (A => (f /. j)) => ((A => (f /. k)) => (A => ((f /. j) '&&' (f /. k)))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => (f /. j)) => ((A => (f /. k)) => (A => ((f /. j) '&&' (f /. k)))) by th15;
then F |-0 (A => (f /. k)) => (A => ((f /. j) '&&' (f /. k))) by ;
then B10: F |-0 A => ((f /. j) '&&' (f /. k)) by ;
B12: {} LTLB_WFF c= F ;
{} LTLB_WFF |- (f /. j) => ((f /. k) => (f /. i)) by ;
then {} LTLB_WFF |- ((f /. j) '&&' (f /. k)) => (f /. i) by LTLAXIO1:48;
then B11: F |-0 ((f /. j) '&&' (f /. k)) => (f /. i) by ;
(A => ((f /. j) '&&' (f /. k))) => ((((f /. j) '&&' (f /. k)) => (f /. i)) => (A => (f /. i))) is LTL_TAUT_OF_PL by th16;
then (A => ((f /. j) '&&' (f /. k))) => ((((f /. j) '&&' (f /. k)) => (f /. i)) => (A => (f /. i))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => ((f /. j) '&&' (f /. k))) => ((((f /. j) '&&' (f /. k)) => (f /. i)) => (A => (f /. i))) by th15;
then F |-0 (((f /. j) '&&' (f /. k)) => (f /. i)) => (A => (f /. i)) by ;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
end;
end;
suppose ex j being Nat st
( 1 <= j & j < i & ( f /. j NEX0_rule f /. i or f /. j REFL0_rule f /. i ) ) ; :: thesis: F |-0 A => (f /. i)
then consider j being Nat, q, r being Element of LTLB_WFF such that
A32: 1 <= j and
A33: j < i and
A34: ( f /. j NEX0_rule f /. i or f /. j REFL0_rule f /. i ) ;
B4: j <= len f by ;
then B4a: F |-0 A => (f /. j) by A5, A32, A33;
per cases ( f /. j NEX0_rule f /. i or f /. j REFL0_rule f /. i ) by A34;
suppose f /. j NEX0_rule f /. i ; :: thesis: F |-0 A => (f /. i)
then consider C being Element of LTLB_WFF such that
A24: f /. j = 'G' C and
A26: f /. i = 'G' ('X' C) ;
B8: {} LTLB_WFF c= F ;
{} LTLB_WFF |-0 (f /. j) => (f /. i) by ;
then B9: F |-0 (f /. j) => (f /. i) by ;
(A => (f /. j)) => (((f /. j) => (f /. i)) => (A => (f /. i))) is LTL_TAUT_OF_PL by th16;
then (A => (f /. j)) => (((f /. j) => (f /. i)) => (A => (f /. i))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => (f /. j)) => (((f /. j) => (f /. i)) => (A => (f /. i))) by th15;
then F |-0 ((f /. j) => (f /. i)) => (A => (f /. i)) by ;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
suppose f /. j REFL0_rule f /. i ; :: thesis: F |-0 A => (f /. i)
then B6: F |-0 A => ('G' (f /. i)) by B4, A5, A32, A33;
B5: {} LTLB_WFF c= F ;
{} LTLB_WFF |-0 ('G' (f /. i)) => (f /. i) by ;
then B7: F |-0 ('G' (f /. i)) => (f /. i) by ;
(A => ('G' (f /. i))) => ((('G' (f /. i)) => (f /. i)) => (A => (f /. i))) is LTL_TAUT_OF_PL by th16;
then (A => ('G' (f /. i))) => ((('G' (f /. i)) => (f /. i)) => (A => (f /. i))) in LTL_axioms by LTLAXIO1:def 17;
then F |-0 (A => ('G' (f /. i))) => ((('G' (f /. i)) => (f /. i)) => (A => (f /. i))) by th15;
then F |-0 (('G' (f /. i)) => (f /. i)) => (A => (f /. i)) by ;
hence F |-0 A => (f /. i) by ; :: thesis: verum
end;
end;
end;
end;
end;
end;
end;
A37: for i being Nat holds S1[i] from B = f /. (len f) by A1, A2, Lm1;
hence F |-0 A => B by ; :: thesis: verum