Article FF_SIEC, MML version 4.99.1005
:: FF_SIEC:funcnot 1 => FF_SIEC:func 1
definition
let a1, a2 be set;
assume a1 misses a2;
func PTempty_f_net(A1,A2) -> strict Petri Net equals
Net(#a1,a2,{}#);
end;
:: FF_SIEC:def 4
theorem
for b1, b2 being set
st b1 misses b2
holds PTempty_f_net(b1,b2) = Net(#b1,b2,{}#);
:: FF_SIEC:funcnot 2 => FF_SIEC:func 2
definition
let a1 be set;
func Tempty_f_net A1 -> strict Petri Net equals
PTempty_f_net(a1,{});
end;
:: FF_SIEC:def 5
theorem
for b1 being set holds
Tempty_f_net b1 = PTempty_f_net(b1,{});
:: FF_SIEC:funcnot 3 => FF_SIEC:func 3
definition
let a1 be set;
func Pempty_f_net A1 -> strict Petri Net equals
PTempty_f_net({},a1);
end;
:: FF_SIEC:def 6
theorem
for b1 being set holds
Pempty_f_net b1 = PTempty_f_net({},b1);
:: FF_SIEC:funcnot 4 => FF_SIEC:func 4
definition
let a1 be set;
func Tsingle_f_net A1 -> strict Petri Net equals
PTempty_f_net({},{a1});
end;
:: FF_SIEC:def 7
theorem
for b1 being set holds
Tsingle_f_net b1 = PTempty_f_net({},{b1});
:: FF_SIEC:funcnot 5 => FF_SIEC:func 5
definition
let a1 be set;
func Psingle_f_net A1 -> strict Petri Net equals
PTempty_f_net({a1},{});
end;
:: FF_SIEC:def 8
theorem
for b1 being set holds
Psingle_f_net b1 = PTempty_f_net({b1},{});
:: FF_SIEC:funcnot 6 => FF_SIEC:func 6
definition
func empty_f_net -> strict Petri Net equals
PTempty_f_net({},{});
end;
:: FF_SIEC:def 9
theorem
empty_f_net = PTempty_f_net({},{});
:: FF_SIEC:th 2
theorem
for b1, b2 being set
st b1 misses b2
holds the Places of PTempty_f_net(b1,b2) = b1 & the Transitions of PTempty_f_net(b1,b2) = b2 & the Flow of PTempty_f_net(b1,b2) = {};
:: FF_SIEC:th 3
theorem
for b1 being set holds
the Places of Tempty_f_net b1 = b1 & the Transitions of Tempty_f_net b1 = {} & the Flow of Tempty_f_net b1 = {};
:: FF_SIEC:th 4
theorem
for b1 being set holds
the Places of Pempty_f_net b1 = {} & the Transitions of Pempty_f_net b1 = b1 & the Flow of Pempty_f_net b1 = {};
:: FF_SIEC:th 5
theorem
for b1 being set holds
the Places of Tsingle_f_net b1 = {} & the Transitions of Tsingle_f_net b1 = {b1} & the Flow of Tsingle_f_net b1 = {};
:: FF_SIEC:th 6
theorem
for b1 being set holds
the Places of Psingle_f_net b1 = {b1} & the Transitions of Psingle_f_net b1 = {} & the Flow of Psingle_f_net b1 = {};
:: FF_SIEC:th 7
theorem
the Places of empty_f_net = {} & the Transitions of empty_f_net = {} & the Flow of empty_f_net = {};
:: FF_SIEC:th 11
theorem
for b1, b2 being set
for b3 being Petri Net holds
([b1,b2] in the Flow of b3 & b1 in the Transitions of b3 implies not b1 in the Places of b3 & not b2 in the Transitions of b3 & b2 in the Places of b3) &
([b1,b2] in the Flow of b3 & b2 in the Transitions of b3 implies not b2 in the Places of b3 & not b1 in the Transitions of b3 & b1 in the Places of b3) &
([b1,b2] in the Flow of b3 & b1 in the Places of b3 implies not b2 in the Places of b3 & not b1 in the Transitions of b3 & b2 in the Transitions of b3) &
([b1,b2] in the Flow of b3 & b2 in the Places of b3 implies not b1 in the Places of b3 & not b2 in the Transitions of b3 & b1 in the Transitions of b3);
:: FF_SIEC:th 13
theorem
for b1 being Petri Net holds
the Flow of b1 c= [:Elements b1,Elements b1:] &
(the Flow of b1) ~ c= [:Elements b1,Elements b1:];
:: FF_SIEC:th 14
theorem
for b1 being Petri Net holds
proj2 ((the Flow of b1) | the Transitions of b1) c= the Places of b1 &
proj2 ((the Flow of b1) ~ | the Transitions of b1) c= the Places of b1 &
proj2 ((the Flow of b1) | the Places of b1) c= the Transitions of b1 &
proj2 ((the Flow of b1) ~ | the Places of b1) c= the Transitions of b1 &
proj2 id the Transitions of b1 c= the Transitions of b1 &
proj1 id the Transitions of b1 c= the Transitions of b1 &
proj2 id the Places of b1 c= the Places of b1 &
proj1 id the Places of b1 c= the Places of b1;
:: FF_SIEC:th 15
theorem
for b1 being Petri Net holds
proj2 ((the Flow of b1) | the Transitions of b1) misses proj1 ((the Flow of b1) | the Transitions of b1) &
proj2 ((the Flow of b1) | the Transitions of b1) misses proj1 ((the Flow of b1) ~ | the Transitions of b1) &
proj2 ((the Flow of b1) | the Transitions of b1) misses proj1 id the Transitions of b1 &
proj2 ((the Flow of b1) ~ | the Transitions of b1) misses proj1 ((the Flow of b1) | the Transitions of b1) &
proj2 ((the Flow of b1) ~ | the Transitions of b1) misses proj1 ((the Flow of b1) ~ | the Transitions of b1) &
proj2 ((the Flow of b1) ~ | the Transitions of b1) misses proj1 id the Transitions of b1 &
proj1 ((the Flow of b1) | the Transitions of b1) misses proj2 ((the Flow of b1) | the Transitions of b1) &
proj1 ((the Flow of b1) | the Transitions of b1) misses proj2 ((the Flow of b1) ~ | the Transitions of b1) &
proj1 ((the Flow of b1) | the Transitions of b1) misses proj2 id the Places of b1 &
proj1 ((the Flow of b1) ~ | the Transitions of b1) misses proj2 ((the Flow of b1) | the Transitions of b1) &
proj1 ((the Flow of b1) ~ | the Transitions of b1) misses proj2 ((the Flow of b1) ~ | the Transitions of b1) &
proj1 ((the Flow of b1) ~ | the Transitions of b1) misses proj2 id the Places of b1 &
proj2 ((the Flow of b1) | the Places of b1) misses proj1 ((the Flow of b1) | the Places of b1) &
proj2 ((the Flow of b1) | the Places of b1) misses proj1 ((the Flow of b1) ~ | the Places of b1) &
proj2 ((the Flow of b1) | the Places of b1) misses proj1 id the Places of b1 &
proj2 ((the Flow of b1) ~ | the Places of b1) misses proj1 ((the Flow of b1) | the Places of b1) &
proj2 ((the Flow of b1) ~ | the Places of b1) misses proj1 ((the Flow of b1) ~ | the Places of b1) &
proj2 ((the Flow of b1) ~ | the Places of b1) misses proj1 id the Places of b1 &
proj1 ((the Flow of b1) | the Places of b1) misses proj2 ((the Flow of b1) | the Places of b1) &
proj1 ((the Flow of b1) | the Places of b1) misses proj2 ((the Flow of b1) ~ | the Places of b1) &
proj1 ((the Flow of b1) | the Places of b1) misses proj2 id the Transitions of b1 &
proj1 ((the Flow of b1) ~ | the Places of b1) misses proj2 ((the Flow of b1) | the Places of b1) &
proj1 ((the Flow of b1) ~ | the Places of b1) misses proj2 ((the Flow of b1) ~ | the Places of b1) &
proj1 ((the Flow of b1) ~ | the Places of b1) misses proj2 id the Transitions of b1;
:: FF_SIEC:th 16
theorem
for b1 being Petri Net holds
((the Flow of b1) | the Transitions of b1) * ((the Flow of b1) | the Transitions of b1) = {} &
((the Flow of b1) ~ | the Transitions of b1) * ((the Flow of b1) ~ | the Transitions of b1) = {} &
((the Flow of b1) | the Transitions of b1) * ((the Flow of b1) ~ | the Transitions of b1) = {} &
((the Flow of b1) ~ | the Transitions of b1) * ((the Flow of b1) | the Transitions of b1) = {} &
((the Flow of b1) | the Places of b1) * ((the Flow of b1) | the Places of b1) = {} &
((the Flow of b1) ~ | the Places of b1) * ((the Flow of b1) ~ | the Places of b1) = {} &
((the Flow of b1) | the Places of b1) * ((the Flow of b1) ~ | the Places of b1) = {} &
((the Flow of b1) ~ | the Places of b1) * ((the Flow of b1) | the Places of b1) = {};
:: FF_SIEC:th 17
theorem
for b1 being Petri Net holds
((the Flow of b1) | the Transitions of b1) * id the Places of b1 = (the Flow of b1) | the Transitions of b1 &
((the Flow of b1) ~ | the Transitions of b1) * id the Places of b1 = (the Flow of b1) ~ | the Transitions of b1 &
(id the Transitions of b1) * ((the Flow of b1) | the Transitions of b1) = (the Flow of b1) | the Transitions of b1 &
(id the Transitions of b1) * ((the Flow of b1) ~ | the Transitions of b1) = (the Flow of b1) ~ | the Transitions of b1 &
((the Flow of b1) | the Places of b1) * id the Transitions of b1 = (the Flow of b1) | the Places of b1 &
((the Flow of b1) ~ | the Places of b1) * id the Transitions of b1 = (the Flow of b1) ~ | the Places of b1 &
(id the Places of b1) * ((the Flow of b1) | the Places of b1) = (the Flow of b1) | the Places of b1 &
(id the Places of b1) * ((the Flow of b1) ~ | the Places of b1) = (the Flow of b1) ~ | the Places of b1 &
((the Flow of b1) | the Places of b1) * id the Transitions of b1 = (the Flow of b1) | the Places of b1 &
((the Flow of b1) ~ | the Places of b1) * id the Transitions of b1 = (the Flow of b1) ~ | the Places of b1 &
(id the Transitions of b1) * ((the Flow of b1) | the Places of b1) = {} &
(id the Transitions of b1) * ((the Flow of b1) ~ | the Places of b1) = {} &
((the Flow of b1) | the Places of b1) * id the Places of b1 = {} &
((the Flow of b1) ~ | the Places of b1) * id the Places of b1 = {} &
(id the Places of b1) * ((the Flow of b1) | the Transitions of b1) = {} &
(id the Places of b1) * ((the Flow of b1) ~ | the Transitions of b1) = {} &
((the Flow of b1) | the Transitions of b1) * id the Transitions of b1 = {} &
((the Flow of b1) ~ | the Transitions of b1) * id the Transitions of b1 = {};
:: FF_SIEC:th 18
theorem
for b1 being Petri Net holds
(the Flow of b1) ~ | the Transitions of b1 misses id Elements b1 &
(the Flow of b1) | the Transitions of b1 misses id Elements b1 &
(the Flow of b1) ~ | the Places of b1 misses id Elements b1 &
(the Flow of b1) | the Places of b1 misses id Elements b1;
:: FF_SIEC:th 19
theorem
for b1 being Petri Net holds
(((the Flow of b1) ~ | the Transitions of b1) \/ id the Places of b1) \ id Elements b1 = (the Flow of b1) ~ | the Transitions of b1 &
(((the Flow of b1) | the Transitions of b1) \/ id the Places of b1) \ id Elements b1 = (the Flow of b1) | the Transitions of b1 &
(((the Flow of b1) ~ | the Places of b1) \/ id the Places of b1) \ id Elements b1 = (the Flow of b1) ~ | the Places of b1 &
(((the Flow of b1) | the Places of b1) \/ id the Places of b1) \ id Elements b1 = (the Flow of b1) | the Places of b1 &
(((the Flow of b1) ~ | the Places of b1) \/ id the Transitions of b1) \ id Elements b1 = (the Flow of b1) ~ | the Places of b1 &
(((the Flow of b1) | the Places of b1) \/ id the Transitions of b1) \ id Elements b1 = (the Flow of b1) | the Places of b1 &
(((the Flow of b1) ~ | the Transitions of b1) \/ id the Transitions of b1) \ id Elements b1 = (the Flow of b1) ~ | the Transitions of b1 &
(((the Flow of b1) | the Transitions of b1) \/ id the Transitions of b1) \ id Elements b1 = (the Flow of b1) | the Transitions of b1;
:: FF_SIEC:th 20
theorem
for b1 being Petri Net holds
((the Flow of b1) | the Places of b1) ~ = (the Flow of b1) ~ | the Transitions of b1 &
((the Flow of b1) | the Transitions of b1) ~ = (the Flow of b1) ~ | the Places of b1;
:: FF_SIEC:th 21
theorem
for b1 being Petri Net holds
((the Flow of b1) | the Places of b1) \/ ((the Flow of b1) | the Transitions of b1) = the Flow of b1 &
((the Flow of b1) | the Transitions of b1) \/ ((the Flow of b1) | the Places of b1) = the Flow of b1 &
((the Flow of b1) | the Places of b1) ~ \/ (((the Flow of b1) | the Transitions of b1) ~) = (the Flow of b1) ~ &
((the Flow of b1) | the Transitions of b1) ~ \/ (((the Flow of b1) | the Places of b1) ~) = (the Flow of b1) ~;
:: FF_SIEC:funcnot 7 => FF_SIEC:func 7
definition
let a1 be Petri Net;
func f_enter A1 -> Relation-like set equals
((the Flow of a1) ~ | the Transitions of a1) \/ id the Places of a1;
end;
:: FF_SIEC:def 10
theorem
for b1 being Petri Net holds
f_enter b1 = ((the Flow of b1) ~ | the Transitions of b1) \/ id the Places of b1;
:: FF_SIEC:funcnot 8 => FF_SIEC:func 8
definition
let a1 be Petri Net;
func f_exit A1 -> Relation-like set equals
((the Flow of a1) | the Transitions of a1) \/ id the Places of a1;
end;
:: FF_SIEC:def 11
theorem
for b1 being Petri Net holds
f_exit b1 = ((the Flow of b1) | the Transitions of b1) \/ id the Places of b1;
:: FF_SIEC:th 22
theorem
for b1 being Petri Net holds
f_exit b1 c= [:Elements b1,Elements b1:] &
f_enter b1 c= [:Elements b1,Elements b1:];
:: FF_SIEC:th 23
theorem
for b1 being Petri Net holds
proj1 f_exit b1 c= Elements b1 & proj2 f_exit b1 c= Elements b1 & proj1 f_enter b1 c= Elements b1 & proj2 f_enter b1 c= Elements b1;
:: FF_SIEC:th 24
theorem
for b1 being Petri Net holds
(f_exit b1) * f_exit b1 = f_exit b1 & (f_exit b1) * f_enter b1 = f_exit b1 & (f_enter b1) * f_enter b1 = f_enter b1 & (f_enter b1) * f_exit b1 = f_enter b1;
:: FF_SIEC:th 25
theorem
for b1 being Petri Net holds
(f_exit b1) * ((f_exit b1) \ id Elements b1) = {} &
(f_enter b1) * ((f_enter b1) \ id Elements b1) = {};
:: FF_SIEC:funcnot 9 => FF_SIEC:func 9
definition
let a1 be Petri Net;
func f_prox A1 -> Relation-like set equals
(((the Flow of a1) | the Places of a1) \/ ((the Flow of a1) ~ | the Places of a1)) \/ id the Places of a1;
end;
:: FF_SIEC:def 12
theorem
for b1 being Petri Net holds
f_prox b1 = (((the Flow of b1) | the Places of b1) \/ ((the Flow of b1) ~ | the Places of b1)) \/ id the Places of b1;
:: FF_SIEC:funcnot 10 => FF_SIEC:func 10
definition
let a1 be Petri Net;
func f_flow A1 -> Relation-like set equals
(the Flow of a1) \/ id Elements a1;
end;
:: FF_SIEC:def 13
theorem
for b1 being Petri Net holds
f_flow b1 = (the Flow of b1) \/ id Elements b1;
:: FF_SIEC:th 26
theorem
for b1 being Petri Net holds
(f_prox b1) * f_prox b1 = f_prox b1 &
((f_prox b1) \ id Elements b1) * f_prox b1 = {} &
((f_prox b1) \/ ((f_prox b1) ~)) \/ id Elements b1 = (f_flow b1) \/ ((f_flow b1) ~);
:: FF_SIEC:funcnot 11 => FF_SIEC:func 11
definition
let a1 be Petri Net;
func f_places A1 -> set equals
the Places of a1;
end;
:: FF_SIEC:def 14
theorem
for b1 being Petri Net holds
f_places b1 = the Places of b1;
:: FF_SIEC:funcnot 12 => FF_SIEC:func 12
definition
let a1 be Petri Net;
func f_transitions A1 -> set equals
the Transitions of a1;
end;
:: FF_SIEC:def 15
theorem
for b1 being Petri Net holds
f_transitions b1 = the Transitions of b1;
:: FF_SIEC:funcnot 13 => FF_SIEC:func 13
definition
let a1 be Petri Net;
func f_pre A1 -> Relation-like set equals
(the Flow of a1) | the Transitions of a1;
end;
:: FF_SIEC:def 16
theorem
for b1 being Petri Net holds
f_pre b1 = (the Flow of b1) | the Transitions of b1;
:: FF_SIEC:funcnot 14 => FF_SIEC:func 14
definition
let a1 be Petri Net;
func f_post A1 -> Relation-like set equals
(the Flow of a1) ~ | the Transitions of a1;
end;
:: FF_SIEC:def 17
theorem
for b1 being Petri Net holds
f_post b1 = (the Flow of b1) ~ | the Transitions of b1;
:: FF_SIEC:th 27
theorem
for b1 being Petri Net holds
f_pre b1 c= [:f_transitions b1,f_places b1:] &
f_post b1 c= [:f_transitions b1,f_places b1:];
:: FF_SIEC:th 29
theorem
for b1 being Petri Net holds
f_prox b1 c= [:Elements b1,Elements b1:] &
f_flow b1 c= [:Elements b1,Elements b1:];
:: FF_SIEC:funcnot 15 => FF_SIEC:func 15
definition
let a1 be Petri Net;
func f_entrance A1 -> Relation-like set equals
((the Flow of a1) ~ | the Places of a1) \/ id the Transitions of a1;
end;
:: FF_SIEC:def 18
theorem
for b1 being Petri Net holds
f_entrance b1 = ((the Flow of b1) ~ | the Places of b1) \/ id the Transitions of b1;
:: FF_SIEC:funcnot 16 => FF_SIEC:func 16
definition
let a1 be Petri Net;
func f_escape A1 -> Relation-like set equals
((the Flow of a1) | the Places of a1) \/ id the Transitions of a1;
end;
:: FF_SIEC:def 19
theorem
for b1 being Petri Net holds
f_escape b1 = ((the Flow of b1) | the Places of b1) \/ id the Transitions of b1;
:: FF_SIEC:th 30
theorem
for b1 being Petri Net holds
f_escape b1 c= [:Elements b1,Elements b1:] &
f_entrance b1 c= [:Elements b1,Elements b1:];
:: FF_SIEC:th 31
theorem
for b1 being Petri Net holds
proj1 f_escape b1 c= Elements b1 & proj2 f_escape b1 c= Elements b1 & proj1 f_entrance b1 c= Elements b1 & proj2 f_entrance b1 c= Elements b1;
:: FF_SIEC:th 32
theorem
for b1 being Petri Net holds
(f_escape b1) * f_escape b1 = f_escape b1 & (f_escape b1) * f_entrance b1 = f_escape b1 & (f_entrance b1) * f_entrance b1 = f_entrance b1 & (f_entrance b1) * f_escape b1 = f_entrance b1;
:: FF_SIEC:th 33
theorem
for b1 being Petri Net holds
(f_escape b1) * ((f_escape b1) \ id Elements b1) = {} &
(f_entrance b1) * ((f_entrance b1) \ id Elements b1) = {};
:: FF_SIEC:funcnot 17 => FF_SIEC:func 10
notation
let a1 be Petri Net;
synonym f_circulation a1 for f_flow a1;
end;
:: FF_SIEC:funcnot 18 => FF_SIEC:func 17
definition
let a1 be Petri Net;
func f_adjac A1 -> Relation-like set equals
(((the Flow of a1) | the Transitions of a1) \/ ((the Flow of a1) ~ | the Transitions of a1)) \/ id the Transitions of a1;
end;
:: FF_SIEC:def 20
theorem
for b1 being Petri Net holds
f_adjac b1 = (((the Flow of b1) | the Transitions of b1) \/ ((the Flow of b1) ~ | the Transitions of b1)) \/ id the Transitions of b1;
:: FF_SIEC:funcnot 19 => FF_SIEC:func 10
notation
let a1 be Petri Net;
synonym f_circulation a1 for f_flow a1;
end;
:: FF_SIEC:th 34
theorem
for b1 being Petri Net holds
(f_adjac b1) * f_adjac b1 = f_adjac b1 &
((f_adjac b1) \ id Elements b1) * f_adjac b1 = {} &
((f_adjac b1) \/ ((f_adjac b1) ~)) \/ id Elements b1 = (f_flow b1) \/ ((f_flow b1) ~);