let H1, H2 be LTL-formula; for r being Element of Inf_seq AtomicFamily holds
( r |= H1 'U' H2 iff r |= H2 'or' (H1 '&' ('X' (H1 'U' H2))) )
let r be Element of Inf_seq AtomicFamily ; ( r |= H1 'U' H2 iff r |= H2 'or' (H1 '&' ('X' (H1 'U' H2))) )
A1:
( r |= H2 'or' (H1 '&' ('X' (H1 'U' H2))) implies r |= H1 'U' H2 )
proof
assume A2:
r |= H2 'or' (H1 '&' ('X' (H1 'U' H2)))
;
r |= H1 'U' H2
now per cases
( r |= H2 or r |= H1 '&' ('X' (H1 'U' H2)) )
by A2, Th66;
suppose A4:
r |= H1 '&' ('X' (H1 'U' H2))
;
r |= H1 'U' H2set r1 =
Shift r,1;
r |= 'X' (H1 'U' H2)
by A4, Th65;
then
Shift r,1
|= H1 'U' H2
by Th67;
then consider m being
Nat such that A5:
for
j being
Nat st
j < m holds
Shift (Shift r,1),
j |= H1
and A6:
Shift (Shift r,1),
m |= H2
by Th68;
set m1 =
m + 1;
A7:
r |= H1
by A4, Th65;
A8:
for
j being
Nat st
j < m + 1 holds
Shift r,
j |= H1
Shift r,
(m + 1) |= H2
by A6, Lm30;
hence
r |= H1 'U' H2
by A8, Th68;
verum end; end; end;
hence
r |= H1 'U' H2
;
verum
end;
( r |= H1 'U' H2 implies r |= H2 'or' (H1 '&' ('X' (H1 'U' H2))) )
proof
assume
r |= H1 'U' H2
;
r |= H2 'or' (H1 '&' ('X' (H1 'U' H2)))
then consider m being
Nat such that A11:
for
j being
Nat st
j < m holds
Shift r,
j |= H1
and A12:
Shift r,
m |= H2
by Th68;
per cases
( m = 0 or m > 0 )
;
suppose A13:
m > 0
;
r |= H2 'or' (H1 '&' ('X' (H1 'U' H2)))set k =
m - 1;
reconsider k =
m - 1 as
Nat by A13, NAT_1:20;
set r1 =
Shift r,1;
A14:
for
j being
Nat st
j < k holds
Shift (Shift r,1),
j |= H1
proof
let j be
Nat;
( j < k implies Shift (Shift r,1),j |= H1 )
assume
j < k
;
Shift (Shift r,1),j |= H1
then A15:
j + 1
< k + 1
by XREAL_1:10;
Shift r,
(j + 1) = Shift (Shift r,1),
j
by Lm30;
hence
Shift (Shift r,1),
j |= H1
by A11, A15;
verum
end;
Shift r,
(k + 1) = Shift (Shift r,1),
k
by Lm30;
then
Shift r,1
|= H1 'U' H2
by A12, A14, Th68;
then A16:
r |= 'X' (H1 'U' H2)
by Th67;
Shift r,
0 = r
by Lm29;
then
r |= H1
by A11, A13;
then
r |= H1 '&' ('X' (H1 'U' H2))
by A16, Th65;
hence
r |= H2 'or' (H1 '&' ('X' (H1 'U' H2)))
by Th66;
verumset G =
H1 'U' H2;
end; end;
end;
hence
( r |= H1 'U' H2 iff r |= H2 'or' (H1 '&' ('X' (H1 'U' H2))) )
by A1; verum