:: BOOLMARK semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
theorem Th1: :: BOOLMARK:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th2: :: BOOLMARK:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th3: :: BOOLMARK:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines Bool_marks_of BOOLMARK:def 1 :
:: deftheorem Def2 defines is_firable_on BOOLMARK:def 2 :
:: deftheorem defines Firing BOOLMARK:def 3 :
:: deftheorem Def4 defines is_firable_on BOOLMARK:def 4 :
definition
let PTN be
PT_net_Str ;
let M0 be
Boolean_marking of
PTN;
let Q be
FinSequence of the
Transitions of
PTN;
func Firing Q,
M0 -> Boolean_marking of
PTN means :
Def5:
:: BOOLMARK:def 5
it = M0 if Q = {} otherwise ex
M being
FinSequence of
Bool_marks_of PTN st
(
len Q = len M &
it = M /. (len M) &
M /. 1
= Firing (Q /. 1),
M0 & ( for
i being
Nat st
i < len Q &
i > 0 holds
M /. (i + 1) = Firing (Q /. (i + 1)),
(M /. i) ) );
existence
( ( Q = {} implies ex b1 being Boolean_marking of PTN st b1 = M0 ) & ( not Q = {} implies ex b1 being Boolean_marking of PTN ex M being FinSequence of Bool_marks_of PTN st
( len Q = len M & b1 = M /. (len M) & M /. 1 = Firing (Q /. 1),M0 & ( for i being Nat st i < len Q & i > 0 holds
M /. (i + 1) = Firing (Q /. (i + 1)),(M /. i) ) ) ) )
uniqueness
for b1, b2 being Boolean_marking of PTN holds
( ( Q = {} & b1 = M0 & b2 = M0 implies b1 = b2 ) & ( not Q = {} & ex M being FinSequence of Bool_marks_of PTN st
( len Q = len M & b1 = M /. (len M) & M /. 1 = Firing (Q /. 1),M0 & ( for i being Nat st i < len Q & i > 0 holds
M /. (i + 1) = Firing (Q /. (i + 1)),(M /. i) ) ) & ex M being FinSequence of Bool_marks_of PTN st
( len Q = len M & b2 = M /. (len M) & M /. 1 = Firing (Q /. 1),M0 & ( for i being Nat st i < len Q & i > 0 holds
M /. (i + 1) = Firing (Q /. (i + 1)),(M /. i) ) ) implies b1 = b2 ) )
correctness
consistency
for b1 being Boolean_marking of PTN holds verum;
;
end;
:: deftheorem Def5 defines Firing BOOLMARK:def 5 :
theorem :: BOOLMARK:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
canceled;
theorem Th5: :: BOOLMARK:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th6: :: BOOLMARK:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)
Lm1:
now
let PTN be
PT_net_Str ;
:: thesis: for Sd being non empty Subset of the Places of PTN st ( for M0 being Boolean_marking of PTN st M0 .: Sd = {FALSE } holds
for t being transition of PTN st t is_firable_on M0 holds
(Firing t,M0) .: Sd = {FALSE } ) holds
Sd is Deadlock-likelet Sd be non
empty Subset of the
Places of
PTN;
:: thesis: ( ( for M0 being Boolean_marking of PTN st M0 .: Sd = {FALSE } holds
for t being transition of PTN st t is_firable_on M0 holds
(Firing t,M0) .: Sd = {FALSE } ) implies Sd is Deadlock-like )assume A1:
for
M0 being
Boolean_marking of
PTN st
M0 .: Sd = {FALSE } holds
for
t being
transition of
PTN st
t is_firable_on M0 holds
(Firing t,M0) .: Sd = {FALSE }
;
:: thesis: Sd is Deadlock-likeassume
not
Sd is
Deadlock-like
;
:: thesis: contradictionthen
not
*' Sd c= Sd *'
by PETRI:def 5;
then consider t being
transition of
PTN such that A2:
t in *' Sd
and A3:
not
t in Sd *'
by SUBSET_1:7;
set M0 =
(the Places of PTN --> TRUE ) +* (Sd --> FALSE );
A4:
[#] the
Places of
PTN = the
Places of
PTN
by SUBSET_1:def 4;
(
dom (the Places of PTN --> TRUE ) = the
Places of
PTN &
dom (Sd --> FALSE ) = Sd )
by FUNCOP_1:19;
then A5:
dom ((the Places of PTN --> TRUE ) +* (Sd --> FALSE )) =
the
Places of
PTN \/ Sd
by FUNCT_4:def 1
.=
the
Places of
PTN
by A4, SUBSET_1:28
;
(
rng (the Places of PTN --> TRUE ) c= {TRUE } &
rng (Sd --> FALSE ) c= {FALSE } )
by FUNCOP_1:19;
then
(
rng (the Places of PTN --> TRUE ) c= BOOLEAN &
rng (Sd --> FALSE ) c= BOOLEAN )
by XBOOLE_1:1;
then A6:
(rng (the Places of PTN --> TRUE )) \/ (rng (Sd --> FALSE )) c= BOOLEAN
by XBOOLE_1:8;
rng ((the Places of PTN --> TRUE ) +* (Sd --> FALSE )) c= (rng (the Places of PTN --> TRUE )) \/ (rng (Sd --> FALSE ))
by FUNCT_4:18;
then
rng ((the Places of PTN --> TRUE ) +* (Sd --> FALSE )) c= BOOLEAN
by A6, XBOOLE_1:1;
then
(the Places of PTN --> TRUE ) +* (Sd --> FALSE ) in Funcs the
Places of
PTN,
BOOLEAN
by A5, FUNCT_2:def 2;
then reconsider M0 =
(the Places of PTN --> TRUE ) +* (Sd --> FALSE ) as
Boolean_marking of
PTN ;
A7:
M0 .: Sd = {FALSE }
by Th5;
Sd misses *' {t}
by A3, PETRI:19;
then A8:
(the Places of PTN --> TRUE ) .: (*' {t}) = M0 .: (*' {t})
by Th3;
A9:
rng (the Places of PTN --> TRUE ) c= {TRUE }
by FUNCOP_1:19;
(the Places of PTN --> TRUE ) .: (*' {t}) c= rng (the Places of PTN --> TRUE )
by RELAT_1:144;
then
M0 .: (*' {t}) c= {TRUE }
by A8, A9, XBOOLE_1:1;
then A10:
t is_firable_on M0
by Def2;
{t} *' meets Sd
by A2, PETRI:20;
then consider s being
set such that A11:
s in ({t} *' ) /\ Sd
by XBOOLE_0:4;
A12:
(
s in {t} *' &
s in Sd )
by A11, XBOOLE_0:def 3;
then
(Firing t,M0) . s = TRUE
by Th6;
then
TRUE in (Firing t,M0) .: Sd
by A12, FUNCT_2:43;
then
(Firing t,M0) .: Sd <> {FALSE }
by MARGREL1:38, TARSKI:def 1;
hence
contradiction
by A1, A7, A10;
:: thesis: verum
end;
theorem :: BOOLMARK:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th8: :: BOOLMARK:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: BOOLMARK:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
canceled;
theorem Th10: :: BOOLMARK:10 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th11: :: BOOLMARK:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th12: :: BOOLMARK:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th13: :: BOOLMARK:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: BOOLMARK:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)