Article E_SIEC, MML version 4.99.1005
:: E_SIEC:structnot 1 => E_SIEC:struct 1
definition
struct(1-sorted) G_Net(#
carrier -> set,
entrance -> Relation-like set,
escape -> Relation-like set
#);
end;
:: E_SIEC:attrnot 1 => E_SIEC:attr 1
definition
let a1 be G_Net;
attr a1 is strict;
end;
:: E_SIEC:exreg 1
registration
cluster strict G_Net;
end;
:: E_SIEC:aggrnot 1 => E_SIEC:aggr 1
definition
let a1 be set;
let a2, a3 be Relation-like set;
aggr G_Net(#a1,a2,a3#) -> strict G_Net;
end;
:: E_SIEC:selnot 1 => E_SIEC:sel 1
definition
let a1 be G_Net;
sel the entrance of a1 -> Relation-like set;
end;
:: E_SIEC:selnot 2 => E_SIEC:sel 2
definition
let a1 be G_Net;
sel the escape of a1 -> Relation-like set;
end;
:: E_SIEC:attrnot 2 => E_SIEC:attr 2
definition
let a1 be G_Net;
attr a1 is GG means
the entrance of a1 c= [:the carrier of a1,the carrier of a1:] &
the escape of a1 c= [:the carrier of a1,the carrier of a1:] &
(the entrance of a1) * the entrance of a1 = the entrance of a1 &
(the entrance of a1) * the escape of a1 = the entrance of a1 &
(the escape of a1) * the escape of a1 = the escape of a1 &
(the escape of a1) * the entrance of a1 = the escape of a1;
end;
:: E_SIEC:dfs 1
definiens
let a1 be G_Net;
To prove
a1 is GG
it is sufficient to prove
thus the entrance of a1 c= [:the carrier of a1,the carrier of a1:] &
the escape of a1 c= [:the carrier of a1,the carrier of a1:] &
(the entrance of a1) * the entrance of a1 = the entrance of a1 &
(the entrance of a1) * the escape of a1 = the entrance of a1 &
(the escape of a1) * the escape of a1 = the escape of a1 &
(the escape of a1) * the entrance of a1 = the escape of a1;
:: E_SIEC:def 2
theorem
for b1 being G_Net holds
b1 is GG
iff
the entrance of b1 c= [:the carrier of b1,the carrier of b1:] &
the escape of b1 c= [:the carrier of b1,the carrier of b1:] &
(the entrance of b1) * the entrance of b1 = the entrance of b1 &
(the entrance of b1) * the escape of b1 = the entrance of b1 &
(the escape of b1) * the escape of b1 = the escape of b1 &
(the escape of b1) * the entrance of b1 = the escape of b1;
:: E_SIEC:exreg 2
registration
cluster GG G_Net;
end;
:: E_SIEC:modenot 1
definition
mode gg_net is GG G_Net;
end;
:: E_SIEC:attrnot 3 => E_SIEC:attr 3
definition
let a1 be G_Net;
attr a1 is EE means
(the entrance of a1) * ((the entrance of a1) \ id the carrier of a1) = {} &
(the escape of a1) * ((the escape of a1) \ id the carrier of a1) = {};
end;
:: E_SIEC:dfs 2
definiens
let a1 be G_Net;
To prove
a1 is EE
it is sufficient to prove
thus (the entrance of a1) * ((the entrance of a1) \ id the carrier of a1) = {} &
(the escape of a1) * ((the escape of a1) \ id the carrier of a1) = {};
:: E_SIEC:def 3
theorem
for b1 being G_Net holds
b1 is EE
iff
(the entrance of b1) * ((the entrance of b1) \ id the carrier of b1) = {} &
(the escape of b1) * ((the escape of b1) \ id the carrier of b1) = {};
:: E_SIEC:exreg 3
registration
cluster EE G_Net;
end;
:: E_SIEC:exreg 4
registration
cluster strict GG EE G_Net;
end;
:: E_SIEC:modenot 2
definition
mode e_net is GG EE G_Net;
end;
:: E_SIEC:th 1
theorem
for b1 being set
for b2, b3 being Relation-like set holds
G_Net(#b1,b2,b3#) is GG EE G_Net
iff
b2 c= [:b1,b1:] & b3 c= [:b1,b1:] & b2 * b2 = b2 & b2 * b3 = b2 & b3 * b3 = b3 & b3 * b2 = b3 & b2 * (b2 \ id b1) = {} & b3 * (b3 \ id b1) = {};
:: E_SIEC:th 2
theorem
for b1 being set holds
G_Net(#b1,{},{}#) is GG EE G_Net;
:: E_SIEC:th 3
theorem
for b1 being set holds
G_Net(#b1,id b1,id b1#) is GG EE G_Net;
:: E_SIEC:th 4
theorem
G_Net(#{},{},{}#) is GG EE G_Net;
:: E_SIEC:th 8
theorem
for b1, b2 being set holds
G_Net(#b1,id (b1 \ b2),id (b1 \ b2)#) is GG EE G_Net;
:: E_SIEC:funcnot 1 => E_SIEC:func 1
definition
func empty_e_net -> strict GG EE G_Net equals
G_Net(#{},{},{}#);
end;
:: E_SIEC:def 4
theorem
empty_e_net = G_Net(#{},{},{}#);
:: E_SIEC:funcnot 2 => E_SIEC:func 2
definition
let a1 be set;
func Tempty_e_net A1 -> strict GG EE G_Net equals
G_Net(#a1,id a1,id a1#);
end;
:: E_SIEC:def 5
theorem
for b1 being set holds
Tempty_e_net b1 = G_Net(#b1,id b1,id b1#);
:: E_SIEC:funcnot 3 => E_SIEC:func 3
definition
let a1 be set;
func Pempty_e_net A1 -> strict GG EE G_Net equals
G_Net(#a1,{},{}#);
end;
:: E_SIEC:def 6
theorem
for b1 being set holds
Pempty_e_net b1 = G_Net(#b1,{},{}#);
:: E_SIEC:th 11
theorem
for b1 being set holds
the carrier of Tempty_e_net b1 = b1 & the entrance of Tempty_e_net b1 = id b1 & the escape of Tempty_e_net b1 = id b1;
:: E_SIEC:th 12
theorem
for b1 being set holds
the carrier of Pempty_e_net b1 = b1 & the entrance of Pempty_e_net b1 = {} & the escape of Pempty_e_net b1 = {};
:: E_SIEC:funcnot 4 => E_SIEC:func 4
definition
let a1 be set;
func Psingle_e_net A1 -> strict GG EE G_Net equals
G_Net(#{a1},id {a1},id {a1}#);
end;
:: E_SIEC:def 7
theorem
for b1 being set holds
Psingle_e_net b1 = G_Net(#{b1},id {b1},id {b1}#);
:: E_SIEC:funcnot 5 => E_SIEC:func 5
definition
let a1 be set;
func Tsingle_e_net A1 -> strict GG EE G_Net equals
G_Net(#{a1},{},{}#);
end;
:: E_SIEC:def 8
theorem
for b1 being set holds
Tsingle_e_net b1 = G_Net(#{b1},{},{}#);
:: E_SIEC:th 13
theorem
for b1 being set holds
the carrier of Psingle_e_net b1 = {b1} &
the entrance of Psingle_e_net b1 = id {b1} &
the escape of Psingle_e_net b1 = id {b1};
:: E_SIEC:th 14
theorem
for b1 being set holds
the carrier of Tsingle_e_net b1 = {b1} & the entrance of Tsingle_e_net b1 = {} & the escape of Tsingle_e_net b1 = {};
:: E_SIEC:th 15
theorem
for b1, b2 being set holds
G_Net(#b1 \/ b2,id b1,id b1#) is GG EE G_Net;
:: E_SIEC:funcnot 6 => E_SIEC:func 6
definition
let a1, a2 be set;
func PTempty_e_net(A1,A2) -> strict GG EE G_Net equals
G_Net(#a1 \/ a2,id a1,id a1#);
end;
:: E_SIEC:def 9
theorem
for b1, b2 being set holds
PTempty_e_net(b1,b2) = G_Net(#b1 \/ b2,id b1,id b1#);
:: E_SIEC:th 16
theorem
for b1 being GG EE G_Net holds
(the entrance of b1) \ id proj1 the entrance of b1 = (the entrance of b1) \ id the carrier of b1 &
(the escape of b1) \ id proj1 the escape of b1 = (the escape of b1) \ id the carrier of b1 &
(the entrance of b1) \ id proj2 the entrance of b1 = (the entrance of b1) \ id the carrier of b1 &
(the escape of b1) \ id proj2 the escape of b1 = (the escape of b1) \ id the carrier of b1;
:: E_SIEC:th 17
theorem
for b1 being GG EE G_Net holds
CL the entrance of b1 = CL the escape of b1;
:: E_SIEC:th 18
theorem
for b1 being GG EE G_Net holds
proj2 the entrance of b1 = proj2 CL the entrance of b1 &
proj2 the entrance of b1 = proj1 CL the entrance of b1 &
proj2 the escape of b1 = proj2 CL the escape of b1 &
proj2 the escape of b1 = proj1 CL the escape of b1 &
proj2 the entrance of b1 = proj2 the escape of b1;
:: E_SIEC:th 19
theorem
for b1 being GG EE G_Net holds
proj1 the entrance of b1 c= the carrier of b1 & proj2 the entrance of b1 c= the carrier of b1 & proj1 the escape of b1 c= the carrier of b1 & proj2 the escape of b1 c= the carrier of b1;
:: E_SIEC:th 20
theorem
for b1 being GG EE G_Net holds
(the entrance of b1) * ((the escape of b1) \ id the carrier of b1) = {} &
(the escape of b1) * ((the entrance of b1) \ id the carrier of b1) = {};
:: E_SIEC:th 21
theorem
for b1 being GG EE G_Net holds
((the entrance of b1) \ id the carrier of b1) * ((the entrance of b1) \ id the carrier of b1) = {} &
((the escape of b1) \ id the carrier of b1) * ((the escape of b1) \ id the carrier of b1) = {} &
((the entrance of b1) \ id the carrier of b1) * ((the escape of b1) \ id the carrier of b1) = {} &
((the escape of b1) \ id the carrier of b1) * ((the entrance of b1) \ id the carrier of b1) = {};
:: E_SIEC:funcnot 7 => E_SIEC:func 7
definition
let a1 be GG EE G_Net;
func e_Places A1 -> set equals
proj2 the entrance of a1;
end;
:: E_SIEC:def 10
theorem
for b1 being GG EE G_Net holds
e_Places b1 = proj2 the entrance of b1;
:: E_SIEC:funcnot 8 => E_SIEC:func 8
definition
let a1 be GG EE G_Net;
func e_Transitions A1 -> set equals
(the carrier of a1) \ e_Places a1;
end;
:: E_SIEC:def 11
theorem
for b1 being GG EE G_Net holds
e_Transitions b1 = (the carrier of b1) \ e_Places b1;
:: E_SIEC:th 23
theorem
for b1, b2 being set
for b3 being GG EE G_Net
st ([b1,b2] in the entrance of b3 or [b1,b2] in the escape of b3) &
b1 <> b2
holds b1 in e_Transitions b3 & b2 in e_Places b3;
:: E_SIEC:th 24
theorem
for b1 being GG EE G_Net holds
(the entrance of b1) \ id the carrier of b1 c= [:e_Transitions b1,e_Places b1:] &
(the escape of b1) \ id the carrier of b1 c= [:e_Transitions b1,e_Places b1:];
:: E_SIEC:funcnot 9 => E_SIEC:func 9
definition
let a1 be GG EE G_Net;
func e_Flow A1 -> Relation-like set equals
((the entrance of a1) ~ \/ the escape of a1) \ id the carrier of a1;
end;
:: E_SIEC:def 12
theorem
for b1 being GG EE G_Net holds
e_Flow b1 = ((the entrance of b1) ~ \/ the escape of b1) \ id the carrier of b1;
:: E_SIEC:th 25
theorem
for b1 being GG EE G_Net holds
e_Flow b1 c= [:e_Places b1,e_Transitions b1:] \/ [:e_Transitions b1,e_Places b1:];
:: E_SIEC:funcnot 10 => E_SIEC:func 7
notation
let a1 be GG EE G_Net;
synonym e_places a1 for e_Places a1;
end;
:: E_SIEC:funcnot 11 => E_SIEC:func 8
notation
let a1 be GG EE G_Net;
synonym e_transitions a1 for e_Transitions a1;
end;
:: E_SIEC:funcnot 12 => E_SIEC:func 10
definition
let a1 be GG EE G_Net;
func e_pre A1 -> Relation-like set equals
(the entrance of a1) \ id the carrier of a1;
end;
:: E_SIEC:def 15
theorem
for b1 being GG EE G_Net holds
e_pre b1 = (the entrance of b1) \ id the carrier of b1;
:: E_SIEC:funcnot 13 => E_SIEC:func 11
definition
let a1 be GG EE G_Net;
func e_post A1 -> Relation-like set equals
(the escape of a1) \ id the carrier of a1;
end;
:: E_SIEC:def 16
theorem
for b1 being GG EE G_Net holds
e_post b1 = (the escape of b1) \ id the carrier of b1;
:: E_SIEC:th 28
theorem
for b1 being GG EE G_Net holds
e_pre b1 c= [:e_Transitions b1,e_Places b1:] &
e_post b1 c= [:e_Transitions b1,e_Places b1:];
:: E_SIEC:funcnot 14 => E_SIEC:func 12
definition
let a1 be GG EE G_Net;
func e_shore A1 -> set equals
the carrier of a1;
end;
:: E_SIEC:def 17
theorem
for b1 being GG EE G_Net holds
e_shore b1 = the carrier of b1;
:: E_SIEC:funcnot 15 => E_SIEC:func 13
definition
let a1 be GG EE G_Net;
func e_prox A1 -> Relation-like set equals
((the entrance of a1) \/ the escape of a1) ~;
end;
:: E_SIEC:def 18
theorem
for b1 being GG EE G_Net holds
e_prox b1 = ((the entrance of b1) \/ the escape of b1) ~;
:: E_SIEC:funcnot 16 => E_SIEC:func 14
definition
let a1 be GG EE G_Net;
func e_flow A1 -> Relation-like set equals
((the entrance of a1) ~ \/ the escape of a1) \/ id the carrier of a1;
end;
:: E_SIEC:def 19
theorem
for b1 being GG EE G_Net holds
e_flow b1 = ((the entrance of b1) ~ \/ the escape of b1) \/ id the carrier of b1;
:: E_SIEC:th 29
theorem
for b1 being GG EE G_Net holds
e_prox b1 c= [:e_shore b1,e_shore b1:] &
e_flow b1 c= [:e_shore b1,e_shore b1:];
:: E_SIEC:th 30
theorem
for b1 being GG EE G_Net holds
(e_prox b1) * e_prox b1 = e_prox b1 &
((e_prox b1) \ id e_shore b1) * e_prox b1 = {} &
((e_prox b1) \/ ((e_prox b1) ~)) \/ id e_shore b1 = (e_flow b1) \/ ((e_flow b1) ~);
:: E_SIEC:th 31
theorem
for b1 being GG EE G_Net holds
(id ((the carrier of b1) \ proj2 the escape of b1)) * ((the escape of b1) \ id the carrier of b1) = (the escape of b1) \ id the carrier of b1 &
(id ((the carrier of b1) \ proj2 the entrance of b1)) * ((the entrance of b1) \ id the carrier of b1) = (the entrance of b1) \ id the carrier of b1;
:: E_SIEC:th 32
theorem
for b1 being GG EE G_Net holds
((the escape of b1) \ id the carrier of b1) * ((the escape of b1) \ id the carrier of b1) = {} &
((the entrance of b1) \ id the carrier of b1) * ((the entrance of b1) \ id the carrier of b1) = {} &
((the escape of b1) \ id the carrier of b1) * ((the entrance of b1) \ id the carrier of b1) = {} &
((the entrance of b1) \ id the carrier of b1) * ((the escape of b1) \ id the carrier of b1) = {};
:: E_SIEC:th 33
theorem
for b1 being GG EE G_Net holds
((the escape of b1) \ id the carrier of b1) ~ * (((the escape of b1) \ id the carrier of b1) ~) = {} &
((the entrance of b1) \ id the carrier of b1) ~ * (((the entrance of b1) \ id the carrier of b1) ~) = {};
:: E_SIEC:th 34
theorem
for b1 being GG EE G_Net holds
((the escape of b1) \ id the carrier of b1) ~ * ((id ((the carrier of b1) \ proj2 the escape of b1)) ~) = ((the escape of b1) \ id the carrier of b1) ~ &
((the entrance of b1) \ id the carrier of b1) ~ * ((id ((the carrier of b1) \ proj2 the entrance of b1)) ~) = ((the entrance of b1) \ id the carrier of b1) ~;
:: E_SIEC:th 35
theorem
for b1 being GG EE G_Net holds
((the escape of b1) \ id the carrier of b1) * id ((the carrier of b1) \ proj2 the escape of b1) = {} &
((the entrance of b1) \ id the carrier of b1) * id ((the carrier of b1) \ proj2 the entrance of b1) = {};
:: E_SIEC:th 36
theorem
for b1 being GG EE G_Net holds
(id ((the carrier of b1) \ proj2 the escape of b1)) * (((the escape of b1) \ id the carrier of b1) ~) = {} &
(id ((the carrier of b1) \ proj2 the entrance of b1)) * (((the entrance of b1) \ id the carrier of b1) ~) = {};
:: E_SIEC:funcnot 17 => E_SIEC:func 12
notation
let a1 be GG EE G_Net;
synonym e_support a1 for e_shore a1;
end;
:: E_SIEC:funcnot 18 => E_SIEC:func 15
definition
let a1 be GG EE G_Net;
func e_entrance A1 -> Relation-like set equals
((the escape of a1) \ id the carrier of a1) ~ \/ id ((the carrier of a1) \ proj2 the escape of a1);
end;
:: E_SIEC:def 21
theorem
for b1 being GG EE G_Net holds
e_entrance b1 = ((the escape of b1) \ id the carrier of b1) ~ \/ id ((the carrier of b1) \ proj2 the escape of b1);
:: E_SIEC:funcnot 19 => E_SIEC:func 16
definition
let a1 be GG EE G_Net;
func e_escape A1 -> Relation-like set equals
((the entrance of a1) \ id the carrier of a1) ~ \/ id ((the carrier of a1) \ proj2 the entrance of a1);
end;
:: E_SIEC:def 22
theorem
for b1 being GG EE G_Net holds
e_escape b1 = ((the entrance of b1) \ id the carrier of b1) ~ \/ id ((the carrier of b1) \ proj2 the entrance of b1);
:: E_SIEC:th 37
theorem
for b1 being GG EE G_Net holds
(e_entrance b1) * e_entrance b1 = e_entrance b1 & (e_entrance b1) * e_escape b1 = e_entrance b1 & (e_escape b1) * e_entrance b1 = e_escape b1 & (e_escape b1) * e_escape b1 = e_escape b1;
:: E_SIEC:th 38
theorem
for b1 being GG EE G_Net holds
(e_entrance b1) * ((e_entrance b1) \ id e_shore b1) = {} &
(e_escape b1) * ((e_escape b1) \ id e_shore b1) = {};
:: E_SIEC:funcnot 20 => E_SIEC:func 12
notation
let a1 be GG EE G_Net;
synonym e_stanchion a1 for e_shore a1;
end;
:: E_SIEC:funcnot 21 => E_SIEC:func 14
notation
let a1 be GG EE G_Net;
synonym e_circulation a1 for e_flow a1;
end;
:: E_SIEC:funcnot 22 => E_SIEC:func 17
definition
let a1 be GG EE G_Net;
func e_adjac A1 -> Relation-like set equals
(((the entrance of a1) \/ the escape of a1) \ id the carrier of a1) \/ id ((the carrier of a1) \ proj2 the entrance of a1);
end;
:: E_SIEC:def 24
theorem
for b1 being GG EE G_Net holds
e_adjac b1 = (((the entrance of b1) \/ the escape of b1) \ id the carrier of b1) \/ id ((the carrier of b1) \ proj2 the entrance of b1);
:: E_SIEC:funcnot 23 => E_SIEC:func 14
notation
let a1 be GG EE G_Net;
synonym e_circulation a1 for e_flow a1;
end;
:: E_SIEC:th 39
theorem
for b1 being GG EE G_Net holds
e_adjac b1 c= [:e_shore b1,e_shore b1:] &
e_flow b1 c= [:e_shore b1,e_shore b1:];
:: E_SIEC:th 40
theorem
for b1 being GG EE G_Net holds
(e_adjac b1) * e_adjac b1 = e_adjac b1 &
((e_adjac b1) \ id e_shore b1) * e_adjac b1 = {} &
((e_adjac b1) \/ ((e_adjac b1) ~)) \/ id e_shore b1 = (e_flow b1) \/ ((e_flow b1) ~);
:: E_SIEC:funcnot 24 => E_SIEC:func 7
notation
let a1 be GG EE G_Net;
synonym s_transitions a1 for e_Places a1;
end;
:: E_SIEC:funcnot 25 => E_SIEC:func 8
notation
let a1 be GG EE G_Net;
synonym s_places a1 for e_Transitions a1;
end;
:: E_SIEC:funcnot 26 => E_SIEC:func 12
notation
let a1 be GG EE G_Net;
synonym s_carrier a1 for e_shore a1;
end;
:: E_SIEC:funcnot 27 => E_SIEC:func 15
notation
let a1 be GG EE G_Net;
synonym s_enter a1 for e_entrance a1;
end;
:: E_SIEC:funcnot 28 => E_SIEC:func 16
notation
let a1 be GG EE G_Net;
synonym s_exit a1 for e_escape a1;
end;
:: E_SIEC:funcnot 29 => E_SIEC:func 17
notation
let a1 be GG EE G_Net;
synonym s_prox a1 for e_adjac a1;
end;
:: E_SIEC:th 41
theorem
for b1 being GG EE G_Net holds
((the entrance of b1) \ id the carrier of b1) ~ c= [:e_Places b1,e_Transitions b1:] &
((the escape of b1) \ id the carrier of b1) ~ c= [:e_Places b1,e_Transitions b1:];
:: E_SIEC:funcnot 30 => E_SIEC:func 18
definition
let a1 be G_Net;
func s_pre A1 -> Relation-like set equals
((the escape of a1) \ id the carrier of a1) ~;
end;
:: E_SIEC:def 25
theorem
for b1 being G_Net holds
s_pre b1 = ((the escape of b1) \ id the carrier of b1) ~;
:: E_SIEC:funcnot 31 => E_SIEC:func 19
definition
let a1 be G_Net;
func s_post A1 -> Relation-like set equals
((the entrance of a1) \ id the carrier of a1) ~;
end;
:: E_SIEC:def 26
theorem
for b1 being G_Net holds
s_post b1 = ((the entrance of b1) \ id the carrier of b1) ~;
:: E_SIEC:th 42
theorem
for b1 being GG EE G_Net holds
s_post b1 c= [:e_Places b1,e_Transitions b1:] &
s_pre b1 c= [:e_Places b1,e_Transitions b1:];