let p be Element of LTLB_WFF ; for f being FinSequence of LTLB_WFF st ( for i being Nat st i in dom f holds
{} LTLB_WFF |- (f /. i) => p ) holds
{} LTLB_WFF |- ('not' ((con (nega f)) /. (len (con (nega f))))) => p
let f be FinSequence of LTLB_WFF ; ( ( for i being Nat st i in dom f holds
{} LTLB_WFF |- (f /. i) => p ) implies {} LTLB_WFF |- ('not' ((con (nega f)) /. (len (con (nega f))))) => p )
set nt = 'not' TVERUM;
assume A1:
for i being Nat st i in dom f holds
{} LTLB_WFF |- (f /. i) => p
; {} LTLB_WFF |- ('not' ((con (nega f)) /. (len (con (nega f))))) => p
per cases
( len f = 0 or len f > 0 )
;
suppose A4:
len f > 0
;
{} LTLB_WFF |- ('not' ((con (nega f)) /. (len (con (nega f))))) => pdefpred S1[
Nat]
means ( $1
<= len f implies
{} LTLB_WFF |- ('not' ((con (nega f)) /. $1)) => p );
A5:
now for k being non zero Nat st S1[k] holds
S1[k + 1]let k be non
zero Nat;
( S1[k] implies S1[k + 1] )assume A6:
S1[
k]
;
S1[k + 1]thus
S1[
k + 1]
verumproof
set a =
'not' ((con (nega f)) /. (k + 1));
set b =
f /. (k + 1);
set c =
(con (nega f)) /. k;
set d =
(nega f) /. (k + 1);
set nc =
'not' ((con (nega f)) /. k);
set nd =
'not' ((nega f) /. (k + 1));
(('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1))))) => ((('not' ((nega f) /. (k + 1))) => (f /. (k + 1))) => (('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))))) is
ctaut
by Th48;
then
(('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1))))) => ((('not' ((nega f) /. (k + 1))) => (f /. (k + 1))) => (('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))))) in LTL_axioms
by LTLAXIO1:def 17;
then A7:
{} LTLB_WFF |- (('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1))))) => ((('not' ((nega f) /. (k + 1))) => (f /. (k + 1))) => (('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1)))))
by LTLAXIO1:42;
assume A8:
k + 1
<= len f
;
{} LTLB_WFF |- ('not' ((con (nega f)) /. (k + 1))) => p
then
k < len f
by NAT_1:13;
then
( 1
<= k &
k < len (nega f) )
by NAT_1:25, Def4;
then A9:
'not' ((con (nega f)) /. (k + 1)) = 'not' (((con (nega f)) /. k) '&&' ((nega f) /. (k + 1)))
by Th7;
(('not' ((con (nega f)) /. k)) => p) => (((f /. (k + 1)) => p) => ((('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))) => p)) is
ctaut
by Th49;
then
(('not' ((con (nega f)) /. k)) => p) => (((f /. (k + 1)) => p) => ((('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))) => p)) in LTL_axioms
by LTLAXIO1:def 17;
then
{} LTLB_WFF |- (('not' ((con (nega f)) /. k)) => p) => (((f /. (k + 1)) => p) => ((('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))) => p))
by LTLAXIO1:42;
then A10:
{} LTLB_WFF |- ((f /. (k + 1)) => p) => ((('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))) => p)
by LTLAXIO1:43, A6, A8, NAT_1:13;
A11:
1
<= k + 1
by NAT_1:25;
then
{} LTLB_WFF |- (f /. (k + 1)) => p
by FINSEQ_3:25, A8, A1;
then A12:
{} LTLB_WFF |- (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))) => p
by A10, LTLAXIO1:43;
k + 1
in dom f
by A11, FINSEQ_3:25, A8;
then
'not' ((nega f) /. (k + 1)) = 'not' ('not' (f /. (k + 1)))
by Th8;
then
('not' ((nega f) /. (k + 1))) => (f /. (k + 1)) is
ctaut
by Th25;
then
('not' ((nega f) /. (k + 1))) => (f /. (k + 1)) in LTL_axioms
by LTLAXIO1:def 17;
then A13:
{} LTLB_WFF |- ('not' ((nega f) /. (k + 1))) => (f /. (k + 1))
by LTLAXIO1:42;
('not' (((con (nega f)) /. k) '&&' ((nega f) /. (k + 1)))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1)))) is
ctaut
by Th35;
then
('not' (((con (nega f)) /. k) '&&' ((nega f) /. (k + 1)))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1)))) in LTL_axioms
by LTLAXIO1:def 17;
then
{} LTLB_WFF |- ('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' ('not' ((nega f) /. (k + 1))))
by LTLAXIO1:42, A9;
then
{} LTLB_WFF |- (('not' ((nega f) /. (k + 1))) => (f /. (k + 1))) => (('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1))))
by A7, LTLAXIO1:43;
then
{} LTLB_WFF |- ('not' ((con (nega f)) /. (k + 1))) => (('not' ((con (nega f)) /. k)) 'or' (f /. (k + 1)))
by LTLAXIO1:43, A13;
hence
{} LTLB_WFF |- ('not' ((con (nega f)) /. (k + 1))) => p
by A12, LTLAXIO1:47;
verum
end; end; A14:
len (nega f) > 0
by A4, Def4;
A15:
S1[1]
A20:
for
k being non
zero Nat holds
S1[
k]
from NAT_1:sch 10(A15, A5);
len f =
len (nega f)
by Def4
.=
len (con (nega f))
by A14, Def2
;
hence
{} LTLB_WFF |- H1(
f)
=> p
by A20, A4;
verum end; end;