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))

let M be LTLModel; :: according to LTLAXIO5:def 3 :: thesis: ( M |=0 F implies M |=0 'G' (A => ('G' B)) )

assume A3: M |=0 F ; :: thesis: M |=0 'G' (A => ('G' B))

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))

let M be LTLModel; :: according to LTLAXIO5:def 3 :: thesis: ( M |=0 F implies M |=0 'G' (A => ('G' B)) )

assume A3: M |=0 F ; :: thesis: M |=0 'G' (A => ('G' B))

now :: thesis: for n being Element of NAT holds (SAT M) . [(0 + n),(A => ('G' B))] = 1

hence
M |=0 'G' (A => ('G' B))
by LTLAXIO1:10; :: thesis: verumlet n be Element of NAT ; :: thesis: (SAT M) . [(0 + b_{1}),(A => ('G' B))] = 1

defpred S_{1}[ Nat] means (SAT M) . [(n + $1),A] = 1;

end;defpred S

per cases
( (SAT M) . [n,A] = 1 or (SAT M) . [n,A] = 0 )
by XBOOLEAN:def 3;

end;

suppose A4:
(SAT M) . [n,A] = 1
; :: thesis: (SAT M) . [(0 + b_{1}),(A => ('G' B))] = 1

A5:
for k being Nat st S_{1}[k] holds

S_{1}[k + 1]
_{1}[ 0 ]
by A4;

A8: for i being Nat holds S_{1}[i]
from NAT_1:sch 2(A7, A5);

then ((SAT M) . [n,A]) => ((SAT M) . [n,('G' B)]) = 1 ;

hence (SAT M) . [(0 + n),(A => ('G' B))] = 1 by LTLAXIO1:def 11; :: thesis: verum

end;S

proof

A7:
S
let k be Nat; :: thesis: ( S_{1}[k] implies S_{1}[k + 1] )

assume A6: S_{1}[k]
; :: thesis: S_{1}[k + 1]

reconsider kk = k as Element of NAT by ORDINAL1:def 12;

M |=0 'G' (A => ('X' A)) by A2, A3;

then (SAT M) . [(0 + (n + kk)),(A => ('X' A))] = 1 by LTLAXIO1:10;

then ((SAT M) . [(n + kk),A]) => ((SAT M) . [(n + kk),('X' A)]) = 1 by LTLAXIO1:def 11;

then (SAT M) . [((n + kk) + 1),A] = 1 by A6, LTLAXIO1:9;

hence S_{1}[k + 1]
; :: thesis: verum

end;assume A6: S

reconsider kk = k as Element of NAT by ORDINAL1:def 12;

M |=0 'G' (A => ('X' A)) by A2, A3;

then (SAT M) . [(0 + (n + kk)),(A => ('X' A))] = 1 by LTLAXIO1:10;

then ((SAT M) . [(n + kk),A]) => ((SAT M) . [(n + kk),('X' A)]) = 1 by LTLAXIO1:def 11;

then (SAT M) . [((n + kk) + 1),A] = 1 by A6, LTLAXIO1:9;

hence S

A8: for i being Nat holds S

now :: thesis: for i being Element of NAT holds (SAT M) . [(n + i),B] = 1

then
(SAT M) . [n,('G' B)] = 1
by LTLAXIO1:10;let i be Element of NAT ; :: thesis: (SAT M) . [(n + i),B] = 1

M |=0 'G' (A => B) by A1, A3;

then (SAT M) . [(0 + (n + i)),(A => B)] = 1 by LTLAXIO1:10;

then A9: ((SAT M) . [(n + i),A]) => ((SAT M) . [(n + i),B]) = 1 by LTLAXIO1:def 11;

(SAT M) . [(n + i),A] = 1 by A8;

hence (SAT M) . [(n + i),B] = 1 by A9; :: thesis: verum

end;M |=0 'G' (A => B) by A1, A3;

then (SAT M) . [(0 + (n + i)),(A => B)] = 1 by LTLAXIO1:10;

then A9: ((SAT M) . [(n + i),A]) => ((SAT M) . [(n + i),B]) = 1 by LTLAXIO1:def 11;

(SAT M) . [(n + i),A] = 1 by A8;

hence (SAT M) . [(n + i),B] = 1 by A9; :: thesis: verum

then ((SAT M) . [n,A]) => ((SAT M) . [n,('G' B)]) = 1 ;

hence (SAT M) . [(0 + n),(A => ('G' B))] = 1 by LTLAXIO1:def 11; :: thesis: verum