consider Q being object such that
A1:
Q in comp P
by XBOOLE_0:def 1;
consider Pg being consistent PNPair such that
Pg = Q
and
A2:
Pg is_completion_of P
by A1;
A3:
rng (P `1) c= rng (Pg `1)
by A2;
A4:
rng (P `2) c= rng (Pg `2)
by A2;
reconsider Pg = Pg as consistent complete PNPair by A2, Th13;
set T = the pnptree of Pg;
set t = the complete path of the pnptree of Pg;
defpred S1[ Element of NAT , Element of bool props] means c2 = { p where p is Element of LTLB_WFF : ( p is simple & p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . P)) `1) ) } ;
consider M being sequence of (bool props) such that
A8:
for n being Element of NAT holds S1[n,M . n]
from FUNCT_2:sch 3(A5);
set s = SAT M;
defpred S2[ Element of LTLB_WFF ] means for i being Element of NAT st P in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) holds
( (SAT M) . [i,P] = 1 iff P in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) );
A9:
now for i being Element of NAT
for p being Element of LTLB_WFF st p is simple holds
( ( (SAT M) . [i,p] = 1 implies p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) & ( p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) implies (SAT M) . [i,p] = 1 ) )let i be
Element of
NAT ;
for p being Element of LTLB_WFF st p is simple holds
( ( (SAT M) . [i,p] = 1 implies p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) & ( p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) implies (SAT M) . [i,p] = 1 ) )let p be
Element of
LTLB_WFF ;
( p is simple implies ( ( (SAT M) . [i,p] = 1 implies p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) & ( p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) implies (SAT M) . [i,p] = 1 ) ) )assume A10:
p is
simple
;
( ( (SAT M) . [i,p] = 1 implies p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) & ( p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) implies (SAT M) . [i,p] = 1 ) )then A11:
ex
n being
Element of
NAT st
p = prop n
by HILBERT2:def 8;
A12:
M . i = { q where q is Element of LTLB_WFF : ( q is simple & q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) }
by A8;
assume
p in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1)
;
(SAT M) . [i,p] = 1then
p in M . i
by A12, A10;
hence
(SAT M) . [i,p] = 1
by LTLAXIO1:def 11, A11;
verum end;
A14:
now for r, q being Element of LTLB_WFF st S2[r] & S2[q] holds
( S2[r 'U' q] & S2[r => q] )let r,
q be
Element of
LTLB_WFF ;
( S2[r] & S2[q] implies ( S2[r 'U' q] & S2[r => q] ) )set ruq =
r 'U' q;
assume that A15:
S2[
r]
and A16:
S2[
q]
;
( S2[r 'U' q] & S2[r => q] )thus
S2[
r 'U' q]
S2[r => q]proof
let i be
Element of
NAT ;
( r 'U' q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) implies ( (SAT M) . [i,(r 'U' q)] = 1 iff r 'U' q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) )
defpred S3[
Nat]
means not
(SAT M) . [P,q] = 1;
set Q = the
pnptree of
Pg . ( the complete path of the pnptree of Pg . i);
defpred S4[
Element of
NAT ]
means ex
k being
Element of
NAT st
(
i < k &
k < P & not
(SAT M) . [k,r] = 1 );
assume A17:
r 'U' q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))
;
( (SAT M) . [i,(r 'U' q)] = 1 iff r 'U' q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
assume
r 'U' q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1)
;
(SAT M) . [i,(r 'U' q)] = 1
then consider j being
Element of
NAT such that A23:
j > i
and A24:
q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . j)) `1)
and A25:
for
k being
Element of
NAT st
i < k &
k < j holds
r in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . k)) `1)
by Def14;
q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . j))
by A24, XBOOLE_0:def 3;
then
(SAT M) . [j,q] = 1
by A24, A16;
hence
(SAT M) . [i,(r 'U' q)] = 1
by A26, Th5, A23;
verum
end; thus
S2[
r => q]
verumproof
let i be
Element of
NAT ;
( r => q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) implies ( (SAT M) . [i,(r => q)] = 1 iff r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) ) )
set Q = the
pnptree of
Pg . ( the complete path of the pnptree of Pg . i);
assume A28:
r => q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))
;
( (SAT M) . [i,(r => q)] = 1 iff r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
A29:
tau (rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))) = rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))
by LTLAXIO3:def 11;
then A30:
r in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))
by A28, LTLAXIO3:19;
A31:
q in rng ( the pnptree of Pg . ( the complete path of the pnptree of Pg . i))
by A28, LTLAXIO3:19, A29;
A32:
(
(SAT M) . [i,r] = 1 or
(SAT M) . [i,r] = 0 )
by XBOOLEAN:def 3;
hereby ( r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) implies (SAT M) . [i,(r => q)] = 1 )
assume
(SAT M) . [i,(r => q)] = 1
;
r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1)then
((SAT M) . [i,r]) => ((SAT M) . [i,q]) = 1
by LTLAXIO1:def 11;
then
( not
r in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) or
q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
by A32, A15, A16, A30, A31;
then
(
r in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `2) or
q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
by A30, XBOOLE_0:def 3;
hence
r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1)
by LTLAXIO3:33, A28, A30, A31;
verum
end;
assume
r => q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1)
;
(SAT M) . [i,(r => q)] = 1
then
(
r in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `2) or
q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
by LTLAXIO3:33, A28, A30, A31;
then
( not
r in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) or
q in rng (( the pnptree of Pg . ( the complete path of the pnptree of Pg . i)) `1) )
by XBOOLE_0:3, LTLAXIO3:30;
then
((SAT M) . [i,r]) => ((SAT M) . [i,q]) = 1
by A15, A16, A30, A31, A32;
hence
(SAT M) . [i,(r => q)] = 1
by LTLAXIO1:def 11;
verum
end; end;
A33:
S2[ TFALSUM ]
by LTLAXIO3:32, LTLAXIO1:def 11;
A34:
for A being Element of LTLB_WFF holds S2[A]
from HILBERT2:sch 2(A33, A13, A14);
A35: the pnptree of Pg . ( the complete path of the pnptree of Pg . 0) =
the pnptree of Pg . {}
by Def13
.=
Pg
by Def11
;
now for i being Nat st i in dom (nega (P `2)) holds
(SAT M) . [0,((nega (P `2)) /. i)] = 1let i be
Nat;
( i in dom (nega (P `2)) implies (SAT M) . [0,((nega (P `2)) /. i)] = 1 )set nA =
(nega (P `2)) /. i;
set A =
(P `2) /. i;
assume A36:
i in dom (nega (P `2))
;
(SAT M) . [0,((nega (P `2)) /. i)] = 1
len (nega (P `2)) = len (P `2)
by LTLAXIO2:def 4;
then A37:
i in dom (P `2)
by A36, FINSEQ_3:29;
then
(P `2) . i in rng (P `2)
by FUNCT_1:3;
then
(P `2) /. i in rng (P `2)
by PARTFUN1:def 6, A37;
then A38:
(
(P `2) /. i in rng (Pg `2) & not
(P `2) /. i in rng (Pg `1) )
by A4, LTLAXIO3:30, XBOOLE_0:3;
rng (Pg `2) c= rng Pg
by XBOOLE_1:7;
then A39:
not
(SAT M) . [0,((P `2) /. i)] = 1
by A38, A35, A34;
thus (SAT M) . [0,((nega (P `2)) /. i)] =
(SAT M) . [0,('not' ((P `2) /. i))]
by LTLAXIO2:8, A37
.=
1
by A39, XBOOLEAN:def 3, LTLAXIO1:5
;
verum end;
then A40:
(SAT M) . [0,H2( nega (P `2))] = 1
by Th6;
then
(SAT M) . [0,H2(P `1 )] = 1
by Th6;
then
(SAT M) . [0,(P ^)] = 1
by A40, LTLAXIO1:7;
hence
P ^ is satisfiable
; verum