Lm1:
now for PTN being Petri_net
for Sd being non empty Subset of the carrier 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-like
let PTN be
Petri_net;
for Sd being non empty Subset of the carrier 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-like let Sd be non
empty Subset of the
carrier of
PTN;
( ( 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 )set M0 =
( the carrier of PTN --> TRUE) +* (Sd --> FALSE);
A1:
[#] the
carrier of
PTN = the
carrier of
PTN
;
(
dom ( the carrier of PTN --> TRUE) = the
carrier of
PTN &
dom (Sd --> FALSE) = Sd )
by FUNCOP_1:13;
then A2:
dom (( the carrier of PTN --> TRUE) +* (Sd --> FALSE)) =
the
carrier of
PTN \/ Sd
by FUNCT_4:def 1
.=
the
carrier of
PTN
by A1, SUBSET_1:11
;
A3:
rng (( the carrier of PTN --> TRUE) +* (Sd --> FALSE)) c= (rng ( the carrier of PTN --> TRUE)) \/ (rng (Sd --> FALSE))
by FUNCT_4:17;
rng (Sd --> FALSE) c= {FALSE}
by FUNCOP_1:13;
then A4:
rng (Sd --> FALSE) c= BOOLEAN
by XBOOLE_1:1;
rng ( the carrier of PTN --> TRUE) c= {TRUE}
by FUNCOP_1:13;
then
rng ( the carrier of PTN --> TRUE) c= BOOLEAN
by XBOOLE_1:1;
then
(rng ( the carrier of PTN --> TRUE)) \/ (rng (Sd --> FALSE)) c= BOOLEAN
by A4, XBOOLE_1:8;
then
rng (( the carrier of PTN --> TRUE) +* (Sd --> FALSE)) c= BOOLEAN
by A3, XBOOLE_1:1;
then reconsider M0 =
( the carrier of PTN --> TRUE) +* (Sd --> FALSE) as
Boolean_marking of
PTN by A2, FUNCT_2:def 2;
assume A5:
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}
;
Sd is Deadlock-like assume
not
Sd is
Deadlock-like
;
contradictionthen
not
*' Sd c= Sd *'
;
then consider t being
transition of
PTN such that A6:
t in *' Sd
and A7:
not
t in Sd *'
by SUBSET_1:2;
{t} *' meets Sd
by A6, PETRI:20;
then consider s being
object such that A8:
s in ({t} *') /\ Sd
by XBOOLE_0:4;
s in {t} *'
by A8, XBOOLE_0:def 4;
then A9:
(Firing (t,M0)) . s = TRUE
by Th5;
s in Sd
by A8, XBOOLE_0:def 4;
then
TRUE in (Firing (t,M0)) .: Sd
by A9, FUNCT_2:35;
then A10:
(Firing (t,M0)) .: Sd <> {FALSE}
by TARSKI:def 1;
Sd misses *' {t}
by A7, PETRI:19;
then A11:
( the carrier of PTN --> TRUE) .: (*' {t}) = M0 .: (*' {t})
by Th3;
(
rng ( the carrier of PTN --> TRUE) c= {TRUE} &
( the carrier of PTN --> TRUE) .: (*' {t}) c= rng ( the carrier of PTN --> TRUE) )
by FUNCOP_1:13, RELAT_1:111;
then
M0 .: (*' {t}) c= {TRUE}
by A11, XBOOLE_1:1;
then A12:
t is_firable_on M0
;
M0 .: Sd = {FALSE}
by Th4;
hence
contradiction
by A5, A12, A10;
verum
end;