Lm1:
for X being set
for f being FinSequence of X
for i being Nat st 1 <= i & i <= len f holds
f . i = f /. i
definition
let M be
LTLModel;
func SAT M -> Function of
[:NAT,LTLB_WFF:],
BOOLEAN means :
Def11:
for
n being
Element of
NAT holds
(
it . [n,TFALSUM] = 0 & ( for
k being
Element of
NAT holds
(
it . [n,(prop k)] = 1 iff
prop k in M . n ) ) & ( for
p,
q being
Element of
LTLB_WFF holds
(
it . [n,(p => q)] = (it . [n,p]) => (it . [n,q]) & (
it . [n,(p 'U' q)] = 1 implies ex
i being
Element of
NAT st
(
0 < i &
it . [(n + i),q] = 1 & ( for
j being
Element of
NAT st 1
<= j &
j < i holds
it . [(n + j),p] = 1 ) ) ) & ( ex
i being
Element of
NAT st
(
0 < i &
it . [(n + i),q] = 1 & ( for
j being
Element of
NAT st 1
<= j &
j < i holds
it . [(n + j),p] = 1 ) ) implies
it . [n,(p 'U' q)] = 1 ) ) ) );
existence
ex b1 being Function of [:NAT,LTLB_WFF:],BOOLEAN st
for n being Element of NAT holds
( b1 . [n,TFALSUM] = 0 & ( for k being Element of NAT holds
( b1 . [n,(prop k)] = 1 iff prop k in M . n ) ) & ( for p, q being Element of LTLB_WFF holds
( b1 . [n,(p => q)] = (b1 . [n,p]) => (b1 . [n,q]) & ( b1 . [n,(p 'U' q)] = 1 implies ex i being Element of NAT st
( 0 < i & b1 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b1 . [(n + j),p] = 1 ) ) ) & ( ex i being Element of NAT st
( 0 < i & b1 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b1 . [(n + j),p] = 1 ) ) implies b1 . [n,(p 'U' q)] = 1 ) ) ) )
uniqueness
for b1, b2 being Function of [:NAT,LTLB_WFF:],BOOLEAN st ( for n being Element of NAT holds
( b1 . [n,TFALSUM] = 0 & ( for k being Element of NAT holds
( b1 . [n,(prop k)] = 1 iff prop k in M . n ) ) & ( for p, q being Element of LTLB_WFF holds
( b1 . [n,(p => q)] = (b1 . [n,p]) => (b1 . [n,q]) & ( b1 . [n,(p 'U' q)] = 1 implies ex i being Element of NAT st
( 0 < i & b1 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b1 . [(n + j),p] = 1 ) ) ) & ( ex i being Element of NAT st
( 0 < i & b1 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b1 . [(n + j),p] = 1 ) ) implies b1 . [n,(p 'U' q)] = 1 ) ) ) ) ) & ( for n being Element of NAT holds
( b2 . [n,TFALSUM] = 0 & ( for k being Element of NAT holds
( b2 . [n,(prop k)] = 1 iff prop k in M . n ) ) & ( for p, q being Element of LTLB_WFF holds
( b2 . [n,(p => q)] = (b2 . [n,p]) => (b2 . [n,q]) & ( b2 . [n,(p 'U' q)] = 1 implies ex i being Element of NAT st
( 0 < i & b2 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b2 . [(n + j),p] = 1 ) ) ) & ( ex i being Element of NAT st
( 0 < i & b2 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b2 . [(n + j),p] = 1 ) ) implies b2 . [n,(p 'U' q)] = 1 ) ) ) ) ) holds
b1 = b2
end;
::
deftheorem Def11 defines
SAT LTLAXIO1:def 11 :
for M being LTLModel
for b2 being Function of [:NAT,LTLB_WFF:],BOOLEAN holds
( b2 = SAT M iff for n being Element of NAT holds
( b2 . [n,TFALSUM] = 0 & ( for k being Element of NAT holds
( b2 . [n,(prop k)] = 1 iff prop k in M . n ) ) & ( for p, q being Element of LTLB_WFF holds
( b2 . [n,(p => q)] = (b2 . [n,p]) => (b2 . [n,q]) & ( b2 . [n,(p 'U' q)] = 1 implies ex i being Element of NAT st
( 0 < i & b2 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b2 . [(n + j),p] = 1 ) ) ) & ( ex i being Element of NAT st
( 0 < i & b2 . [(n + i),q] = 1 & ( for j being Element of NAT st 1 <= j & j < i holds
b2 . [(n + j),p] = 1 ) ) implies b2 . [n,(p 'U' q)] = 1 ) ) ) ) );