let A, B be Element of LTLB_WFF ; 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; ( 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))
; 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; verum