:: BOOLMARK semantic presentation
theorem Th1: :: BOOLMARK:1
theorem Th2: :: BOOLMARK:2
theorem Th3: :: BOOLMARK:3
:: deftheorem Def1 defines Bool_marks_of BOOLMARK:def 1 :
:: deftheorem Def2 defines is_firable_on BOOLMARK:def 2 :
:: deftheorem Def3 defines Firing BOOLMARK:def 3 :
:: deftheorem Def4 defines is_firable_on BOOLMARK:def 4 :
definition
let c1 be
PT_net_Str ;
let c2 be
Boolean_marking of
c1;
let c3 be
FinSequence of the
Transitions of
c1;
func Firing c3,
c2 -> Boolean_marking of
a1 means :
Def5:
:: BOOLMARK:def 5
a4 = a2 if a3 = {} otherwise ex
b1 being
FinSequence of
Bool_marks_of a1 st
(
len a3 = len b1 &
a4 = b1 /. (len b1) &
b1 /. 1
= Firing (a3 /. 1),
a2 & ( for
b2 being
Nat st
b2 < len a3 &
b2 > 0 holds
b1 /. (b2 + 1) = Firing (a3 /. (b2 + 1)),
(b1 /. b2) ) );
existence
( ( c3 = {} implies ex b1 being Boolean_marking of c1 st b1 = c2 ) & ( not c3 = {} implies ex b1 being Boolean_marking of c1ex b2 being FinSequence of Bool_marks_of c1 st
( len c3 = len b2 & b1 = b2 /. (len b2) & b2 /. 1 = Firing (c3 /. 1),c2 & ( for b3 being Nat st b3 < len c3 & b3 > 0 holds
b2 /. (b3 + 1) = Firing (c3 /. (b3 + 1)),(b2 /. b3) ) ) ) )
uniqueness
for b1, b2 being Boolean_marking of c1 holds
( ( c3 = {} & b1 = c2 & b2 = c2 implies b1 = b2 ) & ( not c3 = {} & ex b3 being FinSequence of Bool_marks_of c1 st
( len c3 = len b3 & b1 = b3 /. (len b3) & b3 /. 1 = Firing (c3 /. 1),c2 & ( for b4 being Nat st b4 < len c3 & b4 > 0 holds
b3 /. (b4 + 1) = Firing (c3 /. (b4 + 1)),(b3 /. b4) ) ) & ex b3 being FinSequence of Bool_marks_of c1 st
( len c3 = len b3 & b2 = b3 /. (len b3) & b3 /. 1 = Firing (c3 /. 1),c2 & ( for b4 being Nat st b4 < len c3 & b4 > 0 holds
b3 /. (b4 + 1) = Firing (c3 /. (b4 + 1)),(b3 /. b4) ) ) implies b1 = b2 ) )
correctness
consistency
for b1 being Boolean_marking of c1 holds verum;
;
end;
:: deftheorem Def5 defines Firing BOOLMARK:def 5 :
theorem Th4: :: BOOLMARK:4
canceled;
theorem Th5: :: BOOLMARK:5
theorem Th6: :: BOOLMARK:6
E9:
now
let c1 be
PT_net_Str ;
let c2 be non
empty Subset of the
Places of
c1;
assume E10:
for
b1 being
Boolean_marking of
c1 st
b1 .: c2 = {FALSE } holds
for
b2 being
transition of
c1 st
b2 is_firable_on b1 holds
(Firing b2,b1) .: c2 = {FALSE }
;
assume
not
c2 is
Deadlock-like
;
then
not
*' c2 c= c2 *'
by PETRI:def 5;
then consider c3 being
transition of
c1 such that E11:
c3 in *' c2
and E12:
not
c3 in c2 *'
by SUBSET_1:7;
set c4 =
(the Places of c1 --> TRUE ) +* (c2 --> FALSE );
E13:
[#] the
Places of
c1 = the
Places of
c1
by SUBSET_1:def 4;
(
dom (the Places of c1 --> TRUE ) = the
Places of
c1 &
dom (c2 --> FALSE ) = c2 )
by FUNCOP_1:19;
then E14:
dom ((the Places of c1 --> TRUE ) +* (c2 --> FALSE )) =
the
Places of
c1 \/ c2
by FUNCT_4:def 1
.=
the
Places of
c1
by E13, SUBSET_1:28
;
(
rng (the Places of c1 --> TRUE ) c= {TRUE } &
rng (c2 --> FALSE ) c= {FALSE } )
by FUNCOP_1:19;
then
(
rng (the Places of c1 --> TRUE ) c= BOOLEAN &
rng (c2 --> FALSE ) c= BOOLEAN )
by XBOOLE_1:1;
then E15:
(rng (the Places of c1 --> TRUE )) \/ (rng (c2 --> FALSE )) c= BOOLEAN
by XBOOLE_1:8;
rng ((the Places of c1 --> TRUE ) +* (c2 --> FALSE )) c= (rng (the Places of c1 --> TRUE )) \/ (rng (c2 --> FALSE ))
by FUNCT_4:18;
then
rng ((the Places of c1 --> TRUE ) +* (c2 --> FALSE )) c= BOOLEAN
by E15, XBOOLE_1:1;
then
(the Places of c1 --> TRUE ) +* (c2 --> FALSE ) in Funcs the
Places of
c1,
BOOLEAN
by E14, FUNCT_2:def 2;
then reconsider c5 =
(the Places of c1 --> TRUE ) +* (c2 --> FALSE ) as
Boolean_marking of
c1 ;
E16:
c5 .: c2 = {FALSE }
by Th5;
c2 misses *' {c3}
by E12, PETRI:19;
then E17:
(the Places of c1 --> TRUE ) .: (*' {c3}) = c5 .: (*' {c3})
by Th3;
E18:
rng (the Places of c1 --> TRUE ) c= {TRUE }
by FUNCOP_1:19;
(the Places of c1 --> TRUE ) .: (*' {c3}) c= rng (the Places of c1 --> TRUE )
by RELAT_1:144;
then
c5 .: (*' {c3}) c= {TRUE }
by E17, E18, XBOOLE_1:1;
then E19:
c3 is_firable_on c5
by Def2;
{c3} *' meets c2
by E11, PETRI:20;
then consider c6 being
set such that E20:
c6 in ({c3} *' ) /\ c2
by XBOOLE_0:4;
E21:
(
c6 in {c3} *' &
c6 in c2 )
by E20, XBOOLE_0:def 3;
then
(Firing c3,c5) . c6 = TRUE
by Th6;
then
TRUE in (Firing c3,c5) .: c2
by E21, FUNCT_2:43;
then
(Firing c3,c5) .: c2 <> {FALSE }
by MARGREL1:38, TARSKI:def 1;
hence
contradiction
by E10, E16, E19;
end;
theorem Th7: :: BOOLMARK:7
theorem Th8: :: BOOLMARK:8
theorem Th9: :: BOOLMARK:9
canceled;
theorem Th10: :: BOOLMARK:10
theorem Th11: :: BOOLMARK:11
theorem Th12: :: BOOLMARK:12
theorem Th13: :: BOOLMARK:13
theorem Th14: :: BOOLMARK:14