:: NET_1 semantic presentation begin definition let P be PT_net_Str ; func Flow P -> set equals :: NET_1:def 1 the S-T_Arcs of P \/ the T-S_Arcs of P; coherence the S-T_Arcs of P \/ the T-S_Arcs of P is set ; end; :: deftheorem defines Flow NET_1:def_1_:_ for P being PT_net_Str holds Flow P = the S-T_Arcs of P \/ the T-S_Arcs of P; registration let P be PT_net_Str ; cluster Flow P -> Relation-like ; coherence Flow P is Relation-like ; end; definition let N be PT_net_Str ; attrN is Petri means :Def2: :: NET_1:def 2 ( the carrier of N misses the carrier' of N & Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] ); end; :: deftheorem Def2 defines Petri NET_1:def_2_:_ for N being PT_net_Str holds ( N is Petri iff ( the carrier of N misses the carrier' of N & Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] ) ); definition let N be PT_net_Str ; func Elements N -> set equals :: NET_1:def 3 the carrier of N \/ the carrier' of N; correctness coherence the carrier of N \/ the carrier' of N is set ; ; end; :: deftheorem defines Elements NET_1:def_3_:_ for N being PT_net_Str holds Elements N = the carrier of N \/ the carrier' of N; theorem :: NET_1:1 for x being set for N being PT_net_Str holds ( not Elements N <> {} or not x is Element of Elements N or x is Element of the carrier of N or x is Element of the carrier' of N ) by XBOOLE_0:def_3; theorem :: NET_1:2 for x being set for N being PT_net_Str st x is Element of the carrier of N & the carrier of N <> {} holds x is Element of Elements N proof let x be set ; ::_thesis: for N being PT_net_Str st x is Element of the carrier of N & the carrier of N <> {} holds x is Element of Elements N let N be PT_net_Str ; ::_thesis: ( x is Element of the carrier of N & the carrier of N <> {} implies x is Element of Elements N ) A1: the carrier of N c= Elements N by XBOOLE_1:7; assume ( x is Element of the carrier of N & the carrier of N <> {} ) ; ::_thesis: x is Element of Elements N hence x is Element of Elements N by A1, TARSKI:def_3; ::_thesis: verum end; theorem :: NET_1:3 for x being set for N being PT_net_Str st x is Element of the carrier' of N & the carrier' of N <> {} holds x is Element of Elements N proof let x be set ; ::_thesis: for N being PT_net_Str st x is Element of the carrier' of N & the carrier' of N <> {} holds x is Element of Elements N let N be PT_net_Str ; ::_thesis: ( x is Element of the carrier' of N & the carrier' of N <> {} implies x is Element of Elements N ) A1: the carrier' of N c= Elements N by XBOOLE_1:7; assume ( x is Element of the carrier' of N & the carrier' of N <> {} ) ; ::_thesis: x is Element of Elements N hence x is Element of Elements N by A1, TARSKI:def_3; ::_thesis: verum end; Lm1: PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) is Petri proof set N = PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #); thus the carrier of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) /\ the carrier' of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) = {} ; :: according to XBOOLE_0:def_7,NET_1:def_2 ::_thesis: Flow PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) c= [: the carrier of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #), the carrier' of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #):] \/ [: the carrier' of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #), the carrier of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #):] thus Flow PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) c= [: the carrier of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #), the carrier' of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #):] \/ [: the carrier' of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #), the carrier of PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #):] ; ::_thesis: verum end; registration cluster PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) -> Petri ; coherence PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) is Petri by Lm1; end; registration cluster strict Petri for PT_net_Str ; existence ex b1 being PT_net_Str st ( b1 is strict & b1 is Petri ) proof PT_net_Str(# {},{},({} ({},{})),({} ({},{})) #) is Petri ; hence ex b1 being PT_net_Str st ( b1 is strict & b1 is Petri ) ; ::_thesis: verum end; end; definition mode Pnet is Petri PT_net_Str ; end; theorem Th4: :: NET_1:4 for x being set for N being Pnet holds ( not x in the carrier of N or not x in the carrier' of N ) proof let x be set ; ::_thesis: for N being Pnet holds ( not x in the carrier of N or not x in the carrier' of N ) let N be Pnet; ::_thesis: ( not x in the carrier of N or not x in the carrier' of N ) the carrier of N misses the carrier' of N by Def2; hence ( not x in the carrier of N or not x in the carrier' of N ) by XBOOLE_0:3; ::_thesis: verum end; theorem Th5: :: NET_1:5 for x, y being set for N being Pnet st [x,y] in Flow N & x in the carrier' of N holds y in the carrier of N proof let x, y be set ; ::_thesis: for N being Pnet st [x,y] in Flow N & x in the carrier' of N holds y in the carrier of N let N be Pnet; ::_thesis: ( [x,y] in Flow N & x in the carrier' of N implies y in the carrier of N ) assume that A1: [x,y] in Flow N and A2: x in the carrier' of N ; ::_thesis: y in the carrier of N A3: not x in the carrier of N by A2, Th4; Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] by Def2; then ( [x,y] in [: the carrier of N, the carrier' of N:] or [x,y] in [: the carrier' of N, the carrier of N:] ) by A1, XBOOLE_0:def_3; hence y in the carrier of N by A3, ZFMISC_1:87; ::_thesis: verum end; theorem Th6: :: NET_1:6 for x, y being set for N being Pnet st [x,y] in Flow N & y in the carrier' of N holds x in the carrier of N proof let x, y be set ; ::_thesis: for N being Pnet st [x,y] in Flow N & y in the carrier' of N holds x in the carrier of N let N be Pnet; ::_thesis: ( [x,y] in Flow N & y in the carrier' of N implies x in the carrier of N ) assume that A1: [x,y] in Flow N and A2: y in the carrier' of N ; ::_thesis: x in the carrier of N A3: not y in the carrier of N by A2, Th4; Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] by Def2; then ( [x,y] in [: the carrier of N, the carrier' of N:] or [x,y] in [: the carrier' of N, the carrier of N:] ) by A1, XBOOLE_0:def_3; hence x in the carrier of N by A3, ZFMISC_1:87; ::_thesis: verum end; theorem :: NET_1:7 for x, y being set for N being Pnet st [x,y] in Flow N & x in the carrier of N holds y in the carrier' of N proof let x, y be set ; ::_thesis: for N being Pnet st [x,y] in Flow N & x in the carrier of N holds y in the carrier' of N let N be Pnet; ::_thesis: ( [x,y] in Flow N & x in the carrier of N implies y in the carrier' of N ) assume that A1: [x,y] in Flow N and A2: x in the carrier of N ; ::_thesis: y in the carrier' of N A3: not x in the carrier' of N by A2, Th4; Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] by Def2; then ( [x,y] in [: the carrier' of N, the carrier of N:] or [x,y] in [: the carrier of N, the carrier' of N:] ) by A1, XBOOLE_0:def_3; hence y in the carrier' of N by A3, ZFMISC_1:87; ::_thesis: verum end; theorem :: NET_1:8 for x, y being set for N being Pnet st [x,y] in Flow N & y in the carrier of N holds x in the carrier' of N proof let x, y be set ; ::_thesis: for N being Pnet st [x,y] in Flow N & y in the carrier of N holds x in the carrier' of N let N be Pnet; ::_thesis: ( [x,y] in Flow N & y in the carrier of N implies x in the carrier' of N ) assume that A1: [x,y] in Flow N and A2: y in the carrier of N ; ::_thesis: x in the carrier' of N A3: not y in the carrier' of N by A2, Th4; Flow N c= [: the carrier of N, the carrier' of N:] \/ [: the carrier' of N, the carrier of N:] by Def2; then ( [x,y] in [: the carrier' of N, the carrier of N:] or [x,y] in [: the carrier of N, the carrier' of N:] ) by A1, XBOOLE_0:def_3; hence x in the carrier' of N by A3, ZFMISC_1:87; ::_thesis: verum end; definition let N be Pnet; let x, y be set ; pred pre N,x,y means :Def4: :: NET_1:def 4 ( [y,x] in Flow N & x in the carrier' of N ); pred post N,x,y means :Def5: :: NET_1:def 5 ( [x,y] in Flow N & x in the carrier' of N ); end; :: deftheorem Def4 defines pre NET_1:def_4_:_ for N being Pnet for x, y being set holds ( pre N,x,y iff ( [y,x] in Flow N & x in the carrier' of N ) ); :: deftheorem Def5 defines post NET_1:def_5_:_ for N being Pnet for x, y being set holds ( post N,x,y iff ( [x,y] in Flow N & x in the carrier' of N ) ); definition let N be PT_net_Str ; let x be Element of Elements N; func Pre (N,x) -> set means :Def6: :: NET_1:def 6 for y being set holds ( y in it iff ( y in Elements N & [y,x] in Flow N ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ( y in Elements N & [y,x] in Flow N ) ) proof defpred S1[ set ] means [$1,x] in Flow N; thus ex IT being set st for y being set holds ( y in IT iff ( y in Elements N & S1[y] ) ) from XBOOLE_0:sch_1(); ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ( y in Elements N & [y,x] in Flow N ) ) ) & ( for y being set holds ( y in b2 iff ( y in Elements N & [y,x] in Flow N ) ) ) holds b1 = b2 proof let X, Y be set ; ::_thesis: ( ( for y being set holds ( y in X iff ( y in Elements N & [y,x] in Flow N ) ) ) & ( for y being set holds ( y in Y iff ( y in Elements N & [y,x] in Flow N ) ) ) implies X = Y ) assume that A1: for y being set holds ( y in X iff ( y in Elements N & [y,x] in Flow N ) ) and A2: for y being set holds ( y in Y iff ( y in Elements N & [y,x] in Flow N ) ) ; ::_thesis: X = Y A3: for y being set st y in Y holds y in X proof let y be set ; ::_thesis: ( y in Y implies y in X ) assume y in Y ; ::_thesis: y in X then ( y in Elements N & [y,x] in Flow N ) by A2; hence y in X by A1; ::_thesis: verum end; for y being set st y in X holds y in Y proof let y be set ; ::_thesis: ( y in X implies y in Y ) assume y in X ; ::_thesis: y in Y then ( y in Elements N & [y,x] in Flow N ) by A1; hence y in Y by A2; ::_thesis: verum end; hence X = Y by A3, TARSKI:1; ::_thesis: verum end; func Post (N,x) -> set means :Def7: :: NET_1:def 7 for y being set holds ( y in it iff ( y in Elements N & [x,y] in Flow N ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ( y in Elements N & [x,y] in Flow N ) ) proof defpred S1[ set ] means [x,$1] in Flow N; thus ex IT being set st for y being set holds ( y in IT iff ( y in Elements N & S1[y] ) ) from XBOOLE_0:sch_1(); ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ( y in Elements N & [x,y] in Flow N ) ) ) & ( for y being set holds ( y in b2 iff ( y in Elements N & [x,y] in Flow N ) ) ) holds b1 = b2 proof let X, Y be set ; ::_thesis: ( ( for y being set holds ( y in X iff ( y in Elements N & [x,y] in Flow N ) ) ) & ( for y being set holds ( y in Y iff ( y in Elements N & [x,y] in Flow N ) ) ) implies X = Y ) assume that A4: for y being set holds ( y in X iff ( y in Elements N & [x,y] in Flow N ) ) and A5: for y being set holds ( y in Y iff ( y in Elements N & [x,y] in Flow N ) ) ; ::_thesis: X = Y A6: for y being set st y in Y holds y in X proof let y be set ; ::_thesis: ( y in Y implies y in X ) assume y in Y ; ::_thesis: y in X then ( y in Elements N & [x,y] in Flow N ) by A5; hence y in X by A4; ::_thesis: verum end; for y being set st y in X holds y in Y proof let y be set ; ::_thesis: ( y in X implies y in Y ) assume y in X ; ::_thesis: y in Y then ( y in Elements N & [x,y] in Flow N ) by A4; hence y in Y by A5; ::_thesis: verum end; hence X = Y by A6, TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def6 defines Pre NET_1:def_6_:_ for N being PT_net_Str for x being Element of Elements N for b3 being set holds ( b3 = Pre (N,x) iff for y being set holds ( y in b3 iff ( y in Elements N & [y,x] in Flow N ) ) ); :: deftheorem Def7 defines Post NET_1:def_7_:_ for N being PT_net_Str for x being Element of Elements N for b3 being set holds ( b3 = Post (N,x) iff for y being set holds ( y in b3 iff ( y in Elements N & [x,y] in Flow N ) ) ); theorem Th9: :: NET_1:9 for N being Pnet for x being Element of Elements N holds Pre (N,x) c= Elements N proof let N be Pnet; ::_thesis: for x being Element of Elements N holds Pre (N,x) c= Elements N let x be Element of Elements N; ::_thesis: Pre (N,x) c= Elements N for y being set st y in Pre (N,x) holds y in Elements N by Def6; hence Pre (N,x) c= Elements N by TARSKI:def_3; ::_thesis: verum end; theorem :: NET_1:10 for N being Pnet for x being Element of Elements N holds Pre (N,x) c= Elements N by Th9; theorem Th11: :: NET_1:11 for N being Pnet for x being Element of Elements N holds Post (N,x) c= Elements N proof let N be Pnet; ::_thesis: for x being Element of Elements N holds Post (N,x) c= Elements N let x be Element of Elements N; ::_thesis: Post (N,x) c= Elements N for y being set st y in Post (N,x) holds y in Elements N by Def7; hence Post (N,x) c= Elements N by TARSKI:def_3; ::_thesis: verum end; theorem :: NET_1:12 for N being Pnet for x being Element of Elements N holds Post (N,x) c= Elements N by Th11; theorem :: NET_1:13 for x being set for N being Pnet for y being Element of Elements N st y in the carrier' of N holds ( x in Pre (N,y) iff pre N,y,x ) proof let x be set ; ::_thesis: for N being Pnet for y being Element of Elements N st y in the carrier' of N holds ( x in Pre (N,y) iff pre N,y,x ) let N be Pnet; ::_thesis: for y being Element of Elements N st y in the carrier' of N holds ( x in Pre (N,y) iff pre N,y,x ) let y be Element of Elements N; ::_thesis: ( y in the carrier' of N implies ( x in Pre (N,y) iff pre N,y,x ) ) assume A1: y in the carrier' of N ; ::_thesis: ( x in Pre (N,y) iff pre N,y,x ) A2: ( pre N,y,x implies x in Pre (N,y) ) proof assume pre N,y,x ; ::_thesis: x in Pre (N,y) then A3: [x,y] in Flow N by Def4; then x in the carrier of N by A1, Th6; then x in Elements N by XBOOLE_0:def_3; hence x in Pre (N,y) by A3, Def6; ::_thesis: verum end; ( x in Pre (N,y) implies pre N,y,x ) proof assume x in Pre (N,y) ; ::_thesis: pre N,y,x then [x,y] in Flow N by Def6; hence pre N,y,x by A1, Def4; ::_thesis: verum end; hence ( x in Pre (N,y) iff pre N,y,x ) by A2; ::_thesis: verum end; theorem :: NET_1:14 for x being set for N being Pnet for y being Element of Elements N st y in the carrier' of N holds ( x in Post (N,y) iff post N,y,x ) proof let x be set ; ::_thesis: for N being Pnet for y being Element of Elements N st y in the carrier' of N holds ( x in Post (N,y) iff post N,y,x ) let N be Pnet; ::_thesis: for y being Element of Elements N st y in the carrier' of N holds ( x in Post (N,y) iff post N,y,x ) let y be Element of Elements N; ::_thesis: ( y in the carrier' of N implies ( x in Post (N,y) iff post N,y,x ) ) assume A1: y in the carrier' of N ; ::_thesis: ( x in Post (N,y) iff post N,y,x ) A2: ( post N,y,x implies x in Post (N,y) ) proof assume post N,y,x ; ::_thesis: x in Post (N,y) then A3: [y,x] in Flow N by Def5; then x in the carrier of N by A1, Th5; then x in Elements N by XBOOLE_0:def_3; hence x in Post (N,y) by A3, Def7; ::_thesis: verum end; ( x in Post (N,y) implies post N,y,x ) proof assume x in Post (N,y) ; ::_thesis: post N,y,x then [y,x] in Flow N by Def7; hence post N,y,x by A1, Def5; ::_thesis: verum end; hence ( x in Post (N,y) iff post N,y,x ) by A2; ::_thesis: verum end; definition let N be Pnet; let x be Element of Elements N; assume A1: Elements N <> {} ; func enter (N,x) -> set means :Def8: :: NET_1:def 8 ( ( x in the carrier of N implies it = {x} ) & ( x in the carrier' of N implies it = Pre (N,x) ) ); existence ex b1 being set st ( ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Pre (N,x) ) ) proof ( not x in the carrier of N or not x in the carrier' of N ) by Th4; hence ex b1 being set st ( ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Pre (N,x) ) ) ; ::_thesis: verum end; uniqueness for b1, b2 being set st ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Pre (N,x) ) & ( x in the carrier of N implies b2 = {x} ) & ( x in the carrier' of N implies b2 = Pre (N,x) ) holds b1 = b2 by A1, XBOOLE_0:def_3; end; :: deftheorem Def8 defines enter NET_1:def_8_:_ for N being Pnet for x being Element of Elements N st Elements N <> {} holds for b3 being set holds ( b3 = enter (N,x) iff ( ( x in the carrier of N implies b3 = {x} ) & ( x in the carrier' of N implies b3 = Pre (N,x) ) ) ); theorem Th15: :: NET_1:15 for N being Pnet for x being Element of Elements N holds ( not Elements N <> {} or enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) proof let N be Pnet; ::_thesis: for x being Element of Elements N holds ( not Elements N <> {} or enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) let x be Element of Elements N; ::_thesis: ( not Elements N <> {} or enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) assume Elements N <> {} ; ::_thesis: ( enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) then ( x in the carrier of N or x in the carrier' of N ) by XBOOLE_0:def_3; hence ( enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) by Def8; ::_thesis: verum end; theorem Th16: :: NET_1:16 for N being Pnet for x being Element of Elements N st Elements N <> {} holds enter (N,x) c= Elements N proof let N be Pnet; ::_thesis: for x being Element of Elements N st Elements N <> {} holds enter (N,x) c= Elements N let x be Element of Elements N; ::_thesis: ( Elements N <> {} implies enter (N,x) c= Elements N ) assume A1: Elements N <> {} ; ::_thesis: enter (N,x) c= Elements N A2: ( enter (N,x) = {x} implies enter (N,x) c= Elements N ) proof x in Elements N by A1; then A3: for y being set st y in {x} holds y in Elements N by TARSKI:def_1; assume enter (N,x) = {x} ; ::_thesis: enter (N,x) c= Elements N hence enter (N,x) c= Elements N by A3, TARSKI:def_3; ::_thesis: verum end; ( enter (N,x) = {x} or enter (N,x) = Pre (N,x) ) by A1, Th15; hence enter (N,x) c= Elements N by A2, Th9; ::_thesis: verum end; theorem :: NET_1:17 for N being Pnet for x being Element of Elements N st Elements N <> {} holds enter (N,x) c= Elements N by Th16; definition let N be Pnet; let x be Element of Elements N; assume A1: Elements N <> {} ; func exit (N,x) -> set means :Def9: :: NET_1:def 9 ( ( x in the carrier of N implies it = {x} ) & ( x in the carrier' of N implies it = Post (N,x) ) ); existence ex b1 being set st ( ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Post (N,x) ) ) proof ( not x in the carrier of N or not x in the carrier' of N ) by Th4; hence ex b1 being set st ( ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Post (N,x) ) ) ; ::_thesis: verum end; uniqueness for b1, b2 being set st ( x in the carrier of N implies b1 = {x} ) & ( x in the carrier' of N implies b1 = Post (N,x) ) & ( x in the carrier of N implies b2 = {x} ) & ( x in the carrier' of N implies b2 = Post (N,x) ) holds b1 = b2 by A1, XBOOLE_0:def_3; end; :: deftheorem Def9 defines exit NET_1:def_9_:_ for N being Pnet for x being Element of Elements N st Elements N <> {} holds for b3 being set holds ( b3 = exit (N,x) iff ( ( x in the carrier of N implies b3 = {x} ) & ( x in the carrier' of N implies b3 = Post (N,x) ) ) ); theorem Th18: :: NET_1:18 for N being Pnet for x being Element of Elements N holds ( not Elements N <> {} or exit (N,x) = {x} or exit (N,x) = Post (N,x) ) proof let N be Pnet; ::_thesis: for x being Element of Elements N holds ( not Elements N <> {} or exit (N,x) = {x} or exit (N,x) = Post (N,x) ) let x be Element of Elements N; ::_thesis: ( not Elements N <> {} or exit (N,x) = {x} or exit (N,x) = Post (N,x) ) assume Elements N <> {} ; ::_thesis: ( exit (N,x) = {x} or exit (N,x) = Post (N,x) ) then ( x in the carrier of N or x in the carrier' of N ) by XBOOLE_0:def_3; hence ( exit (N,x) = {x} or exit (N,x) = Post (N,x) ) by Def9; ::_thesis: verum end; theorem Th19: :: NET_1:19 for N being Pnet for x being Element of Elements N st Elements N <> {} holds exit (N,x) c= Elements N proof let N be Pnet; ::_thesis: for x being Element of Elements N st Elements N <> {} holds exit (N,x) c= Elements N let x be Element of Elements N; ::_thesis: ( Elements N <> {} implies exit (N,x) c= Elements N ) assume A1: Elements N <> {} ; ::_thesis: exit (N,x) c= Elements N A2: ( exit (N,x) = {x} implies exit (N,x) c= Elements N ) proof x in Elements N by A1; then A3: for y being set st y in {x} holds y in Elements N by TARSKI:def_1; assume exit (N,x) = {x} ; ::_thesis: exit (N,x) c= Elements N hence exit (N,x) c= Elements N by A3, TARSKI:def_3; ::_thesis: verum end; ( exit (N,x) = {x} or exit (N,x) = Post (N,x) ) by A1, Th18; hence exit (N,x) c= Elements N by A2, Th11; ::_thesis: verum end; theorem :: NET_1:20 for N being Pnet for x being Element of Elements N st Elements N <> {} holds exit (N,x) c= Elements N by Th19; definition let N be Pnet; let x be Element of Elements N; func field (N,x) -> set equals :: NET_1:def 10 (enter (N,x)) \/ (exit (N,x)); correctness coherence (enter (N,x)) \/ (exit (N,x)) is set ; ; end; :: deftheorem defines field NET_1:def_10_:_ for N being Pnet for x being Element of Elements N holds field (N,x) = (enter (N,x)) \/ (exit (N,x)); definition let N be PT_net_Str ; let x be Element of the carrier' of N; func Prec (N,x) -> set means :: NET_1:def 11 for y being set holds ( y in it iff ( y in the carrier of N & [y,x] in Flow N ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ( y in the carrier of N & [y,x] in Flow N ) ) proof defpred S1[ set ] means [$1,x] in Flow N; thus ex IT being set st for y being set holds ( y in IT iff ( y in the carrier of N & S1[y] ) ) from XBOOLE_0:sch_1(); ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ( y in the carrier of N & [y,x] in Flow N ) ) ) & ( for y being set holds ( y in b2 iff ( y in the carrier of N & [y,x] in Flow N ) ) ) holds b1 = b2 proof let X, Y be set ; ::_thesis: ( ( for y being set holds ( y in X iff ( y in the carrier of N & [y,x] in Flow N ) ) ) & ( for y being set holds ( y in Y iff ( y in the carrier of N & [y,x] in Flow N ) ) ) implies X = Y ) assume that A1: for y being set holds ( y in X iff ( y in the carrier of N & [y,x] in Flow N ) ) and A2: for y being set holds ( y in Y iff ( y in the carrier of N & [y,x] in Flow N ) ) ; ::_thesis: X = Y A3: for y being set st y in Y holds y in X proof let y be set ; ::_thesis: ( y in Y implies y in X ) assume y in Y ; ::_thesis: y in X then ( y in the carrier of N & [y,x] in Flow N ) by A2; hence y in X by A1; ::_thesis: verum end; for y being set st y in X holds y in Y proof let y be set ; ::_thesis: ( y in X implies y in Y ) assume y in X ; ::_thesis: y in Y then ( y in the carrier of N & [y,x] in Flow N ) by A1; hence y in Y by A2; ::_thesis: verum end; hence X = Y by A3, TARSKI:1; ::_thesis: verum end; func Postc (N,x) -> set means :: NET_1:def 12 for y being set holds ( y in it iff ( y in the carrier of N & [x,y] in Flow N ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ( y in the carrier of N & [x,y] in Flow N ) ) proof defpred S1[ set ] means [x,$1] in Flow N; thus ex IT being set st for y being set holds ( y in IT iff ( y in the carrier of N & S1[y] ) ) from XBOOLE_0:sch_1(); ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ( y in the carrier of N & [x,y] in Flow N ) ) ) & ( for y being set holds ( y in b2 iff ( y in the carrier of N & [x,y] in Flow N ) ) ) holds b1 = b2 proof let X, Y be set ; ::_thesis: ( ( for y being set holds ( y in X iff ( y in the carrier of N & [x,y] in Flow N ) ) ) & ( for y being set holds ( y in Y iff ( y in the carrier of N & [x,y] in Flow N ) ) ) implies X = Y ) assume that A4: for y being set holds ( y in X iff ( y in the carrier of N & [x,y] in Flow N ) ) and A5: for y being set holds ( y in Y iff ( y in the carrier of N & [x,y] in Flow N ) ) ; ::_thesis: X = Y A6: for y being set st y in Y holds y in X proof let y be set ; ::_thesis: ( y in Y implies y in X ) assume y in Y ; ::_thesis: y in X then ( y in the carrier of N & [x,y] in Flow N ) by A5; hence y in X by A4; ::_thesis: verum end; for y being set st y in X holds y in Y proof let y be set ; ::_thesis: ( y in X implies y in Y ) assume y in X ; ::_thesis: y in Y then ( y in the carrier of N & [x,y] in Flow N ) by A4; hence y in Y by A5; ::_thesis: verum end; hence X = Y by A6, TARSKI:1; ::_thesis: verum end; end; :: deftheorem defines Prec NET_1:def_11_:_ for N being PT_net_Str for x being Element of the carrier' of N for b3 being set holds ( b3 = Prec (N,x) iff for y being set holds ( y in b3 iff ( y in the carrier of N & [y,x] in Flow N ) ) ); :: deftheorem defines Postc NET_1:def_12_:_ for N being PT_net_Str for x being Element of the carrier' of N for b3 being set holds ( b3 = Postc (N,x) iff for y being set holds ( y in b3 iff ( y in the carrier of N & [x,y] in Flow N ) ) ); definition let N be Pnet; let X be set ; func Entr (N,X) -> set means :Def13: :: NET_1:def 13 for x being set holds ( x in it iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ); existence ex b1 being set st for x being set holds ( x in b1 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) proof defpred S1[ set ] means ex y being Element of Elements N st ( y in X & $1 = enter (N,y) ); consider F being Subset-Family of (Elements N) such that A1: for x being Subset of (Elements N) holds ( x in F iff S1[x] ) from SUBSET_1:sch_3(); take F ; ::_thesis: for x being set holds ( x in F iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) thus for x being set holds ( x in F iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for x being set holds ( x in b1 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ) & ( for x being set holds ( x in b2 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ) holds b1 = b2 proof let W, Y be set ; ::_thesis: ( ( for x being set holds ( x in W iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ) & ( for x being set holds ( x in Y iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ) implies W = Y ) assume that A2: for x being set holds ( x in W iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) and A3: for x being set holds ( x in Y iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ; ::_thesis: W = Y A4: for x being set st x in Y holds x in W proof let x be set ; ::_thesis: ( x in Y implies x in W ) assume x in Y ; ::_thesis: x in W then ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) by A3; hence x in W by A2; ::_thesis: verum end; for x being set st x in W holds x in Y proof let x be set ; ::_thesis: ( x in W implies x in Y ) assume x in W ; ::_thesis: x in Y then ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) by A2; hence x in Y by A3; ::_thesis: verum end; hence W = Y by A4, TARSKI:1; ::_thesis: verum end; func Ext (N,X) -> set means :Def14: :: NET_1:def 14 for x being set holds ( x in it iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ); existence ex b1 being set st for x being set holds ( x in b1 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) proof defpred S1[ set ] means ex y being Element of Elements N st ( y in X & $1 = exit (N,y) ); consider F being Subset-Family of (Elements N) such that A5: for x being Subset of (Elements N) holds ( x in F iff S1[x] ) from SUBSET_1:sch_3(); take F ; ::_thesis: for x being set holds ( x in F iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) thus for x being set holds ( x in F iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) by A5; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for x being set holds ( x in b1 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ) & ( for x being set holds ( x in b2 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ) holds b1 = b2 proof let W, Y be set ; ::_thesis: ( ( for x being set holds ( x in W iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ) & ( for x being set holds ( x in Y iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ) implies W = Y ) assume that A6: for x being set holds ( x in W iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) and A7: for x being set holds ( x in Y iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ; ::_thesis: W = Y A8: for x being set st x in Y holds x in W proof let x be set ; ::_thesis: ( x in Y implies x in W ) assume x in Y ; ::_thesis: x in W then ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) by A7; hence x in W by A6; ::_thesis: verum end; for x being set st x in W holds x in Y proof let x be set ; ::_thesis: ( x in W implies x in Y ) assume x in W ; ::_thesis: x in Y then ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) by A6; hence x in Y by A7; ::_thesis: verum end; hence W = Y by A8, TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def13 defines Entr NET_1:def_13_:_ for N being Pnet for X being set for b3 being set holds ( b3 = Entr (N,X) iff for x being set holds ( x in b3 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = enter (N,y) ) ) ) ); :: deftheorem Def14 defines Ext NET_1:def_14_:_ for N being Pnet for X being set for b3 being set holds ( b3 = Ext (N,X) iff for x being set holds ( x in b3 iff ( x c= Elements N & ex y being Element of Elements N st ( y in X & x = exit (N,y) ) ) ) ); theorem Th21: :: NET_1:21 for N being Pnet for x being Element of Elements N for X being set st Elements N <> {} & x in X holds enter (N,x) in Entr (N,X) proof let N be Pnet; ::_thesis: for x being Element of Elements N for X being set st Elements N <> {} & x in X holds enter (N,x) in Entr (N,X) let x be Element of Elements N; ::_thesis: for X being set st Elements N <> {} & x in X holds enter (N,x) in Entr (N,X) let X be set ; ::_thesis: ( Elements N <> {} & x in X implies enter (N,x) in Entr (N,X) ) assume that A1: Elements N <> {} and A2: x in X ; ::_thesis: enter (N,x) in Entr (N,X) enter (N,x) c= Elements N by A1, Th16; hence enter (N,x) in Entr (N,X) by A2, Def13; ::_thesis: verum end; theorem Th22: :: NET_1:22 for N being Pnet for x being Element of Elements N for X being set st Elements N <> {} & x in X holds exit (N,x) in Ext (N,X) proof let N be Pnet; ::_thesis: for x being Element of Elements N for X being set st Elements N <> {} & x in X holds exit (N,x) in Ext (N,X) let x be Element of Elements N; ::_thesis: for X being set st Elements N <> {} & x in X holds exit (N,x) in Ext (N,X) let X be set ; ::_thesis: ( Elements N <> {} & x in X implies exit (N,x) in Ext (N,X) ) assume that A1: Elements N <> {} and A2: x in X ; ::_thesis: exit (N,x) in Ext (N,X) exit (N,x) c= Elements N by A1, Th19; hence exit (N,x) in Ext (N,X) by A2, Def14; ::_thesis: verum end; definition let N be Pnet; let X be set ; func Input (N,X) -> set equals :: NET_1:def 15 union (Entr (N,X)); correctness coherence union (Entr (N,X)) is set ; ; func Output (N,X) -> set equals :: NET_1:def 16 union (Ext (N,X)); correctness coherence union (Ext (N,X)) is set ; ; end; :: deftheorem defines Input NET_1:def_15_:_ for N being Pnet for X being set holds Input (N,X) = union (Entr (N,X)); :: deftheorem defines Output NET_1:def_16_:_ for N being Pnet for X being set holds Output (N,X) = union (Ext (N,X)); theorem :: NET_1:23 for N being Pnet for x, X being set st X c= Elements N holds ( x in Input (N,X) iff ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) proof let N be Pnet; ::_thesis: for x, X being set st X c= Elements N holds ( x in Input (N,X) iff ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) let x, X be set ; ::_thesis: ( X c= Elements N implies ( x in Input (N,X) iff ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) ) A1: ( x in Input (N,X) implies ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) proof assume x in Input (N,X) ; ::_thesis: ex y being Element of Elements N st ( y in X & x in enter (N,y) ) then consider y being set such that A2: x in y and A3: y in Entr (N,X) by TARSKI:def_4; ex z being Element of Elements N st ( z in X & y = enter (N,z) ) by A3, Def13; hence ex y being Element of Elements N st ( y in X & x in enter (N,y) ) by A2; ::_thesis: verum end; assume A4: X c= Elements N ; ::_thesis: ( x in Input (N,X) iff ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) ( ex y being Element of Elements N st ( y in X & x in enter (N,y) ) implies x in Input (N,X) ) proof given y being Element of Elements N such that A5: y in X and A6: x in enter (N,y) ; ::_thesis: x in Input (N,X) enter (N,y) in Entr (N,X) by A4, A5, Th21; hence x in Input (N,X) by A6, TARSKI:def_4; ::_thesis: verum end; hence ( x in Input (N,X) iff ex y being Element of Elements N st ( y in X & x in enter (N,y) ) ) by A1; ::_thesis: verum end; theorem :: NET_1:24 for N being Pnet for x, X being set st X c= Elements N holds ( x in Output (N,X) iff ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) proof let N be Pnet; ::_thesis: for x, X being set st X c= Elements N holds ( x in Output (N,X) iff ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) let x, X be set ; ::_thesis: ( X c= Elements N implies ( x in Output (N,X) iff ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) ) A1: ( x in Output (N,X) implies ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) proof assume x in Output (N,X) ; ::_thesis: ex y being Element of Elements N st ( y in X & x in exit (N,y) ) then consider y being set such that A2: x in y and A3: y in Ext (N,X) by TARSKI:def_4; ex z being Element of Elements N st ( z in X & y = exit (N,z) ) by A3, Def14; hence ex y being Element of Elements N st ( y in X & x in exit (N,y) ) by A2; ::_thesis: verum end; assume A4: X c= Elements N ; ::_thesis: ( x in Output (N,X) iff ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) ( ex y being Element of Elements N st ( y in X & x in exit (N,y) ) implies x in Output (N,X) ) proof given y being Element of Elements N such that A5: y in X and A6: x in exit (N,y) ; ::_thesis: x in Output (N,X) exit (N,y) in Ext (N,X) by A4, A5, Th22; hence x in Output (N,X) by A6, TARSKI:def_4; ::_thesis: verum end; hence ( x in Output (N,X) iff ex y being Element of Elements N st ( y in X & x in exit (N,y) ) ) by A1; ::_thesis: verum end; theorem :: NET_1:25 for N being Pnet for X being Subset of (Elements N) for x being Element of Elements N st Elements N <> {} holds ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) proof let N be Pnet; ::_thesis: for X being Subset of (Elements N) for x being Element of Elements N st Elements N <> {} holds ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) let X be Subset of (Elements N); ::_thesis: for x being Element of Elements N st Elements N <> {} holds ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) let x be Element of Elements N; ::_thesis: ( Elements N <> {} implies ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) ) A1: ( ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) implies x in Input (N,X) ) proof A2: ( ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) implies x in Input (N,X) ) proof given y being Element of Elements N such that A3: y in X and A4: y in the carrier' of N and A5: pre N,y,x ; ::_thesis: x in Input (N,X) [x,y] in Flow N by A5, Def4; then x in Pre (N,y) by A4, Def6; then A6: x in enter (N,y) by A4, Def8; enter (N,y) in Entr (N,X) by A3, Th21; hence x in Input (N,X) by A6, TARSKI:def_4; ::_thesis: verum end; A7: ( x in X & x in the carrier of N implies x in Input (N,X) ) proof assume that A8: x in X and A9: x in the carrier of N ; ::_thesis: x in Input (N,X) ( enter (N,x) = {x} & {x} c= Elements N ) by A9, Def8, ZFMISC_1:31; then A10: {x} in Entr (N,X) by A8, Def13; x in {x} by TARSKI:def_1; hence x in Input (N,X) by A10, TARSKI:def_4; ::_thesis: verum end; assume ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ; ::_thesis: x in Input (N,X) hence x in Input (N,X) by A7, A2; ::_thesis: verum end; assume A11: Elements N <> {} ; ::_thesis: ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) ( not x in Input (N,X) or ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) proof assume x in Input (N,X) ; ::_thesis: ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) then ex y being set st ( x in y & y in Entr (N,X) ) by TARSKI:def_4; then consider y being set such that A12: y in Entr (N,X) and A13: x in y ; consider z being Element of Elements N such that A14: z in X and A15: y = enter (N,z) by A12, Def13; A16: ( z in the carrier' of N implies y = Pre (N,z) ) by A15, Def8; A17: ( z in the carrier' of N implies ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) proof assume A18: z in the carrier' of N ; ::_thesis: ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) take z ; ::_thesis: ( z in X & z in the carrier' of N & pre N,z,x ) [x,z] in Flow N by A13, A16, A18, Def6; hence ( z in X & z in the carrier' of N & pre N,z,x ) by A14, A18, Def4; ::_thesis: verum end; A19: ( z in the carrier of N or z in the carrier' of N ) by A11, XBOOLE_0:def_3; ( z in the carrier of N implies y = {z} ) by A15, Def8; hence ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) by A13, A14, A19, A17, TARSKI:def_1; ::_thesis: verum end; hence ( x in Input (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & pre N,y,x ) ) ) by A1; ::_thesis: verum end; theorem :: NET_1:26 for N being Pnet for X being Subset of (Elements N) for x being Element of Elements N st Elements N <> {} holds ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) proof let N be Pnet; ::_thesis: for X being Subset of (Elements N) for x being Element of Elements N st Elements N <> {} holds ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) let X be Subset of (Elements N); ::_thesis: for x being Element of Elements N st Elements N <> {} holds ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) let x be Element of Elements N; ::_thesis: ( Elements N <> {} implies ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) ) A1: ( ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) implies x in Output (N,X) ) proof A2: ( ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) implies x in Output (N,X) ) proof given y being Element of Elements N such that A3: y in X and A4: y in the carrier' of N and A5: post N,y,x ; ::_thesis: x in Output (N,X) [y,x] in Flow N by A5, Def5; then x in Post (N,y) by A4, Def7; then A6: x in exit (N,y) by A4, Def9; exit (N,y) in Ext (N,X) by A3, Th22; hence x in Output (N,X) by A6, TARSKI:def_4; ::_thesis: verum end; A7: ( x in X & x in the carrier of N implies x in Output (N,X) ) proof assume that A8: x in X and A9: x in the carrier of N ; ::_thesis: x in Output (N,X) ( exit (N,x) = {x} & {x} c= Elements N ) by A9, Def9, ZFMISC_1:31; then A10: {x} in Ext (N,X) by A8, Def14; x in {x} by TARSKI:def_1; hence x in Output (N,X) by A10, TARSKI:def_4; ::_thesis: verum end; assume ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ; ::_thesis: x in Output (N,X) hence x in Output (N,X) by A7, A2; ::_thesis: verum end; assume A11: Elements N <> {} ; ::_thesis: ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) ( not x in Output (N,X) or ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) proof assume x in Output (N,X) ; ::_thesis: ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) then ex y being set st ( x in y & y in Ext (N,X) ) by TARSKI:def_4; then consider y being set such that A12: y in Ext (N,X) and A13: x in y ; consider z being Element of Elements N such that A14: z in X and A15: y = exit (N,z) by A12, Def14; A16: ( z in the carrier' of N implies y = Post (N,z) ) by A15, Def9; A17: ( z in the carrier' of N implies ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) proof assume A18: z in the carrier' of N ; ::_thesis: ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) take z ; ::_thesis: ( z in X & z in the carrier' of N & post N,z,x ) [z,x] in Flow N by A13, A16, A18, Def7; hence ( z in X & z in the carrier' of N & post N,z,x ) by A14, A18, Def5; ::_thesis: verum end; A19: ( z in the carrier of N or z in the carrier' of N ) by A11, XBOOLE_0:def_3; ( z in the carrier of N implies y = {z} ) by A15, Def9; hence ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) by A13, A14, A19, A17, TARSKI:def_1; ::_thesis: verum end; hence ( x in Output (N,X) iff ( ( x in X & x in the carrier of N ) or ex y being Element of Elements N st ( y in X & y in the carrier' of N & post N,y,x ) ) ) by A1; ::_thesis: verum end;