let A, B be Element of LTLB_WFF ; :: thesis: for F being Subset of LTLB_WFF st F |-0 'G' (A => B) & F |-0 'G' (A => ('X' A)) holds

F |-0 'G' (A => ('G' B))

let F be Subset of LTLB_WFF; :: thesis: ( F |-0 'G' (A => B) & F |-0 'G' (A => ('X' A)) implies F |-0 'G' (A => ('G' B)) )

assume that

A1: F |-0 'G' (A => B) and

A2: F |-0 'G' (A => ('X' A)) ; :: thesis: F |-0 'G' (A => ('G' B))

consider f being FinSequence of LTLB_WFF such that

A3: f . (len f) = 'G' (A => B) and

A4: 1 <= len f and

A5: for i being Nat st 1 <= i & i <= len f holds

prc0 f,F,i by A1;

consider g being FinSequence of LTLB_WFF such that

A6: g . (len g) = 'G' (A => ('X' A)) and

A7: 1 <= len g and

A8: for i being Nat st 1 <= i & i <= len g holds

prc0 g,F,i by A2;

A9: for i being 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' (A => ('G' B)))*>;

A10: (f ^ g) ^ <*('G' (A => ('G' B)))*> = f ^ (g ^ <*('G' (A => ('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 ((f ^ g) ^ <*('G' (A => ('G' B)))*>) = (len (f ^ g)) + (len <*('G' (A => ('G' B)))*>) by FINSEQ_1:22

.= (len (f ^ g)) + 1 by FINSEQ_1:39 ;

then 1 <= len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A4, A11, NAT_1:16;

then A14: ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) by Lm1

.= 'G' (A => ('G' B)) by A13, FINSEQ_1:42 ;

len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) = (len f) + ((len g) + 1) by A11, A13;

then A15: len f < len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by NAT_1:16;

then A16: ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len f) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (len f) by A4, Lm1

.= 'G' (A => B) by A3, A4, A10, FINSEQ_1:64 ;

A17: len (f ^ g) < len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A13, NAT_1:16;

then ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len (f ^ g)) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (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 => ('X' A)) by A6, A7, FINSEQ_1:65 ;

then ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len f),((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len (f ^ g)) IND0_rule ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) by A16, A14;

then prc0 (f ^ g) ^ <*('G' (A => ('G' B)))*>,F, len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A4, A12, A15, A17;

hence F |-0 'G' (A => ('G' B)) by A12, A9, Th40; :: thesis: verum

F |-0 'G' (A => ('G' B))

let F be Subset of LTLB_WFF; :: thesis: ( F |-0 'G' (A => B) & F |-0 'G' (A => ('X' A)) implies F |-0 'G' (A => ('G' B)) )

assume that

A1: F |-0 'G' (A => B) and

A2: F |-0 'G' (A => ('X' A)) ; :: thesis: F |-0 'G' (A => ('G' B))

consider f being FinSequence of LTLB_WFF such that

A3: f . (len f) = 'G' (A => B) and

A4: 1 <= len f and

A5: for i being Nat st 1 <= i & i <= len f holds

prc0 f,F,i by A1;

consider g being FinSequence of LTLB_WFF such that

A6: g . (len g) = 'G' (A => ('X' A)) and

A7: 1 <= len g and

A8: for i being Nat st 1 <= i & i <= len g holds

prc0 g,F,i by A2;

A9: for i being 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' (A => ('G' B)))*>;

A10: (f ^ g) ^ <*('G' (A => ('G' B)))*> = f ^ (g ^ <*('G' (A => ('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 ((f ^ g) ^ <*('G' (A => ('G' B)))*>) = (len (f ^ g)) + (len <*('G' (A => ('G' B)))*>) by FINSEQ_1:22

.= (len (f ^ g)) + 1 by FINSEQ_1:39 ;

then 1 <= len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A4, A11, NAT_1:16;

then A14: ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) by Lm1

.= 'G' (A => ('G' B)) by A13, FINSEQ_1:42 ;

len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) = (len f) + ((len g) + 1) by A11, A13;

then A15: len f < len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by NAT_1:16;

then A16: ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len f) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (len f) by A4, Lm1

.= 'G' (A => B) by A3, A4, A10, FINSEQ_1:64 ;

A17: len (f ^ g) < len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A13, NAT_1:16;

then ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len (f ^ g)) = ((f ^ g) ^ <*('G' (A => ('G' B)))*>) . (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 => ('X' A)) by A6, A7, FINSEQ_1:65 ;

then ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len f),((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len (f ^ g)) IND0_rule ((f ^ g) ^ <*('G' (A => ('G' B)))*>) /. (len ((f ^ g) ^ <*('G' (A => ('G' B)))*>)) by A16, A14;

then prc0 (f ^ g) ^ <*('G' (A => ('G' B)))*>,F, len ((f ^ g) ^ <*('G' (A => ('G' B)))*>) by A4, A12, A15, A17;

hence F |-0 'G' (A => ('G' B)) by A12, A9, Th40; :: thesis: verum