defpred S1[ Element of LTLB_WFF , Element of LTLB_WFF , set , set , set ] means ( ( $3 is Element of BOOLEAN & $4 is Element of BOOLEAN implies ex a, b, c being Element of BOOLEAN st
( a = $3 & b = $4 & c = $5 & c = a => b ) ) & ( ( not $3 is Element of BOOLEAN or not $4 is Element of BOOLEAN ) implies $5 = {} ) );
defpred S2[ Element of LTLB_WFF , Element of LTLB_WFF , set , set , set ] means $5 = f . ($1 'U' $2);
deffunc H1( Element of NAT ) -> Element of BOOLEAN = f . (prop $1);
A1:
for A, B being Element of LTLB_WFF
for x, y being set ex z being set st S1[A,B,x,y,z]
proof
let A,
B be
Element of
LTLB_WFF ;
for x, y being set ex z being set st S1[A,B,x,y,z]let x,
y be
set ;
ex z being set st S1[A,B,x,y,z]
end;
A8:
for p, q being Element of LTLB_WFF
for a, b, c, d being set st S2[p,q,a,b,c] & S2[p,q,a,b,d] holds
c = d
;
A9:
for p, q being Element of LTLB_WFF
for a, b, c, d being set st S1[p,q,a,b,c] & S1[p,q,a,b,d] holds
c = d
;
A10:
for A, B being Element of LTLB_WFF
for x, y being set ex z being set st S2[A,B,x,y,z]
;
consider val being ManySortedSet of LTLB_WFF such that
A11:
( val . TFALSUM = 0 & ( for n being Element of NAT holds val . (prop n) = H1(n) ) & ( for p, q being Element of LTLB_WFF holds
( S2[p,q,val . p,val . q,val . (p 'U' q)] & S1[p,q,val . p,val . q,val . (p => q)] ) ) )
from HILBERT2:sch 3(A10, A1, A8, A9);
dom val = LTLB_WFF
by PARTFUN1:def 2;
then reconsider val = val as Function of LTLB_WFF,BOOLEAN by A12, FUNCT_2:3;
take
val
; for A, B being Element of LTLB_WFF
for n being Element of NAT holds
( val . TFALSUM = 0 & val . (prop n) = f . (prop n) & val . (A => B) = (val . A) => (val . B) & val . (A 'U' B) = f . (A 'U' B) )
hence
for A, B being Element of LTLB_WFF
for n being Element of NAT holds
( val . TFALSUM = 0 & val . (prop n) = f . (prop n) & val . (A => B) = (val . A) => (val . B) & val . (A 'U' B) = f . (A 'U' B) )
by A11; verum