pnproc_1.miz
begin
reserve i,j,k,l for
Nat,
x,x1,x2,y1,y2 for
set;
definition
let P be
set;
mode
marking of P is
Function of P,
NAT ;
end
reserve P,p,x,y,x1,x2 for
set,
m1,m2,m3,m4,m for
marking of P,
i,j,j1,j2,k,k1,k2,l,l1 for
Nat;
notation
let P be
set;
let m be
marking of P;
let p be
object;
synonym m
multitude_of p for m
. p;
end
scheme ::
PNPROC_1:sch1
MarkingLambda { P() ->
set , F(
object) ->
Element of
NAT } :
ex m be
Function of P(),
NAT st for p st p
in P() holds (m
. p)
= F(p);
consider m be
Function such that
A1: (
dom m)
= P() and
A2: for p be
object st p
in P() holds (m
. p)
= F(p) from
FUNCT_1:sch 3;
(
rng m)
c=
NAT
proof
let y be
object;
assume y
in (
rng m);
then
consider x be
object such that
A3: x
in (
dom m) and
A4: y
= (m
. x) by
FUNCT_1:def 3;
y
= F(x) by
A1,
A2,
A3,
A4;
hence thesis;
end;
then
reconsider m as
marking of P() by
A1,
FUNCT_2: 67,
RELSET_1: 4;
take m;
thus thesis by
A2;
end;
definition
let P, m1, m2;
:: original:
=
redefine
::
PNPROC_1:def1
pred m1
= m2 means for p be
object st p
in P holds (m1
multitude_of p)
= (m2
multitude_of p);
compatibility
proof
thus m1
= m2 implies for p be
object st p
in P holds (m1
multitude_of p)
= (m2
multitude_of p);
A1: (
dom m1)
= P by
FUNCT_2:def 1;
(
dom m2)
= P by
FUNCT_2:def 1;
hence (for p be
object st p
in P holds (m1
multitude_of p)
= (m2
multitude_of p)) implies m1
= m2 by
A1,
FUNCT_1: 2;
end;
end
definition
let P;
::
PNPROC_1:def2
func
{$} P ->
marking of P equals (P
-->
0 );
coherence ;
end
definition
let P be
set;
let m1,m2 be
marking of P;
::
PNPROC_1:def3
pred m1
c= m2 means for p be
set st p
in P holds (m1
multitude_of p)
<= (m2
multitude_of p);
reflexivity ;
end
Lm1: p
in P implies ((
{$} P)
. p)
=
0 by
FUNCOP_1: 7;
theorem ::
PNPROC_1:1
Th1: (
{$} P)
c= m by
Lm1;
theorem ::
PNPROC_1:2
Th2: m1
c= m2 & m2
c= m3 implies m1
c= m3
proof
assume that
A1: m1
c= m2 and
A2: m2
c= m3;
let p;
assume
A3: p
in P;
then
A4: (m1
. p)
<= (m2
. p) by
A1;
(m2
. p)
<= (m3
. p) by
A2,
A3;
hence thesis by
A4,
XXREAL_0: 2;
end;
definition
let P be
set;
let m1,m2 be
marking of P;
:: original:
+
redefine
::
PNPROC_1:def4
func m1
+ m2 ->
marking of P means
:
Def4: for p be
set st p
in P holds (it
multitude_of p)
= ((m1
multitude_of p)
+ (m2
multitude_of p));
coherence
proof
(
dom (m1
+ m2))
= P by
FUNCT_2:def 1;
hence thesis;
end;
compatibility
proof
let m be
marking of P;
thus m
= (m1
+ m2) implies for p be
set st p
in P holds (m
multitude_of p)
= ((m1
multitude_of p)
+ (m2
multitude_of p)) by
VALUED_1: 1;
assume
A1: for p be
set st p
in P holds (m
multitude_of p)
= ((m1
multitude_of p)
+ (m2
multitude_of p));
A2: (
dom m)
= P by
FUNCT_2:def 1;
A3: (
dom (m1
+ m2))
= ((
dom m1)
/\ (
dom m2)) by
VALUED_1:def 1
.= (P
/\ (
dom m2)) by
FUNCT_2:def 1
.= (P
/\ P) by
FUNCT_2:def 1;
now
let x be
object;
assume
A4: x
in (
dom m);
hence (m
. x)
= ((m1
. x)
+ (m2
. x)) by
A1,
A2
.= ((m1
+ m2)
. x) by
A2,
A3,
A4,
VALUED_1:def 1;
end;
hence thesis by
A2,
A3,
FUNCT_1: 2;
end;
end
theorem ::
PNPROC_1:3
(m
+ (
{$} P))
= m
proof
now
let p;
assume p
in P;
then ((
{$} P)
. p)
=
0 by
Lm1;
hence (m
. p)
= ((m
. p)
+ ((
{$} P)
. p));
end;
hence thesis by
Def4;
end;
definition
let P be
set;
let m1,m2 be
marking of P;
::
PNPROC_1:def5
func m1
- m2 ->
marking of P means
:
Def5: for p be
set st p
in P holds (it
multitude_of p)
= ((m1
multitude_of p)
- (m2
multitude_of p));
existence
proof
deffunc
F(
set) = ((m1
multitude_of $1)
-' (m2
multitude_of $1));
consider m be
marking of P such that
A2: for p st p
in P holds (m
multitude_of p)
=
F(p) from
MarkingLambda;
take m;
let p;
assume
A3: p
in P;
then
A4: (m1
multitude_of p)
>= (m2
multitude_of p) by
A1;
thus (m
multitude_of p)
= ((m1
multitude_of p)
-' (m2
multitude_of p)) by
A2,
A3
.= ((m1
multitude_of p)
- (m2
multitude_of p)) by
A4,
XREAL_1: 233;
end;
uniqueness
proof
let M1,M2 be
marking of P such that
A5: for p be
set st p
in P holds (M1
multitude_of p)
= ((m1
multitude_of p)
- (m2
multitude_of p)) and
A6: for p st p
in P holds (M2
multitude_of p)
= ((m1
multitude_of p)
- (m2
multitude_of p));
let p be
object;
assume
A7: p
in P;
hence (M1
multitude_of p)
= ((m1
multitude_of p)
- (m2
multitude_of p)) by
A5
.= (M2
multitude_of p) by
A6,
A7;
end;
end
theorem ::
PNPROC_1:4
Th4: m1
c= (m1
+ m2)
proof
let p;
assume p
in P;
then ((m1
+ m2)
multitude_of p)
= ((m1
multitude_of p)
+ (m2
multitude_of p)) by
Def4;
hence thesis by
NAT_1: 11;
end;
theorem ::
PNPROC_1:5
(m
- (
{$} P))
= m
proof
A1:
now
let p;
assume p
in P;
then ((
{$} P)
. p)
=
0 by
Lm1;
hence (m
. p)
= ((m
. p)
- ((
{$} P)
. p));
end;
(
{$} P)
c= m by
Th1;
hence thesis by
A1,
Def5;
end;
theorem ::
PNPROC_1:6
m1
c= m2 & m2
c= m3 implies (m3
- m2)
c= (m3
- m1)
proof
assume that
A1: m1
c= m2 and
A2: m2
c= m3;
A3: m1
c= m3 by
A1,
A2,
Th2;
let p;
assume
A4: p
in P;
then
A5: (m1
. p)
<= (m2
. p) by
A1;
A6: ((m3
- m1)
. p)
= ((m3
. p)
- (m1
. p)) by
A3,
A4,
Def5;
((m3
- m2)
. p)
= ((m3
. p)
- (m2
. p)) by
A2,
A4,
Def5;
hence thesis by
A5,
A6,
XREAL_1: 10;
end;
theorem ::
PNPROC_1:7
Th7: ((m1
+ m2)
- m2)
= m1
proof
let p be
object;
assume
A1: p
in P;
m2
c= (m1
+ m2) by
Th4;
hence (((m1
+ m2)
- m2)
. p)
= (((m1
+ m2)
. p)
- (m2
. p)) by
A1,
Def5
.= (((m1
. p)
+ (m2
. p))
- (m2
. p)) by
A1,
Def4
.= (m1
. p);
end;
theorem ::
PNPROC_1:8
Th8: m
c= m1 & m1
c= m2 implies (m1
- m)
c= (m2
- m)
proof
assume
A1: m
c= m1;
assume
A2: m1
c= m2;
let p;
assume
A3: p
in P;
A4: m
c= m2 by
A1,
A2,
Th2;
(m1
. p)
<= (m2
. p) by
A2,
A3;
then ((m1
. p)
- (m
. p))
<= ((m2
. p)
- (m
. p)) by
XREAL_1: 9;
then ((m1
- m)
. p)
<= ((m2
. p)
- (m
. p)) by
A1,
A3,
Def5;
hence thesis by
A3,
A4,
Def5;
end;
theorem ::
PNPROC_1:9
Th9: m1
c= m2 implies ((m2
+ m3)
- m1)
= ((m2
- m1)
+ m3)
proof
assume
A1: m1
c= m2;
let p be
object;
assume
A2: p
in P;
m2
c= (m2
+ m3) by
Th4;
then
A3: m1
c= (m2
+ m3) by
A1,
Th2;
(((m2
- m1)
+ m3)
. p)
= (((m2
- m1)
. p)
+ (m3
. p)) by
A2,
Def4
.= ((m3
. p)
+ ((m2
. p)
- (m1
. p))) by
A1,
A2,
Def5
.= (((m3
. p)
+ (m2
. p))
- (m1
. p))
.= (((m3
+ m2)
. p)
- (m1
. p)) by
A2,
Def4
.= (((m2
+ m3)
- m1)
. p) by
A2,
A3,
Def5;
hence thesis;
end;
theorem ::
PNPROC_1:10
m1
c= m2 & m2
c= m1 implies m1
= m2
proof
assume
A1: m1
c= m2;
assume
A2: m2
c= m1;
let p be
object;
assume
A3: p
in P;
then
A4: (m1
. p)
<= (m2
. p) by
A1;
(m2
. p)
<= (m1
. p) by
A2,
A3;
hence thesis by
A4,
XXREAL_0: 1;
end;
theorem ::
PNPROC_1:11
Th11: ((m1
+ m2)
+ m3)
= (m1
+ (m2
+ m3))
proof
let p be
object;
assume
A1: p
in P;
then
A2: (((m1
+ m2)
+ m3)
. p)
= (((m1
+ m2)
. p)
+ (m3
. p)) by
Def4
.= (((m1
. p)
+ (m2
. p))
+ (m3
. p)) by
A1,
Def4;
((m1
+ (m2
+ m3))
. p)
= ((m1
. p)
+ ((m2
+ m3)
. p)) by
A1,
Def4
.= ((m1
. p)
+ ((m2
. p)
+ (m3
. p))) by
A1,
Def4
.= (((m1
. p)
+ (m2
. p))
+ (m3
. p));
hence thesis by
A2;
end;
theorem ::
PNPROC_1:12
m1
c= m2 & m3
c= m4 implies (m1
+ m3)
c= (m2
+ m4)
proof
assume
A1: m1
c= m2;
assume
A2: m3
c= m4;
let p;
assume
A3: p
in P;
then
A4: (m1
. p)
<= (m2
. p) by
A1;
(m3
. p)
<= (m4
. p) by
A2,
A3;
then
A5: ((m1
. p)
+ (m3
. p))
<= ((m2
. p)
+ (m4
. p)) by
A4,
XREAL_1: 7;
((m1
+ m3)
. p)
= ((m1
. p)
+ (m3
. p)) by
A3,
Def4;
hence thesis by
A3,
A5,
Def4;
end;
theorem ::
PNPROC_1:13
m1
c= m2 implies (m2
- m1)
c= m2
proof
assume
A1: m1
c= m2;
let p;
assume p
in P;
then
A2: ((m2
- m1)
. p)
= ((m2
. p)
- (m1
. p)) by
A1,
Def5;
((m2
. p)
-
0 )
= (m2
. p);
hence thesis by
A2,
XREAL_1: 13;
end;
theorem ::
PNPROC_1:14
Th14: m1
c= m2 & m3
c= m4 & m4
c= m1 implies (m1
- m4)
c= (m2
- m3)
proof
assume
A1: m1
c= m2;
assume
A2: m3
c= m4;
assume
A3: m4
c= m1;
then m4
c= m2 by
A1,
Th2;
then
A4: m3
c= m2 by
A2,
Th2;
let p;
assume
A5: p
in P;
then
A6: (m1
. p)
<= (m2
. p) by
A1;
A7: (m3
. p)
<= (m4
. p) by
A2,
A5;
A8: ((m2
- m3)
. p)
= ((m2
. p)
- (m3
. p)) by
A4,
A5,
Def5;
((m1
- m4)
. p)
= ((m1
. p)
- (m4
. p)) by
A3,
A5,
Def5;
hence thesis by
A6,
A7,
A8,
XREAL_1: 13;
end;
theorem ::
PNPROC_1:15
Th15: m1
c= m2 implies m2
= ((m2
- m1)
+ m1)
proof
assume
A1: m1
c= m2;
let p be
object;
assume
A2: p
in P;
then (((m2
- m1)
+ m1)
. p)
= (((m2
- m1)
. p)
+ (m1
. p)) by
Def4
.= (((m2
. p)
- (m1
. p))
+ (m1
. p)) by
A1,
A2,
Def5
.= (m2
. p);
hence thesis;
end;
theorem ::
PNPROC_1:16
Th16: ((m1
+ m2)
- m1)
= m2
proof
A1: m1
c= (m1
+ m2) by
Th4;
let p be
object;
assume
A2: p
in P;
then (((m1
+ m2)
- m1)
. p)
= (((m1
+ m2)
. p)
- (m1
. p)) by
A1,
Def5
.= (((m1
. p)
+ (m2
. p))
- (m1
. p)) by
A2,
Def4
.= (m2
. p);
hence thesis;
end;
theorem ::
PNPROC_1:17
Th17: (m2
+ m3)
c= m1 implies ((m1
- m2)
- m3)
= (m1
- (m2
+ m3))
proof
assume (m2
+ m3)
c= m1;
then ((m1
- m2)
- m3)
= ((((m1
- (m2
+ m3))
+ (m2
+ m3))
- m2)
- m3) by
Th15
.= (((((m1
- (m2
+ m3))
+ m3)
+ m2)
- m2)
- m3) by
Th11
.= (((m1
- (m2
+ m3))
+ m3)
- m3) by
Th16
.= (m1
- (m2
+ m3)) by
Th16;
hence thesis;
end;
theorem ::
PNPROC_1:18
m3
c= m2 & m2
c= m1 implies (m1
- (m2
- m3))
= ((m1
- m2)
+ m3)
proof
assume
A1: m3
c= m2;
assume
A2: m2
c= m1;
A3: (m2
- m3)
c= (m3
+ (m2
- m3)) by
Th4;
A4: m2
= (m3
+ (m2
- m3)) by
A1,
Th15;
then ((m3
+ (m2
- m3))
- (m2
- m3))
c= (m1
- (m2
- m3)) by
A2,
A3,
Th14;
then
A5: m3
c= (m1
- (m2
- m3)) by
Th16;
thus ((m1
- m2)
+ m3)
= (((m1
- (m2
- m3))
- m3)
+ m3) by
A2,
A4,
Th17
.= (m1
- (m2
- m3)) by
A5,
Th15;
end;
begin
definition
let P;
::
PNPROC_1:def6
mode
transition of P ->
set means
:
Def6: ex m1, m2 st it
=
[m1, m2];
existence
proof
set m1 = the
marking of P;
take
[m1, m1];
thus thesis;
end;
end
reserve t,t1,t2 for
transition of P;
notation
let P, t;
synonym
Pre t for t
`1 ;
synonym
Post t for t
`2 ;
end
definition
let P, t;
:: original:
Pre
redefine
func
Pre t ->
marking of P ;
coherence
proof
ex m1, m2 st t
=
[m1, m2] by
Def6;
hence thesis;
end;
:: original:
Post
redefine
func
Post t ->
marking of P ;
coherence
proof
ex m1, m2 st t
=
[m1, m2] by
Def6;
hence thesis;
end;
end
definition
let P, m, t;
::
PNPROC_1:def7
func
fire (t,m) ->
marking of P equals
:
Def7: ((m
- (
Pre t))
+ (
Post t)) if (
Pre t)
c= m
otherwise m;
coherence ;
consistency ;
end
theorem ::
PNPROC_1:19
((
Pre t1)
+ (
Pre t2))
c= m implies (
fire (t2,(
fire (t1,m))))
= ((((m
- (
Pre t1))
- (
Pre t2))
+ (
Post t1))
+ (
Post t2))
proof
assume
A1: ((
Pre t1)
+ (
Pre t2))
c= m;
A2: (
Pre t1)
c= ((
Pre t1)
+ (
Pre t2)) by
Th4;
then
A3: (
Pre t1)
c= m by
A1,
Th2;
then
A4: (
fire (t1,m))
= ((m
- (
Pre t1))
+ (
Post t1)) by
Def7;
A5: (
Pre t2)
= (((
Pre t2)
+ (
Pre t1))
- (
Pre t1)) by
Th7;
A6: (((
Pre t1)
+ (
Pre t2))
- (
Pre t1))
c= (m
- (
Pre t1)) by
A1,
A2,
Th8;
(m
- (
Pre t1))
c= ((m
- (
Pre t1))
+ (
Post t1)) by
Th4;
then (
Pre t2)
c= (
fire (t1,m)) by
A4,
A5,
A6,
Th2;
hence (
fire (t2,(
fire (t1,m))))
= (((
fire (t1,m))
- (
Pre t2))
+ (
Post t2)) by
Def7
.= ((((m
- (
Pre t1))
+ (
Post t1))
- (
Pre t2))
+ (
Post t2)) by
A3,
Def7
.= ((((m
- (
Pre t1))
- (
Pre t2))
+ (
Post t1))
+ (
Post t2)) by
A1,
A2,
A5,
Th8,
Th9;
end;
definition
let P, t;
::
PNPROC_1:def8
func
fire t ->
Function means
:
Def8: (
dom it )
= (
Funcs (P,
NAT )) & for m be
marking of P holds (it
. m)
= (
fire (t,m));
existence
proof
defpred
P[
object,
object] means ex m st m
= $1 & $2
= (
fire (t,m));
A1: for x be
object st x
in (
Funcs (P,
NAT )) holds ex y be
object st
P[x, y]
proof
let x be
object;
assume x
in (
Funcs (P,
NAT ));
then
reconsider m = x as
marking of P by
FUNCT_2: 66;
take (
fire (t,m));
thus thesis;
end;
consider f be
Function such that
A2: (
dom f)
= (
Funcs (P,
NAT )) and
A3: for x be
object st x
in (
Funcs (P,
NAT )) holds
P[x, (f
. x)] from
CLASSES1:sch 1(
A1);
take f;
thus (
dom f)
= (
Funcs (P,
NAT )) by
A2;
let m;
m
in (
Funcs (P,
NAT )) by
FUNCT_2: 8;
then
P[m, (f
. m)] by
A3;
hence thesis;
end;
uniqueness
proof
let f1,f2 be
Function such that
A4: (
dom f1)
= (
Funcs (P,
NAT )) and
A5: for m be
marking of P holds (f1
. m)
= (
fire (t,m)) and
A6: (
dom f2)
= (
Funcs (P,
NAT )) and
A7: for m be
marking of P holds (f2
. m)
= (
fire (t,m));
now
let x be
object;
assume x
in (
dom f1);
then
reconsider m = x as
marking of P by
A4,
FUNCT_2: 66;
thus (f1
. x)
= (
fire (t,m)) by
A5
.= (f2
. x) by
A7;
end;
hence thesis by
A4,
A6,
FUNCT_1: 2;
end;
end
theorem ::
PNPROC_1:20
Th20: (
rng (
fire t))
c= (
Funcs (P,
NAT ))
proof
let y be
object;
assume y
in (
rng (
fire t));
then
consider x be
object such that
A1: x
in (
dom (
fire t)) and
A2: y
= ((
fire t)
. x) by
FUNCT_1:def 3;
(
dom (
fire t))
= (
Funcs (P,
NAT )) by
Def8;
then
reconsider m = x as
marking of P by
A1,
FUNCT_2: 66;
y
= (
fire (t,m)) by
A2,
Def8;
hence thesis by
FUNCT_2: 8;
end;
theorem ::
PNPROC_1:21
(
fire (t2,(
fire (t1,m))))
= (((
fire t2)
* (
fire t1))
. m)
proof
(
dom (
fire t1))
= (
Funcs (P,
NAT )) by
Def8;
then
A1: m
in (
dom (
fire t1)) by
FUNCT_2: 8;
thus (
fire (t2,(
fire (t1,m))))
= ((
fire t2)
. (
fire (t1,m))) by
Def8
.= ((
fire t2)
. ((
fire t1)
. m)) by
Def8
.= (((
fire t2)
* (
fire t1))
. m) by
A1,
FUNCT_1: 13;
end;
definition
let P;
::
PNPROC_1:def9
mode
Petri_net of P -> non
empty
set means
:
Def9: for x be
set st x
in it holds x is
transition of P;
existence
proof
set t = the
transition of P;
take
{t};
thus thesis by
TARSKI:def 1;
end;
end
reserve N for
Petri_net of P;
definition
let P, N;
:: original:
Element
redefine
mode
Element of N ->
transition of P ;
coherence by
Def9;
end
reserve e,e1,e2 for
Element of N;
begin
definition
let P, N;
mode
firing-sequence of N is
Element of (N
* );
end
reserve C,C1,C2,C3,fs,fs1,fs2 for
firing-sequence of N;
definition
let P, N, C;
::
PNPROC_1:def10
func
fire C ->
Function means
:
Def10: ex F be
Function-yielding
FinSequence st it
= (
compose (F,(
Funcs (P,
NAT )))) & (
len F)
= (
len C) & for i be
Element of
NAT st i
in (
dom C) holds (F
. i)
= (
fire (C
/. i) qua
Element of N);
existence
proof
deffunc
G(
set) = (
fire (C
/. $1) qua
Element of N);
consider F be
FinSequence such that
A1: (
len F)
= (
len C) and
A2: for k be
Nat st k
in (
dom F) holds (F
. k)
=
G(k) from
FINSEQ_1:sch 2;
A3: (
dom F)
= (
Seg (
len F)) by
FINSEQ_1:def 3;
A4: (
dom C)
= (
Seg (
len C)) by
FINSEQ_1:def 3;
F is
Function-yielding
proof
let x be
object;
assume
A5: x
in (
dom F);
then
reconsider i = x as
Element of
NAT ;
(F
. x)
= (
fire (C
/. i) qua
Element of N) by
A2,
A5;
hence thesis;
end;
then
reconsider F as
Function-yielding
FinSequence;
take f = (
compose (F,(
Funcs (P,
NAT )))), F;
thus f
= (
compose (F,(
Funcs (P,
NAT ))));
thus thesis by
A1,
A2,
A3,
A4;
end;
uniqueness
proof
let f1,f2 be
Function;
given F1 be
Function-yielding
FinSequence such that
A6: f1
= (
compose (F1,(
Funcs (P,
NAT )))) and
A7: (
len F1)
= (
len C) and
A8: for i be
Element of
NAT st i
in (
dom C) holds (F1
. i)
= (
fire (C
/. i) qua
Element of N);
given F2 be
Function-yielding
FinSequence such that
A9: f2
= (
compose (F2,(
Funcs (P,
NAT )))) and
A10: (
len F2)
= (
len C) and
A11: for i be
Element of
NAT st i
in (
dom C) holds (F2
. i)
= (
fire (C
/. i) qua
Element of N);
A12: (
dom F1)
= (
Seg (
len F1)) by
FINSEQ_1:def 3;
A13: (
dom F2)
= (
Seg (
len F2)) by
FINSEQ_1:def 3;
A14: (
dom C)
= (
Seg (
len C)) by
FINSEQ_1:def 3;
now
let i be
Nat;
assume
A15: i
in (
dom C);
then (F1
. i)
= (
fire (C
/. i) qua
Element of N) by
A8;
hence (F1
. i)
= (F2
. i) by
A11,
A15;
end;
hence thesis by
A6,
A7,
A9,
A10,
A12,
A13,
A14,
FINSEQ_1: 13;
end;
end
theorem ::
PNPROC_1:22
(
fire (
<*> N))
= (
id (
Funcs (P,
NAT )))
proof
consider F be
Function-yielding
FinSequence such that
A1: (
fire (
<*> N))
= (
compose (F,(
Funcs (P,
NAT )))) and
A2: (
len F)
= (
len (
<*> N)) and for i be
Element of
NAT st i
in (
dom (
<*> N)) holds (F
. i)
= (
fire ((
<*> N)
/. i) qua
Element of N) by
Def10;
F
=
{} by
A2;
hence thesis by
A1,
FUNCT_7: 39;
end;
theorem ::
PNPROC_1:23
Th23: (
fire
<*e*>)
= (
fire e)
proof
consider F be
Function-yielding
FinSequence such that
A1: (
fire
<*e*>)
= (
compose (F,(
Funcs (P,
NAT )))) and
A2: (
len F)
= (
len
<*e*>) and
A3: for i be
Element of
NAT st i
in (
dom
<*e*>) holds (F
. i)
= (
fire (
<*e*>
/. i) qua
Element of N) by
Def10;
A4: (
len
<*e*>)
= 1 by
FINSEQ_1: 40;
A5: (
<*e*>
. 1)
= e by
FINSEQ_1: 40;
(
dom
<*e*>)
=
{1} by
FINSEQ_1: 2,
FINSEQ_1:def 8;
then
A6: 1
in (
dom
<*e*>) by
TARSKI:def 1;
then
A7: (
<*e*>
/. 1)
= (
<*e*>
. 1) by
PARTFUN1:def 6;
(F
. 1)
= (
fire (
<*e*>
/. 1) qua
Element of N) by
A3,
A6;
then
A8: F
=
<*(
fire e)*> by
A2,
A4,
A5,
A7,
FINSEQ_1: 40;
(
dom (
fire e))
c= (
Funcs (P,
NAT )) by
Def8;
hence thesis by
A1,
A8,
FUNCT_7: 46;
end;
theorem ::
PNPROC_1:24
Th24: ((
fire e)
* (
id (
Funcs (P,
NAT ))))
= (
fire e)
proof
A1: (
compose (
<*(
fire e)*>,(
Funcs (P,
NAT ))))
= ((
fire e)
* (
id (
Funcs (P,
NAT )))) by
FUNCT_7: 45;
(
dom (
fire e))
c= (
Funcs (P,
NAT )) by
Def8;
hence thesis by
A1,
FUNCT_7: 46;
end;
theorem ::
PNPROC_1:25
(
fire
<*e1, e2*>)
= ((
fire e2)
* (
fire e1))
proof
consider F be
Function-yielding
FinSequence such that
A1: (
fire
<*e1, e2*>)
= (
compose (F,(
Funcs (P,
NAT )))) and
A2: (
len F)
= (
len
<*e1, e2*>) and
A3: for i be
Element of
NAT st i
in (
dom
<*e1, e2*>) holds (F
. i)
= (
fire (
<*e1, e2*>
/. i) qua
Element of N) by
Def10;
A4: (
len
<*e1, e2*>)
= 2 by
FINSEQ_1: 44;
A5: (
<*e1, e2*>
. 1)
= e1 by
FINSEQ_1: 44;
A6: (
<*e1, e2*>
. 2)
= e2 by
FINSEQ_1: 44;
A7: (
dom
<*e1, e2*>)
=
{1, 2} by
A4,
FINSEQ_1: 2,
FINSEQ_1:def 3;
A8: 1
in
{1, 2} by
TARSKI:def 2;
A9: 2
in
{1, 2} by
TARSKI:def 2;
A10: (
<*e1, e2*>
/. 1)
= (
<*e1, e2*>
. 1) by
A7,
A8,
PARTFUN1:def 6;
A11: (
<*e1, e2*>
/. 2)
= (
<*e1, e2*>
. 2) by
A7,
A9,
PARTFUN1:def 6;
A12: (F
. 1)
= (
fire e1) by
A3,
A5,
A7,
A8,
A10;
(F
. 2)
= (
fire e2) by
A3,
A6,
A7,
A9,
A11;
then
A13: F
=
<*(
fire e1), (
fire e2)*> by
A2,
A4,
A12,
FINSEQ_1: 44;
((
fire e1)
* (
id (
Funcs (P,
NAT ))))
= (
fire e1) by
Th24;
then (((
fire e2)
* (
fire e1))
* (
id (
Funcs (P,
NAT ))))
= ((
fire e2)
* (
fire e1)) by
RELAT_1: 36;
hence thesis by
A1,
A13,
FUNCT_7: 51;
end;
theorem ::
PNPROC_1:26
Th26: (
dom (
fire C))
= (
Funcs (P,
NAT )) & (
rng (
fire C))
c= (
Funcs (P,
NAT ))
proof
defpred
P[
Nat] means for F be
Function-yielding
FinSequence st (
len F)
= $1 & for i st i
in (
dom F) holds ex t st (F
. i)
= (
fire t) holds (
dom (
compose (F,(
Funcs (P,
NAT )))))
= (
Funcs (P,
NAT )) & (
rng (
compose (F,(
Funcs (P,
NAT )))))
c= (
Funcs (P,
NAT ));
A1:
P[
0 ]
proof
let F be
Function-yielding
FinSequence;
assume (
len F)
=
0 ;
then F
=
{} ;
then (
compose (F,(
Funcs (P,
NAT ))))
= (
id (
Funcs (P,
NAT ))) by
FUNCT_7: 39;
hence thesis;
end;
A2: for k st
P[k] holds
P[(k
+ 1)]
proof
let k such that
A3: for G be
Function-yielding
FinSequence st (
len G)
= k & for i st i
in (
dom G) holds ex t st (G
. i)
= (
fire t) holds (
dom (
compose (G,(
Funcs (P,
NAT )))))
= (
Funcs (P,
NAT )) & (
rng (
compose (G,(
Funcs (P,
NAT )))))
c= (
Funcs (P,
NAT ));
let F be
Function-yielding
FinSequence such that
A4: (
len F)
= (k
+ 1) and
A5: for i st i
in (
dom F) holds ex t st (F
. i)
= (
fire t);
consider G be
FinSequence, x be
set such that
A6: F
= (G
^
<*x*>) and
A7: (
len G)
= k by
A4,
TREES_2: 3;
reconsider G as
Function-yielding
FinSequence by
A6,
FUNCT_7: 23;
(
0 qua
Nat
+ 1)
<= (k
+ 1) by
XREAL_1: 7;
then (k
+ 1)
in (
dom F) by
A4,
FINSEQ_3: 25;
then
consider t such that
A8: (F
. (k
+ 1))
= (
fire t) by
A5;
x
= (F
. (k
+ 1)) by
A6,
A7,
FINSEQ_1: 42;
then
A9: (
compose (F,(
Funcs (P,
NAT ))))
= ((
fire t)
* (
compose (G,(
Funcs (P,
NAT ))))) by
A6,
A8,
FUNCT_7: 41;
A10: (
dom (
fire t))
= (
Funcs (P,
NAT )) by
Def8;
A11: (
rng (
fire t))
c= (
Funcs (P,
NAT )) by
Th20;
A12: for i st i
in (
dom G) holds ex t st (G
. i)
= (
fire t)
proof
let i;
A13: (
dom G)
c= (
dom F) by
A6,
FINSEQ_1: 26;
assume
A14: i
in (
dom G);
then (G
. i)
= (F
. i) by
A6,
FINSEQ_1:def 7;
hence thesis by
A5,
A13,
A14;
end;
then
A15: (
dom (
compose (G,(
Funcs (P,
NAT )))))
= (
Funcs (P,
NAT )) by
A3,
A7;
A16: (
rng (
compose (G,(
Funcs (P,
NAT )))))
c= (
Funcs (P,
NAT )) by
A3,
A7,
A12;
(
rng (
compose (F,(
Funcs (P,
NAT )))))
c= (
rng (
fire t)) by
A9,
RELAT_1: 26;
hence thesis by
A9,
A10,
A11,
A15,
A16,
RELAT_1: 27;
end;
A17:
P[k] from
NAT_1:sch 2(
A1,
A2);
consider F be
Function-yielding
FinSequence such that
A18: (
fire C)
= (
compose (F,(
Funcs (P,
NAT )))) and
A19: (
len F)
= (
len C) and
A20: for i be
Element of
NAT st i
in (
dom C) holds (F
. i)
= (
fire (C
/. i) qua
Element of N) by
Def10;
for i st i
in (
dom F) holds ex t st (F
. i)
= (
fire t)
proof
let i;
assume
A21: i
in (
dom F);
A22: (
dom F)
= (
Seg (
len F)) by
FINSEQ_1:def 3;
A23: (
dom C)
= (
Seg (
len C)) by
FINSEQ_1:def 3;
reconsider t = (C
/. i) as
Element of N;
take t;
thus thesis by
A19,
A20,
A21,
A22,
A23;
end;
hence thesis by
A17,
A18,
A19;
end;
theorem ::
PNPROC_1:27
Th27: (
fire (C1
^ C2))
= ((
fire C2)
* (
fire C1))
proof
consider F be
Function-yielding
FinSequence such that
A1: (
fire (C1
^ C2))
= (
compose (F,(
Funcs (P,
NAT )))) and
A2: (
len F)
= (
len (C1
^ C2)) and
A3: for i be
Element of
NAT st i
in (
dom (C1
^ C2)) holds (F
. i)
= (
fire ((C1
^ C2)
/. i) qua
Element of N) by
Def10;
consider F1 be
Function-yielding
FinSequence such that
A4: (
fire C1)
= (
compose (F1,(
Funcs (P,
NAT )))) and
A5: (
len F1)
= (
len C1) and
A6: for i be
Element of
NAT st i
in (
dom C1) holds (F1
. i)
= (
fire (C1
/. i) qua
Element of N) by
Def10;
consider F2 be
Function-yielding
FinSequence such that
A7: (
fire C2)
= (
compose (F2,(
Funcs (P,
NAT )))) and
A8: (
len F2)
= (
len C2) and
A9: for i be
Element of
NAT st i
in (
dom C2) holds (F2
. i)
= (
fire (C2
/. i) qua
Element of N) by
Def10;
A10: (
rng (
fire C1))
c= (
Funcs (P,
NAT )) by
Th26;
(
len F)
= ((
len C1)
+ (
len C2)) by
A2,
FINSEQ_1: 22;
then
A11: (
dom F)
= (
Seg ((
len F1)
+ (
len F2))) by
A5,
A8,
FINSEQ_1:def 3;
A12: for k be
Nat st k
in (
dom F1) holds (F
. k)
= (F1
. k)
proof
let k be
Nat;
assume
A13: k
in (
dom F1);
A14: (
dom F1)
= (
Seg (
len F1)) by
FINSEQ_1:def 3;
A15: (
dom F1)
= (
Seg (
len C1)) by
A5,
FINSEQ_1:def 3;
A16: (
dom F1)
= (
dom C1) by
A5,
A14,
FINSEQ_1:def 3;
A17: k
in (
dom C1) by
A13,
A15,
FINSEQ_1:def 3;
A18: (
dom C1)
c= (
dom (C1
^ C2)) by
FINSEQ_1: 26;
then
A19: (F
. k)
= (
fire ((C1
^ C2)
/. k) qua
Element of N) by
A3,
A17;
A20: ((C1
^ C2)
/. k)
= ((C1
^ C2)
. k) by
A17,
A18,
PARTFUN1:def 6;
A21: ((C1
^ C2)
. k)
= (C1
. k) by
A13,
A16,
FINSEQ_1:def 7;
(C1
. k)
= (C1
/. k) by
A13,
A16,
PARTFUN1:def 6;
hence thesis by
A6,
A13,
A16,
A19,
A20,
A21;
end;
for k be
Nat st k
in (
dom F2) holds (F
. ((
len F1)
+ k))
= (F2
. k)
proof
let k be
Nat;
assume
A22: k
in (
dom F2);
(
dom F2)
= (
Seg (
len F2)) by
FINSEQ_1:def 3;
then
A23: (
dom F2)
= (
dom C2) by
A8,
FINSEQ_1:def 3;
then
A24: ((
len F1)
+ k)
in (
dom (C1
^ C2)) by
A5,
A22,
FINSEQ_1: 28;
reconsider lFk = ((
len F1)
+ k) as
Element of
NAT by
ORDINAL1:def 12;
A25: (F
. ((
len F1)
+ k))
= (
fire ((C1
^ C2)
/. lFk) qua
Element of N) by
A3,
A5,
A22,
A23,
FINSEQ_1: 28;
A26: ((C1
^ C2)
/. ((
len F1)
+ k))
= ((C1
^ C2)
. ((
len F1)
+ k)) by
A24,
PARTFUN1:def 6;
A27: ((C1
^ C2)
. ((
len F1)
+ k))
= (C2
. k) by
A5,
A22,
A23,
FINSEQ_1:def 7;
(C2
. k)
= (C2
/. k) by
A22,
A23,
PARTFUN1:def 6;
hence thesis by
A9,
A22,
A23,
A25,
A26,
A27;
end;
then F
= (F1
^ F2) by
A11,
A12,
FINSEQ_1:def 7;
hence thesis by
A1,
A4,
A7,
A10,
FUNCT_7: 48;
end;
theorem ::
PNPROC_1:28
(
fire (C
^
<*e*>))
= ((
fire e)
* (
fire C))
proof
(
fire (C
^
<*e*>))
= ((
fire
<*e*>)
* (
fire C)) by
Th27;
hence thesis by
Th23;
end;
definition
let P, N, C, m;
::
PNPROC_1:def11
func
fire (C,m) ->
marking of P equals ((
fire C)
. m);
coherence
proof
A1: (
dom (
fire C))
= (
Funcs (P,
NAT )) by
Th26;
A2: (
rng (
fire C))
c= (
Funcs (P,
NAT )) by
Th26;
m
in (
dom (
fire C)) by
A1,
FUNCT_2: 8;
then
[m, ((
fire C)
. m)]
in (
fire C) by
FUNCT_1:def 2;
then ((
fire C)
. m)
in (
rng (
fire C)) by
XTUPLE_0:def 13;
hence thesis by
A2,
FUNCT_2: 66;
end;
end
begin
definition
let P, N;
mode
process of N is
Subset of (N
* );
end
reserve R,R1,R2,R3,P1,P2 for
process of N;
definition
let P, N, R1, R2;
::
PNPROC_1:def12
func R1
before R2 ->
process of N equals { (C1
^ C2) : C1
in R1 & C2
in R2 };
coherence
proof
set X = { (C1
^ C2) : C1
in R1 & C2
in R2 };
X
c= (N
* )
proof
let x be
object;
assume x
in X;
then ex C1, C2 st x
= (C1
^ C2) & C1
in R1 & C2
in R2;
hence thesis;
end;
hence thesis;
end;
end
registration
let P, N;
let R1,R2 be non
empty
process of N;
cluster (R1
before R2) -> non
empty;
coherence
proof
consider fs1 be
object such that
A1: fs1
in R1 by
XBOOLE_0:def 1;
consider fs2 be
object such that
A2: fs2
in R2 by
XBOOLE_0:def 1;
reconsider fs1, fs2 as
firing-sequence of N by
A1,
A2;
(fs1
^ fs2)
in (R1
before R2) by
A1,
A2;
hence thesis;
end;
end
theorem ::
PNPROC_1:29
Th29: ((R1
\/ R2)
before R)
= ((R1
before R)
\/ (R2
before R))
proof
thus ((R1
\/ R2)
before R)
c= ((R1
before R)
\/ (R2
before R))
proof
let x be
object;
assume x
in ((R1
\/ R2)
before R);
then
consider fs1, fs such that
A1: x
= (fs1
^ fs) and
A2: fs1
in (R1
\/ R2) and
A3: fs
in R;
fs1
in R1 or fs1
in R2 by
A2,
XBOOLE_0:def 3;
then x
in { (a1
^ a) where a1,a be
firing-sequence of N : a1
in R1 & a
in R } or x
in { (b2
^ b) where b2,b be
firing-sequence of N : b2
in R2 & b
in R } by
A1,
A3;
hence thesis by
XBOOLE_0:def 3;
end;
let x be
object;
assume
A4: x
in ((R1
before R)
\/ (R2
before R));
per cases by
A4,
XBOOLE_0:def 3;
suppose x
in (R1
before R);
then
consider fs1, fs such that
A5: x
= (fs1
^ fs) and
A6: fs1
in R1 and
A7: fs
in R;
fs1
in (R1
\/ R2) by
A6,
XBOOLE_0:def 3;
hence thesis by
A5,
A7;
end;
suppose x
in (R2
before R);
then
consider fs2, fs such that
A8: x
= (fs2
^ fs) and
A9: fs2
in R2 and
A10: fs
in R;
fs2
in (R1
\/ R2) by
A9,
XBOOLE_0:def 3;
hence thesis by
A8,
A10;
end;
end;
theorem ::
PNPROC_1:30
Th30: (R
before (R1
\/ R2))
= ((R
before R1)
\/ (R
before R2))
proof
thus (R
before (R1
\/ R2))
c= ((R
before R1)
\/ (R
before R2))
proof
let x be
object;
assume x
in (R
before (R1
\/ R2));
then
consider fs, fs1 such that
A1: x
= (fs
^ fs1) and
A2: fs
in R and
A3: fs1
in (R1
\/ R2);
fs1
in R1 or fs1
in R2 by
A3,
XBOOLE_0:def 3;
then x
in { (a
^ a1) where a,a1 be
firing-sequence of N : a
in R & a1
in R1 } or x
in { (b
^ b2) where b,b2 be
firing-sequence of N : b
in R & b2
in R2 } by
A1,
A2;
hence thesis by
XBOOLE_0:def 3;
end;
let x be
object;
assume
A4: x
in ((R
before R1)
\/ (R
before R2));
per cases by
A4,
XBOOLE_0:def 3;
suppose x
in (R
before R1);
then
consider fs, fs1 such that
A5: x
= (fs
^ fs1) and
A6: fs
in R and
A7: fs1
in R1;
fs1
in (R1
\/ R2) by
A7,
XBOOLE_0:def 3;
hence thesis by
A5,
A6;
end;
suppose x
in (R
before R2);
then
consider fs, fs2 such that
A8: x
= (fs
^ fs2) and
A9: fs
in R and
A10: fs2
in R2;
fs2
in (R1
\/ R2) by
A10,
XBOOLE_0:def 3;
hence thesis by
A8,
A9;
end;
end;
theorem ::
PNPROC_1:31
Th31: (
{C1}
before
{C2})
=
{(C1
^ C2)}
proof
thus (
{C1}
before
{C2})
c=
{(C1
^ C2)}
proof
let x be
object;
assume x
in (
{C1}
before
{C2});
then
consider fs1, fs2 such that
A1: x
= (fs1
^ fs2) and
A2: fs1
in
{C1} and
A3: fs2
in
{C2};
A4: fs1
= C1 by
A2,
TARSKI:def 1;
fs2
= C2 by
A3,
TARSKI:def 1;
hence thesis by
A1,
A4,
TARSKI:def 1;
end;
let x be
object;
assume x
in
{(C1
^ C2)};
then
A5: x
= (C1
^ C2) by
TARSKI:def 1;
A6: C1
in
{C1} by
TARSKI:def 1;
C2
in
{C2} by
TARSKI:def 1;
hence thesis by
A5,
A6;
end;
theorem ::
PNPROC_1:32
(
{C1, C2}
before
{C})
=
{(C1
^ C), (C2
^ C)}
proof
thus (
{C1, C2}
before
{C})
= ((
{C1}
\/
{C2})
before
{C}) by
ENUMSET1: 1
.= ((
{C1}
before
{C})
\/ (
{C2}
before
{C})) by
Th29
.= (
{(C1
^ C)}
\/ (
{C2}
before
{C})) by
Th31
.= (
{(C1
^ C)}
\/
{(C2
^ C)}) by
Th31
.=
{(C1
^ C), (C2
^ C)} by
ENUMSET1: 1;
end;
theorem ::
PNPROC_1:33
(
{C}
before
{C1, C2})
=
{(C
^ C1), (C
^ C2)}
proof
thus (
{C}
before
{C1, C2})
= (
{C}
before (
{C1}
\/
{C2})) by
ENUMSET1: 1
.= ((
{C}
before
{C1})
\/ (
{C}
before
{C2})) by
Th30
.= (
{(C
^ C1)}
\/ (
{C}
before
{C2})) by
Th31
.= (
{(C
^ C1)}
\/
{(C
^ C2)}) by
Th31
.=
{(C
^ C1), (C
^ C2)} by
ENUMSET1: 1;
end;
begin
definition
let P, N, R1, R2;
::
PNPROC_1:def13
func R1
concur R2 ->
process of N equals { C : ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2 };
coherence
proof
set X = { C : ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2 };
X
c= (N
* )
proof
let x be
object;
assume x
in X;
then ex C st x
= C & ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2;
hence thesis;
end;
hence thesis;
end;
commutativity
proof
let R, R1, R2;
assume
A1: R
= { C1 : ex q1,q2 be
FinSubsequence st C1
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2 };
thus R
c= { C2 : ex q1,q2 be
FinSubsequence st C2
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R2 & (
Seq q2)
in R1 }
proof
let x be
object;
assume x
in R;
then
A2: ex C1 st (x
= C1) & (ex q1,q2 be
FinSubsequence st C1
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2) by
A1;
thus thesis by
A2;
end;
let x be
object;
assume x
in { C2 : ex q1,q2 be
FinSubsequence st C2
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R2 & (
Seq q2)
in R1 };
then ex C2 st (x
= C2) & (ex q1,q2 be
FinSubsequence st C2
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R2 & (
Seq q2)
in R1);
hence thesis by
A1;
end;
end
theorem ::
PNPROC_1:34
Th34: ((R1
\/ R2)
concur R)
= ((R1
concur R)
\/ (R2
concur R))
proof
thus ((R1
\/ R2)
concur R)
c= ((R1
concur R)
\/ (R2
concur R))
proof
let x be
object;
assume x
in ((R1
\/ R2)
concur R);
then
consider C such that
A1: x
= C and
A2: ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in (R1
\/ R2) & (
Seq q2)
in R;
consider q1,q2 be
FinSubsequence such that
A3: C
= (q1
\/ q2) and
A4: q1
misses q2 and
A5: (
Seq q1)
in (R1
\/ R2) and
A6: (
Seq q2)
in R by
A2;
(
Seq q1)
in R1 or (
Seq q1)
in R2 by
A5,
XBOOLE_0:def 3;
then x
in { C1 : ex q1,q2 be
FinSubsequence st C1
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R } or x
in { C2 : ex q1,q2 be
FinSubsequence st C2
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R2 & (
Seq q2)
in R } by
A1,
A3,
A4,
A6;
hence thesis by
XBOOLE_0:def 3;
end;
let x be
object;
assume
A7: x
in ((R1
concur R)
\/ (R2
concur R));
per cases by
A7,
XBOOLE_0:def 3;
suppose x
in (R1
concur R);
then
consider C such that
A8: x
= C and
A9: ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R;
consider q1,q2 be
FinSubsequence such that
A10: C
= (q1
\/ q2) and
A11: q1
misses q2 and
A12: (
Seq q1)
in R1 and
A13: (
Seq q2)
in R by
A9;
(
Seq q1)
in (R1
\/ R2) by
A12,
XBOOLE_0:def 3;
hence thesis by
A8,
A10,
A11,
A13;
end;
suppose x
in (R2
concur R);
then
consider C such that
A14: x
= C and
A15: ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R2 & (
Seq q2)
in R;
consider q1,q2 be
FinSubsequence such that
A16: C
= (q1
\/ q2) and
A17: q1
misses q2 and
A18: (
Seq q1)
in R2 and
A19: (
Seq q2)
in R by
A15;
(
Seq q1)
in (R1
\/ R2) by
A18,
XBOOLE_0:def 3;
hence thesis by
A14,
A16,
A17,
A19;
end;
end;
theorem ::
PNPROC_1:35
Th35: (
{
<*e1*>}
concur
{
<*e2*>})
=
{
<*e1, e2*>,
<*e2, e1*>}
proof
set C1 =
<*e1*>, C2 =
<*e2*>;
set R1 =
{C1}, R2 =
{C2};
thus (
{C1}
concur
{C2})
c=
{
<*e1, e2*>,
<*e2, e1*>}
proof
let x be
object;
assume x
in (
{C1}
concur
{C2});
then
consider C such that
A1: x
= C and
A2: ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2;
consider q1,q2 be
FinSubsequence such that
A3: C
= (q1
\/ q2) and
A4: q1
misses q2 and
A5: (
Seq q1)
in R1 and
A6: (
Seq q2)
in R2 by
A2;
A7: (
Seq q1)
= C1 by
A5,
TARSKI:def 1;
A8: (
Seq q2)
= C2 by
A6,
TARSKI:def 1;
consider i be
Element of
NAT such that
A9: q1
=
{
[i, e1]} by
A7,
FINSEQ_3: 159;
consider j be
Element of
NAT such that
A10: q2
=
{
[j, e2]} by
A8,
FINSEQ_3: 159;
A11:
[i, e1]
in q1 by
A9,
TARSKI:def 1;
A12:
[j, e2]
in q2 by
A10,
TARSKI:def 1;
A13: C
=
{
[i, e1],
[j, e2]} by
A3,
A9,
A10,
ENUMSET1: 1;
then i
= 1 & j
= 1 & e1
= e2 or i
= 1 & j
= 2 or i
= 2 & j
= 1 by
FINSEQ_1: 98;
then C
=
<*e1, e2*> or C
=
<*e2, e1*> by
A4,
A11,
A12,
A13,
FINSEQ_1: 99,
XBOOLE_0: 3;
hence thesis by
A1,
TARSKI:def 2;
end;
let x be
object;
assume
A14: x
in
{
<*e1, e2*>,
<*e2, e1*>};
per cases by
A14,
TARSKI:def 2;
suppose
A15: x
=
<*e1, e2*>;
then
A16: x
=
{
[1, e1],
[2, e2]} by
FINSEQ_1: 99
.= (
{
[1, e1]}
\/
{
[2, e2]}) by
ENUMSET1: 1;
reconsider q1 =
{
[1, e1]}, q2 =
{
[2, e2]} as
FinSubsequence by
FINSEQ_1: 96;
[1, e1]
<>
[2, e2] by
XTUPLE_0: 1;
then not
[1, e1]
in q2 by
TARSKI:def 1;
then
A17: q1
misses q2 by
ZFMISC_1: 50;
A18: (
Seq q1)
=
<*e1*> by
FINSEQ_3: 157;
A19: (
Seq q2)
=
<*e2*> by
FINSEQ_3: 157;
A20:
<*e1*>
in R1 by
TARSKI:def 1;
<*e2*>
in R2 by
TARSKI:def 1;
hence thesis by
A15,
A16,
A17,
A18,
A19,
A20;
end;
suppose
A21: x
=
<*e2, e1*>;
then
A22: x
=
{
[1, e2],
[2, e1]} by
FINSEQ_1: 99
.= (
{
[1, e2]}
\/
{
[2, e1]}) by
ENUMSET1: 1;
reconsider q1 =
{
[2, e1]}, q2 =
{
[1, e2]} as
FinSubsequence by
FINSEQ_1: 96;
[1, e2]
<>
[2, e1] by
XTUPLE_0: 1;
then not
[2, e1]
in q2 by
TARSKI:def 1;
then
A23: q1
misses q2 by
ZFMISC_1: 50;
A24: (
Seq q1)
=
<*e1*> by
FINSEQ_3: 157;
A25: (
Seq q2)
=
<*e2*> by
FINSEQ_3: 157;
A26:
<*e1*>
in R1 by
TARSKI:def 1;
<*e2*>
in R2 by
TARSKI:def 1;
hence thesis by
A21,
A22,
A23,
A24,
A25,
A26;
end;
end;
theorem ::
PNPROC_1:36
(
{
<*e1*>,
<*e2*>}
concur
{
<*e*>})
=
{
<*e1, e*>,
<*e2, e*>,
<*e, e1*>,
<*e, e2*>}
proof
{
<*e1*>,
<*e2*>}
= (
{
<*e1*>}
\/
{
<*e2*>}) by
ENUMSET1: 1;
then
A1: (
{
<*e1*>,
<*e2*>}
concur
{
<*e*>})
= ((
{
<*e1*>}
concur
{
<*e*>})
\/ (
{
<*e2*>}
concur
{
<*e*>})) by
Th34;
A2: (
{
<*e1*>}
concur
{
<*e*>})
=
{
<*e1, e*>,
<*e, e1*>} by
Th35;
(
{
<*e2*>}
concur
{
<*e*>})
=
{
<*e2, e*>,
<*e, e2*>} by
Th35;
hence (
{
<*e1*>,
<*e2*>}
concur
{
<*e*>})
=
{
<*e1, e*>,
<*e, e1*>,
<*e2, e*>,
<*e, e2*>} by
A1,
A2,
ENUMSET1: 5
.=
{
<*e1, e*>,
<*e2, e*>,
<*e, e1*>,
<*e, e2*>} by
ENUMSET1: 62;
end;
theorem ::
PNPROC_1:37
((R1
before R2)
before R3)
= (R1
before (R2
before R3))
proof
thus ((R1
before R2)
before R3)
c= (R1
before (R2
before R3))
proof
let x be
object;
assume x
in ((R1
before R2)
before R3);
then
consider C1, C2 such that
A1: x
= (C1
^ C2) and
A2: C1
in (R1
before R2) and
A3: C2
in R3;
consider fs1, fs2 such that
A4: C1
= (fs1
^ fs2) and
A5: fs1
in R1 and
A6: fs2
in R2 by
A2;
A7: x
= (fs1
^ (fs2
^ C2)) by
A1,
A4,
FINSEQ_1: 32;
consider C3 such that
A8: C3
= (fs2
^ C2) and
A9: fs2
in R2 and
A10: C2
in R3 by
A3,
A6;
C3
in (R2
before R3) by
A8,
A9,
A10;
hence thesis by
A5,
A7,
A8;
end;
let x be
object;
assume x
in (R1
before (R2
before R3));
then
consider C1, C2 such that
A11: x
= (C1
^ C2) and
A12: C1
in R1 and
A13: C2
in (R2
before R3);
consider fs1, fs2 such that
A14: C2
= (fs1
^ fs2) and
A15: fs1
in R2 and
A16: fs2
in R3 by
A13;
A17: x
= ((C1
^ fs1)
^ fs2) by
A11,
A14,
FINSEQ_1: 32;
consider C such that
A18: C
= (C1
^ fs1) and
A19: C1
in R1 and
A20: fs1
in R2 by
A12,
A15;
C
in (R1
before R2) by
A18,
A19,
A20;
hence thesis by
A16,
A17,
A18;
end;
notation
let p be
FinSubsequence;
let i be
Element of
NAT ;
synonym i
Shift p for
Shift (p,i);
end
reserve q,q1,q2,q3,q4 for
FinSubsequence,
p1,p2 for
FinSequence;
theorem ::
PNPROC_1:38
((R1
concur R2)
concur R3)
= (R1
concur (R2
concur R3))
proof
thus ((R1
concur R2)
concur R3)
c= (R1
concur (R2
concur R3))
proof
let x be
object;
assume x
in ((R1
concur R2)
concur R3);
then
consider C1 such that
A1: x
= C1 and
A2: ex q1, q2 st C1
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in (R1
concur R2) & (
Seq q2)
in R3;
consider q1, q2 such that
A3: C1
= (q1
\/ q2) and
A4: q1
misses q2 and
A5: (
Seq q1)
in (R1
concur R2) and
A6: (
Seq q2)
in R3 by
A2;
consider C2 such that
A7: (
Seq q1)
= C2 and
A8: ex q3, q4 st C2
= (q3
\/ q4) & q3
misses q4 & (
Seq q3)
in R1 & (
Seq q4)
in R2 by
A5;
consider q3, q4 such that
A9: C2
= (q3
\/ q4) and
A10: q3
misses q4 and
A11: (
Seq q3)
in R1 and
A12: (
Seq q4)
in R2 by
A8;
consider n1 be
Nat such that
A13: (
dom q1)
c= (
Seg n1) by
FINSEQ_1:def 12;
A14: q3
c= (
Seq q1) by
A7,
A9,
XBOOLE_1: 7;
A15: q4
c= (
Seq q1) by
A7,
A9,
XBOOLE_1: 7;
(
Sgm (
dom q1)) is
one-to-one by
A13,
FINSEQ_3: 92;
then
A16: ((
Sgm (
dom q1))
.: (
dom q3))
misses ((
Sgm (
dom q1))
.: (
dom q4)) by
A10,
A14,
A15,
FUNCT_1: 66,
FUNCT_1: 112;
A17: (
rng ((
Sgm (
dom q1))
| (
dom q3)))
= ((
Sgm (
dom q1))
.: (
dom q3)) by
RELAT_1: 115;
A18: (
rng ((
Sgm (
dom q1))
| (
dom q4)))
= ((
Sgm (
dom q1))
.: (
dom q4)) by
RELAT_1: 115;
then
A19: (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q3))))
misses (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q4)))) by
A16,
A17,
RELAT_1: 187;
A20: (
dom (
Sgm (
dom q1)))
= (
dom (q3
\/ q4)) by
A7,
A9,
FINSEQ_1: 100
.= ((
dom q3)
\/ (
dom q4)) by
XTUPLE_0: 23;
A21: ((q1
| (
rng ((
Sgm (
dom q1))
| (
dom q3))))
\/ (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q4)))))
= (q1
| ((
rng ((
Sgm (
dom q1))
| (
dom q3)))
\/ (
rng ((
Sgm (
dom q1))
| (
dom q4))))) by
RELAT_1: 78
.= (q1
| ((
Sgm (
dom q1))
.: ((
dom q3)
\/ (
dom q4)))) by
A17,
A18,
RELAT_1: 120
.= (q1
| (
rng ((
Sgm (
dom q1))
| (
dom (
Sgm (
dom q1)))))) by
A20,
RELAT_1: 115
.= (q1
| (
rng (
Sgm (
dom q1))))
.= (q1
| (
dom q1)) by
FINSEQ_1: 50
.= q1;
A22: q1
c= C1 by
A3,
XBOOLE_1: 7;
A23: (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q3))))
c= q1 by
A21,
XBOOLE_1: 7;
A24: (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q4))))
c= q1 by
A21,
XBOOLE_1: 7;
(
rng C1)
= ((
rng q1)
\/ (
rng q2)) by
A3,
RELAT_1: 12;
then
A25: (
rng q1)
c= (
rng C1) by
XBOOLE_1: 7;
A26: (
rng q1)
= (
rng (
Seq q1)) by
FINSEQ_1: 101;
A27: (
rng (
Seq q1))
c= (
rng C1) by
A25,
FINSEQ_1: 101;
A28: (
rng (
Seq q1))
= ((
rng q3)
\/ (
rng q4)) by
A7,
A9,
RELAT_1: 12;
then
A29: (
rng q3)
c= (
rng (
Seq q1)) by
XBOOLE_1: 7;
(
rng q3)
= (
rng (
Seq q3)) by
FINSEQ_1: 101;
then
A30: (
rng (
Seq q3))
c= (
rng C1) by
A27,
A29;
A31: (
rng q4)
c= (
rng (
Seq q1)) by
A28,
XBOOLE_1: 7;
(
rng q4)
= (
rng (
Seq q4)) by
FINSEQ_1: 101;
then
A32: (
rng (
Seq q4))
c= (
rng C1) by
A27,
A31;
reconsider q5 = (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q3)))), q6 = (q1
| (
rng ((
Sgm (
dom q1))
| (
dom q4)))) as
FinSubsequence;
reconsider fs = C1 as
FinSequence of (
rng C1) by
FINSEQ_1:def 4;
reconsider fs1 = (
Seq q1) as
FinSequence of (
rng C1) by
A25,
A26,
FINSEQ_1:def 4;
reconsider fs2 = (
Seq q3) as
FinSequence of (
rng C1) by
A30,
FINSEQ_1:def 4;
reconsider fs3 = (
Seq q4) as
FinSequence of (
rng C1) by
A32,
FINSEQ_1:def 4;
reconsider fss = q1, fss1 = q5, fss2 = q6 as
Subset of fs by
A22,
A23,
A24,
XBOOLE_1: 1;
reconsider fss3 = q3, fss4 = q4 as
Subset of fs1 by
A7,
A9,
XBOOLE_1: 7;
A33: (
Seq fss3)
= fs2;
fss1
= (fss
| (
rng ((
Sgm (
dom fss))
| (
dom fss3))));
then
A34: (
Seq q3)
= (
Seq q5) by
A33,
FINSEQ_6: 154;
A35: (
Seq fss4)
= fs3;
A36: fss2
= (fss
| (
rng ((
Sgm (
dom fss))
| (
dom fss4))));
(q1
/\ q2)
=
{} by
A4;
then
A37: ((q5
/\ q2)
\/ (q6
/\ q2))
=
{} by
A21,
XBOOLE_1: 23;
then
A38: (q5
/\ q2)
=
{} ;
(q6
/\ q2)
=
{} by
A37;
then
A39: q6
misses q2;
A40: q1
c= C1 by
A3,
XBOOLE_1: 7;
A41: q2
c= C1 by
A3,
XBOOLE_1: 7;
q6
c= q1 by
A21,
XBOOLE_1: 7;
then q6
c= C1 by
A40;
then
A42: (
dom q6)
misses (
dom q2) by
A39,
A41,
FUNCT_1: 112;
then
reconsider q7 = (q6
\/ q2) as
Function by
GRFUNC_1: 13;
A43: (
dom C1)
= ((
dom q1)
\/ (
dom q2)) by
A3,
XTUPLE_0: 23
.= (((
dom q5)
\/ (
dom q6))
\/ (
dom q2)) by
A21,
XTUPLE_0: 23
.= ((
dom q5)
\/ ((
dom q6)
\/ (
dom q2))) by
XBOOLE_1: 4
.= ((
dom q5)
\/ (
dom q7)) by
XTUPLE_0: 23;
then
A44: (
dom q7)
c= (
dom C1) by
XBOOLE_1: 7;
A45: (
dom C1)
= (
Seg (
len C1)) by
FINSEQ_1:def 3;
then
reconsider q7 as
FinSubsequence by
A44,
FINSEQ_1:def 12;
A46: C1
= (q5
\/ q7) by
A3,
A21,
XBOOLE_1: 4;
A47: (q5
/\ q7)
= ((q5
/\ q6)
\/ (q5
/\ q2)) by
XBOOLE_1: 23;
(q5
/\ q6)
=
{} by
A19;
then
A48: q5
misses q7 by
A38,
A47;
A49: (
rng (
Seq q7))
= (
rng q7) by
FINSEQ_1: 101;
(
rng C1)
= ((
rng q7)
\/ (
rng q5)) by
A46,
RELAT_1: 12;
then
A50: (
rng (
Seq q7))
c= (
rng C1) by
A49,
XBOOLE_1: 7;
(
rng C1)
c= N by
FINSEQ_1:def 4;
then (
rng (
Seq q7))
c= N by
A50;
then (
Seq q7) is
FinSequence of N by
FINSEQ_1:def 4;
then
reconsider C3 = (
Seq q7) as
firing-sequence of N by
FINSEQ_1:def 11;
A51: (
dom (
Seq q7))
= (
Seg (
len (
Seq q7))) by
FINSEQ_1:def 3;
A52: (
dom (q6
* (
Sgm (
dom q7))))
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A53: (
dom (q2
* (
Sgm (
dom q7))))
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A54: (
dom (q6
* (
Sgm (
dom q7))))
c= (
dom (
Seq q7)) by
A52,
FINSEQ_1: 100;
(
dom (q2
* (
Sgm (
dom q7))))
c= (
dom (
Seq q7)) by
A53,
FINSEQ_1: 100;
then
reconsider q8 = (q6
* (
Sgm (
dom q7))), q9 = (q2
* (
Sgm (
dom q7))) as
FinSubsequence by
A51,
A54,
FINSEQ_1:def 12;
A55: C3
= (q7
* (
Sgm (
dom q7))) by
FINSEQ_1:def 14
.= (q8
\/ q9) by
RELAT_1: 32;
A56: (
dom q8)
= ((
Sgm (
dom q7))
" (
dom q6)) by
RELAT_1: 147;
A57: (
dom q9)
= ((
Sgm (
dom q7))
" (
dom q2)) by
RELAT_1: 147;
((
dom q2)
/\ (
dom q6))
=
{} by
A42;
then ((
Sgm (
dom q7))
" ((
dom q6)
/\ (
dom q2)))
=
{} ;
then (((
Sgm (
dom q7))
" (
dom q6))
/\ ((
Sgm (
dom q7))
" (
dom q2)))
=
{} by
FUNCT_1: 68;
then
A58: ((
Sgm (
dom q7))
" (
dom q6))
misses ((
Sgm (
dom q7))
" (
dom q2));
A59: (
dom q6)
c= ((
dom q6)
\/ (
dom q2)) by
XBOOLE_1: 7;
A60: (
dom q2)
c= ((
dom q6)
\/ (
dom q2)) by
XBOOLE_1: 7;
A61: (
dom q6)
c= (
dom q7) by
A59,
XTUPLE_0: 23;
A62: (
dom q2)
c= (
dom q7) by
A60,
XTUPLE_0: 23;
A63: (
dom q6)
c= (
rng (
Sgm (
dom q7))) by
A61,
FINSEQ_1: 50;
A64: (
dom q2)
c= (
rng (
Sgm (
dom q7))) by
A62,
FINSEQ_1: 50;
A65: (
dom q8)
= ((
Sgm (
dom q7))
" (
dom q6)) by
RELAT_1: 147;
A66: (
dom q9)
= ((
Sgm (
dom q7))
" (
dom q2)) by
RELAT_1: 147;
A67: (
rng ((
Sgm (
dom q7))
| (
dom q8)))
= (
rng ((
dom q6)
|` (
Sgm (
dom q7)))) by
A65,
FUNCT_1: 113
.= (
dom q6) by
A63,
RELAT_1: 89;
A68: (
dom q8)
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A69: (
dom q9)
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A70: ((
Sgm (
dom q7))
* (
Sgm (
dom q8)))
= (
Sgm (
rng ((
Sgm (
dom q7))
| (
dom q8)))) by
A43,
A45,
A68,
FINSEQ_6: 129,
XBOOLE_1: 7;
A71: (
Seq q8)
= ((q6
* (
Sgm (
dom q7)))
* (
Sgm (
dom q8))) by
FINSEQ_1:def 14
.= (q6
* ((
Sgm (
dom q7))
* (
Sgm (
dom q8)))) by
RELAT_1: 36
.= (
Seq q6) by
A67,
A70,
FINSEQ_1:def 14;
A72: (
rng ((
Sgm (
dom q7))
| (
dom q9)))
= (
rng ((
dom q2)
|` (
Sgm (
dom q7)))) by
A66,
FUNCT_1: 113
.= (
dom q2) by
A64,
RELAT_1: 89;
A73: ((
Sgm (
dom q7))
* (
Sgm (
dom q9)))
= (
Sgm (
rng ((
Sgm (
dom q7))
| (
dom q9)))) by
A43,
A45,
A69,
FINSEQ_6: 129,
XBOOLE_1: 7;
A74: (
Seq q9)
= ((q2
* (
Sgm (
dom q7)))
* (
Sgm (
dom q9))) by
FINSEQ_1:def 14
.= (q2
* ((
Sgm (
dom q7))
* (
Sgm (
dom q9)))) by
RELAT_1: 36
.= (
Seq q2) by
A72,
A73,
FINSEQ_1:def 14;
(
Seq q8)
in R2 by
A12,
A35,
A36,
A71,
FINSEQ_6: 154;
then ex ss1,ss2 be
FinSubsequence st C3
= (ss1
\/ ss2) & ss1
misses ss2 & (
Seq ss1)
in R2 & (
Seq ss2)
in R3 by
A6,
A55,
A56,
A57,
A58,
A74,
RELAT_1: 179;
then (
Seq q7)
in (R2
concur R3);
hence thesis by
A1,
A11,
A34,
A46,
A48;
end;
let x be
object;
assume x
in (R1
concur (R2
concur R3));
then
consider C1 such that
A75: x
= C1 and
A76: ex q1, q2 st C1
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in (R2
concur R3);
consider q1, q2 such that
A77: C1
= (q1
\/ q2) and
A78: q1
misses q2 and
A79: (
Seq q1)
in R1 and
A80: (
Seq q2)
in (R2
concur R3) by
A76;
consider C2 such that
A81: (
Seq q2)
= C2 and
A82: ex q3, q4 st C2
= (q3
\/ q4) & q3
misses q4 & (
Seq q3)
in R2 & (
Seq q4)
in R3 by
A80;
consider q3, q4 such that
A83: C2
= (q3
\/ q4) and
A84: q3
misses q4 and
A85: (
Seq q3)
in R2 and
A86: (
Seq q4)
in R3 by
A82;
consider n1 be
Nat such that
A87: (
dom q2)
c= (
Seg n1) by
FINSEQ_1:def 12;
A88: q3
c= (
Seq q2) by
A81,
A83,
XBOOLE_1: 7;
A89: q4
c= (
Seq q2) by
A81,
A83,
XBOOLE_1: 7;
(
Sgm (
dom q2)) is
one-to-one by
A87,
FINSEQ_3: 92;
then
A90: ((
Sgm (
dom q2))
.: (
dom q3))
misses ((
Sgm (
dom q2))
.: (
dom q4)) by
A84,
A88,
A89,
FUNCT_1: 66,
FUNCT_1: 112;
A91: (
rng ((
Sgm (
dom q2))
| (
dom q3)))
= ((
Sgm (
dom q2))
.: (
dom q3)) by
RELAT_1: 115;
A92: (
rng ((
Sgm (
dom q2))
| (
dom q4)))
= ((
Sgm (
dom q2))
.: (
dom q4)) by
RELAT_1: 115;
then
A93: (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q3))))
misses (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q4)))) by
A90,
A91,
RELAT_1: 187;
A94: (
dom (
Sgm (
dom q2)))
= (
dom (
Seq q2)) by
FINSEQ_1: 100
.= ((
dom q3)
\/ (
dom q4)) by
A81,
A83,
XTUPLE_0: 23;
A95: ((q2
| (
rng ((
Sgm (
dom q2))
| (
dom q3))))
\/ (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q4)))))
= (q2
| ((
rng ((
Sgm (
dom q2))
| (
dom q3)))
\/ (
rng ((
Sgm (
dom q2))
| (
dom q4))))) by
RELAT_1: 78
.= (q2
| ((
Sgm (
dom q2))
.: ((
dom q3)
\/ (
dom q4)))) by
A91,
A92,
RELAT_1: 120
.= (q2
| (
rng ((
Sgm (
dom q2))
| (
dom (
Sgm (
dom q2)))))) by
A94,
RELAT_1: 115
.= (q2
| (
rng (
Sgm (
dom q2))))
.= (q2
| (
dom q2)) by
FINSEQ_1: 50
.= q2;
A96: q2
c= C1 by
A77,
XBOOLE_1: 7;
A97: (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q3))))
c= q2 by
A95,
XBOOLE_1: 7;
A98: (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q4))))
c= q2 by
A95,
XBOOLE_1: 7;
(
rng C1)
= ((
rng q1)
\/ (
rng q2)) by
A77,
RELAT_1: 12;
then
A99: (
rng q2)
c= (
rng C1) by
XBOOLE_1: 7;
A100: (
rng q2)
= (
rng (
Seq q2)) by
FINSEQ_1: 101;
A101: (
rng (
Seq q2))
c= (
rng C1) by
A99,
FINSEQ_1: 101;
A102: (
rng (
Seq q2))
= ((
rng q3)
\/ (
rng q4)) by
A81,
A83,
RELAT_1: 12;
then
A103: (
rng q3)
c= (
rng (
Seq q2)) by
XBOOLE_1: 7;
(
rng q3)
= (
rng (
Seq q3)) by
FINSEQ_1: 101;
then
A104: (
rng (
Seq q3))
c= (
rng C1) by
A101,
A103;
A105: (
rng q4)
c= (
rng (
Seq q2)) by
A102,
XBOOLE_1: 7;
(
rng q4)
= (
rng (
Seq q4)) by
FINSEQ_1: 101;
then
A106: (
rng (
Seq q4))
c= (
rng C1) by
A101,
A105;
reconsider q5 = (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q3)))), q6 = (q2
| (
rng ((
Sgm (
dom q2))
| (
dom q4)))) as
FinSubsequence;
reconsider fs = C1 as
FinSequence of (
rng C1) by
FINSEQ_1:def 4;
reconsider fs1 = (
Seq q2) as
FinSequence of (
rng C1) by
A99,
A100,
FINSEQ_1:def 4;
reconsider fs2 = (
Seq q3) as
FinSequence of (
rng C1) by
A104,
FINSEQ_1:def 4;
reconsider fs3 = (
Seq q4) as
FinSequence of (
rng C1) by
A106,
FINSEQ_1:def 4;
reconsider fss = q2, fss1 = q5, fss2 = q6 as
Subset of fs by
A96,
A97,
A98,
XBOOLE_1: 1;
reconsider fss3 = q3, fss4 = q4 as
Subset of fs1 by
A81,
A83,
XBOOLE_1: 7;
A107: (
Seq fss3)
= fs2;
A108: fss1
= (fss
| (
rng ((
Sgm (
dom fss))
| (
dom fss3))));
A109: (
Seq fss4)
= fs3;
fss2
= (fss
| (
rng ((
Sgm (
dom fss))
| (
dom fss4))));
then
A110: (
Seq q4)
= (
Seq q6) by
A109,
FINSEQ_6: 154;
(q1
/\ q2)
=
{} by
A78;
then
A111: ((q1
/\ q5)
\/ (q1
/\ q6))
=
{} by
A95,
XBOOLE_1: 23;
then
A112: (q1
/\ q5)
=
{} ;
A113: (q1
/\ q6)
=
{} by
A111;
A114: q1
misses q5 by
A112;
A115: q1
c= C1 by
A77,
XBOOLE_1: 7;
A116: q2
c= C1 by
A77,
XBOOLE_1: 7;
q5
c= q2 by
A95,
XBOOLE_1: 7;
then q5
c= C1 by
A116;
then
A117: (
dom q1)
misses (
dom q5) by
A114,
A115,
FUNCT_1: 112;
then
reconsider q7 = (q1
\/ q5) as
Function by
GRFUNC_1: 13;
A118: (
dom C1)
= ((
dom q1)
\/ (
dom q2)) by
A77,
XTUPLE_0: 23
.= ((
dom q1)
\/ ((
dom q5)
\/ (
dom q6))) by
A95,
XTUPLE_0: 23
.= (((
dom q1)
\/ (
dom q5))
\/ (
dom q6)) by
XBOOLE_1: 4
.= ((
dom q7)
\/ (
dom q6)) by
XTUPLE_0: 23;
then
A119: (
dom q7)
c= (
dom C1) by
XBOOLE_1: 7;
A120: (
dom C1)
= (
Seg (
len C1)) by
FINSEQ_1:def 3;
then
reconsider q7 as
FinSubsequence by
A119,
FINSEQ_1:def 12;
A121: C1
= (q7
\/ q6) by
A77,
A95,
XBOOLE_1: 4;
A122: (q7
/\ q6)
= ((q1
/\ q6)
\/ (q5
/\ q6)) by
XBOOLE_1: 23;
(q5
/\ q6)
=
{} by
A93;
then
A123: q7
misses q6 by
A113,
A122;
A124: (
rng (
Seq q7))
= (
rng q7) by
FINSEQ_1: 101;
(
rng C1)
= ((
rng q7)
\/ (
rng q6)) by
A121,
RELAT_1: 12;
then
A125: (
rng (
Seq q7))
c= (
rng C1) by
A124,
XBOOLE_1: 7;
(
rng C1)
c= N by
FINSEQ_1:def 4;
then (
rng (
Seq q7))
c= N by
A125;
then (
Seq q7) is
FinSequence of N by
FINSEQ_1:def 4;
then
reconsider C3 = (
Seq q7) as
firing-sequence of N by
FINSEQ_1:def 11;
A126: (
dom (
Seq q7))
= (
Seg (
len (
Seq q7))) by
FINSEQ_1:def 3;
A127: (
dom (q1
* (
Sgm (
dom q7))))
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A128: (
dom (q5
* (
Sgm (
dom q7))))
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A129: (
dom (q1
* (
Sgm (
dom q7))))
c= (
dom (
Seq q7)) by
A127,
FINSEQ_1: 100;
(
dom (q5
* (
Sgm (
dom q7))))
c= (
dom (
Seq q7)) by
A128,
FINSEQ_1: 100;
then
reconsider q8 = (q1
* (
Sgm (
dom q7))), q9 = (q5
* (
Sgm (
dom q7))) as
FinSubsequence by
A126,
A129,
FINSEQ_1:def 12;
A130: C3
= (q7
* (
Sgm (
dom q7))) by
FINSEQ_1:def 14
.= (q8
\/ q9) by
RELAT_1: 32;
A131: (
dom q8)
= ((
Sgm (
dom q7))
" (
dom q1)) by
RELAT_1: 147;
A132: (
dom q9)
= ((
Sgm (
dom q7))
" (
dom q5)) by
RELAT_1: 147;
((
dom q1)
/\ (
dom q5))
=
{} by
A117;
then ((
Sgm (
dom q7))
" ((
dom q1)
/\ (
dom q5)))
=
{} ;
then (((
Sgm (
dom q7))
" (
dom q1))
/\ ((
Sgm (
dom q7))
" (
dom q5)))
=
{} by
FUNCT_1: 68;
then
A133: ((
Sgm (
dom q7))
" (
dom q1))
misses ((
Sgm (
dom q7))
" (
dom q5));
A134: (
dom q1)
c= ((
dom q1)
\/ (
dom q5)) by
XBOOLE_1: 7;
A135: (
dom q5)
c= ((
dom q1)
\/ (
dom q5)) by
XBOOLE_1: 7;
A136: (
dom q1)
c= (
dom q7) by
A134,
XTUPLE_0: 23;
A137: (
dom q5)
c= (
dom q7) by
A135,
XTUPLE_0: 23;
A138: (
dom q1)
c= (
rng (
Sgm (
dom q7))) by
A136,
FINSEQ_1: 50;
A139: (
dom q5)
c= (
rng (
Sgm (
dom q7))) by
A137,
FINSEQ_1: 50;
A140: (
dom q8)
= ((
Sgm (
dom q7))
" (
dom q1)) by
RELAT_1: 147;
A141: (
dom q9)
= ((
Sgm (
dom q7))
" (
dom q5)) by
RELAT_1: 147;
A142: (
rng ((
Sgm (
dom q7))
| (
dom q8)))
= (
rng ((
dom q1)
|` (
Sgm (
dom q7)))) by
A140,
FUNCT_1: 113
.= (
dom q1) by
A138,
RELAT_1: 89;
A143: (
dom q8)
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A144: (
dom q9)
c= (
dom (
Sgm (
dom q7))) by
RELAT_1: 25;
A145: ((
Sgm (
dom q7))
* (
Sgm (
dom q8)))
= (
Sgm (
rng ((
Sgm (
dom q7))
| (
dom q8)))) by
A118,
A120,
A143,
FINSEQ_6: 129,
XBOOLE_1: 7;
A146: (
Seq q8)
= ((q1
* (
Sgm (
dom q7)))
* (
Sgm (
dom q8))) by
FINSEQ_1:def 14
.= (q1
* ((
Sgm (
dom q7))
* (
Sgm (
dom q8)))) by
RELAT_1: 36
.= (
Seq q1) by
A142,
A145,
FINSEQ_1:def 14;
A147: (
rng ((
Sgm (
dom q7))
| (
dom q9)))
= (
rng ((
dom q5)
|` (
Sgm (
dom q7)))) by
A141,
FUNCT_1: 113
.= (
dom q5) by
A139,
RELAT_1: 89;
A148: ((
Sgm (
dom q7))
* (
Sgm (
dom q9)))
= (
Sgm (
rng ((
Sgm (
dom q7))
| (
dom q9)))) by
A118,
A120,
A144,
FINSEQ_6: 129,
XBOOLE_1: 7;
(
Seq q9)
= ((q5
* (
Sgm (
dom q7)))
* (
Sgm (
dom q9))) by
FINSEQ_1:def 14
.= (q5
* ((
Sgm (
dom q7))
* (
Sgm (
dom q9)))) by
RELAT_1: 36
.= (
Seq q5) by
A147,
A148,
FINSEQ_1:def 14;
then (
Seq q9)
in R2 by
A85,
A107,
A108,
FINSEQ_6: 154;
then ex ss1,ss2 be
FinSubsequence st C3
= (ss1
\/ ss2) & ss1
misses ss2 & (
Seq ss1)
in R1 & (
Seq ss2)
in R2 by
A79,
A130,
A131,
A132,
A133,
A146,
RELAT_1: 179;
then (
Seq q7)
in (R1
concur R2);
hence thesis by
A75,
A86,
A110,
A121,
A123;
end;
theorem ::
PNPROC_1:39
(R1
before R2)
c= (R1
concur R2)
proof
let x be
object;
assume
A1: x
in (R1
before R2);
then
reconsider C = x as
firing-sequence of N;
consider C1, C2 such that
A2: x
= (C1
^ C2) and
A3: C1
in R1 and
A4: C2
in R2 by
A1;
set q1 = C1, q2 = ((
len C1)
Shift C2);
reconsider q1 as
FinSequence;
A5: C
= (q1
\/ q2) by
A2,
VALUED_1: 49;
A6: q1
misses q2 by
VALUED_1: 50;
A7: (
Seq q1)
in R1 by
A3,
FINSEQ_3: 116;
(
Seq q2)
in R2 by
A4,
VALUED_1: 46;
hence thesis by
A5,
A6,
A7;
end;
theorem ::
PNPROC_1:40
R1
c= P1 & R2
c= P2 implies (R1
before R2)
c= (P1
before P2)
proof
assume that
A1: R1
c= P1 and
A2: R2
c= P2;
let x be
object;
assume x
in (R1
before R2);
then ex C1, C2 st (x
= (C1
^ C2)) & (C1
in R1) & (C2
in R2);
hence thesis by
A1,
A2;
end;
theorem ::
PNPROC_1:41
R1
c= P1 & R2
c= P2 implies (R1
concur R2)
c= (P1
concur P2)
proof
assume that
A1: R1
c= P1 and
A2: R2
c= P2;
let x be
object;
assume x
in (R1
concur R2);
then ex C st x
= C & ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2;
hence thesis by
A1,
A2;
end;
Lm2: for p1,p2 be
FinSequence, q1,q2 be
FinSubsequence st q1
c= p1 & q2
c= p2 holds (
dom (q1
\/ ((
len p1)
Shift q2)))
c= (
dom (p1
^ p2))
proof
let p1,p2 be
FinSequence, q1,q2 be
FinSubsequence;
assume that
A1: q1
c= p1 and
A2: q2
c= p2;
A3: (
dom q1)
c= (
dom p1) by
A1,
GRFUNC_1: 2;
A4: (
dom q2)
c= (
dom p2) by
A2,
GRFUNC_1: 2;
let x be
object;
assume x
in (
dom (q1
\/ ((
len p1)
Shift q2)));
then
A5: x
in ((
dom q1)
\/ (
dom ((
len p1)
Shift q2))) by
XTUPLE_0: 23;
A6: (
dom (p1
^ p2))
= (
Seg ((
len p1)
+ (
len p2))) by
FINSEQ_1:def 7;
A7:
now
assume
A8: x
in (
dom q1);
A9: (
dom p1)
= (
Seg (
len p1)) by
FINSEQ_1:def 3;
(
len p1)
<= ((
len p1)
+ (
len p2)) by
INT_1: 6;
then (
Seg (
len p1))
c= (
Seg ((
len p1)
+ (
len p2))) by
FINSEQ_1: 5;
hence thesis by
A3,
A6,
A8,
A9;
end;
now
assume
A10: x
in (
dom ((
len p1)
Shift q2));
A11: (
dom ((
len p1)
Shift q2))
c= (
dom ((
len p1)
Shift p2))
proof
let x be
object;
assume
A12: x
in (
dom ((
len p1)
Shift q2));
A13: (
dom ((
len p1)
Shift p2))
= { (k
+ (
len p1)) where k be
Nat : k
in (
dom p2) } by
VALUED_1:def 12;
(
dom ((
len p1)
Shift q2))
= { (k
+ (
len p1)) where k be
Nat : k
in (
dom q2) } by
VALUED_1:def 12;
then ex k be
Nat st (x
= (k
+ (
len p1))) & (k
in (
dom q2)) by
A12;
hence thesis by
A4,
A13;
end;
(
dom (p1
^ p2))
= (
dom (p1
\/ ((
len p1)
Shift p2))) by
VALUED_1: 49
.= ((
dom p1)
\/ (
dom ((
len p1)
Shift p2))) by
XTUPLE_0: 23;
then (
dom ((
len p1)
Shift p2))
c= (
dom (p1
^ p2)) by
XBOOLE_1: 7;
then (
dom ((
len p1)
Shift q2))
c= (
dom (p1
^ p2)) by
A11;
hence thesis by
A10;
end;
hence thesis by
A5,
A7,
XBOOLE_0:def 3;
end;
Lm3: for p1 be
FinSequence, q1,q2 be
FinSubsequence st q1
c= p1 holds q1
misses ((
len p1)
Shift q2) by
VALUED_1: 50,
XBOOLE_1: 63;
theorem ::
PNPROC_1:42
((R1
concur R2)
before (P1
concur P2))
c= ((R1
before P1)
concur (R2
before P2))
proof
let x be
object;
assume x
in ((R1
concur R2)
before (P1
concur P2));
then
consider C1, C2 such that
A1: x
= (C1
^ C2) and
A2: C1
in (R1
concur R2) and
A3: C2
in (P1
concur P2);
consider C3 such that
A4: C1
= C3 and
A5: ex q1, q2 st C3
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in R1 & (
Seq q2)
in R2 by
A2;
consider q1, q2 such that
A6: C3
= (q1
\/ q2) and
A7: q1
misses q2 and
A8: (
Seq q1)
in R1 and
A9: (
Seq q2)
in R2 by
A5;
consider C4 be
firing-sequence of N such that
A10: C2
= C4 and
A11: ex q3, q4 st C4
= (q3
\/ q4) & q3
misses q4 & (
Seq q3)
in P1 & (
Seq q4)
in P2 by
A3;
consider q3, q4 such that
A12: C4
= (q3
\/ q4) and
A13: q3
misses q4 and
A14: (
Seq q3)
in P1 and
A15: (
Seq q4)
in P2 by
A11;
reconsider C = (C1
^ C2) as
firing-sequence of N;
reconsider q5 = ((
len C1)
Shift q3), q6 = ((
len C1)
Shift q4) as
FinSubsequence;
A16: q1
c= C1 by
A4,
A6,
XBOOLE_1: 7;
A17: q2
c= C1 by
A4,
A6,
XBOOLE_1: 7;
A18: q3
c= C2 by
A10,
A12,
XBOOLE_1: 7;
A19: q4
c= C2 by
A10,
A12,
XBOOLE_1: 7;
A20: C1
c= (C1
^ C2) by
FINSEQ_6: 10;
then
A21: q1
c= (C1
^ C2) by
A16;
A22: q2
c= (C1
^ C2) by
A17,
A20;
reconsider ss = C2 as
FinSubsequence;
A23: q5
c= ((
len C1)
Shift ss) by
A10,
A12,
VALUED_1: 52,
XBOOLE_1: 7;
A24: q6
c= ((
len C1)
Shift ss) by
A10,
A12,
VALUED_1: 52,
XBOOLE_1: 7;
A25: ((
len C1)
Shift C2)
c= (C1
^ C2) by
VALUED_1: 53;
then
A26: q5
c= (C1
^ C2) by
A23;
A27: q6
c= (C1
^ C2) by
A24,
A25;
A28: (
dom q1)
misses (
dom q5) by
A16,
A21,
A26,
Lm3,
FUNCT_1: 112;
(
dom q2)
misses (
dom q6) by
A17,
A22,
A27,
Lm3,
FUNCT_1: 112;
then
reconsider ss1 = (q1
\/ q5), ss2 = (q2
\/ q6) as
Function by
A28,
GRFUNC_1: 13;
A29: (
dom C)
= (
Seg (
len C)) by
FINSEQ_1:def 3;
A30: (
dom ss1)
c= (
dom C) by
A16,
A18,
Lm2;
(
dom ss2)
c= (
dom C) by
A17,
A19,
Lm2;
then
reconsider ss1, ss2 as
FinSubsequence by
A29,
A30,
FINSEQ_1:def 12;
A31: (ss1
\/ ss2)
= (((q1
\/ ((
len C1)
Shift q3))
\/ q2)
\/ ((
len C1)
Shift q4)) by
XBOOLE_1: 4
.= (((q1
\/ q2)
\/ ((
len C1)
Shift q3))
\/ ((
len C1)
Shift q4)) by
XBOOLE_1: 4
.= (C1
\/ (((
len C1)
Shift q3)
\/ ((
len C1)
Shift q4))) by
A4,
A6,
XBOOLE_1: 4
.= (C1
\/ ((
len C1)
Shift C2)) by
A10,
A12,
A13,
VALUED_1: 55
.= C by
VALUED_1: 49;
A32: (ss1
/\ q2)
= ((q1
/\ q2)
\/ (((
len C1)
Shift q3)
/\ q2)) by
XBOOLE_1: 23;
(ss1
/\ ((
len C1)
Shift q4))
= ((q1
/\ ((
len C1)
Shift q4))
\/ (((
len C1)
Shift q3)
/\ ((
len C1)
Shift q4))) by
XBOOLE_1: 23;
then
A33: (ss1
/\ ss2)
= (((q1
/\ q2)
\/ (((
len C1)
Shift q3)
/\ q2))
\/ ((q1
/\ ((
len C1)
Shift q4))
\/ (((
len C1)
Shift q3)
/\ ((
len C1)
Shift q4)))) by
A32,
XBOOLE_1: 23;
A34: (q1
/\ q2)
=
{} by
A7;
A35: ((
len C1)
Shift q3)
misses q2 by
A4,
A6,
Lm3,
XBOOLE_1: 7;
A36: q1
misses ((
len C1)
Shift q4) by
A4,
A6,
Lm3,
XBOOLE_1: 7;
A37: (((
len C1)
Shift q3)
/\ q2)
=
{} by
A35;
A38: (q1
/\ ((
len C1)
Shift q4))
=
{} by
A36;
(
dom q3)
misses (
dom q4) by
A13,
A18,
A19,
FUNCT_1: 112;
then (
dom ((
len C1)
Shift q3))
misses (
dom ((
len C1)
Shift q4)) by
VALUED_1: 54;
then ((
len C1)
Shift q3)
misses ((
len C1)
Shift q4) by
RELAT_1: 179;
then (ss1
/\ ss2)
=
{} by
A33,
A34,
A37,
A38;
then
A39: ss1
misses ss2;
A40: ex ss3 be
FinSubsequence st (ss3
= ss1) & (((
Seq q1)
^ (
Seq q3))
= (
Seq ss3)) by
A16,
A18,
VALUED_1: 64;
A41: ex ss4 be
FinSubsequence st (ss4
= ss2) & (((
Seq q2)
^ (
Seq q4))
= (
Seq ss4)) by
A17,
A19,
VALUED_1: 64;
A42: (
Seq ss1)
in (R1
before P1) by
A8,
A14,
A40;
(
Seq ss2)
in (R2
before P2) by
A9,
A15,
A41;
hence thesis by
A1,
A31,
A39,
A42;
end;
registration
let P, N;
let R1,R2 be non
empty
process of N;
cluster (R1
concur R2) -> non
empty;
coherence
proof
consider fs1 be
object such that
A1: fs1
in R1 by
XBOOLE_0:def 1;
consider fs2 be
object such that
A2: fs2
in R2 by
XBOOLE_0:def 1;
reconsider fs1, fs2 as
firing-sequence of N by
A1,
A2;
reconsider C = (fs1
^ fs2) as
firing-sequence of N;
A3: C
= (fs1
\/ ((
len fs1)
Shift fs2)) by
VALUED_1: 49;
A4: fs1
misses ((
len fs1)
Shift fs2) by
VALUED_1: 50;
A5: fs1
= (
Seq fs1) by
FINSEQ_3: 116;
(
Seq ((
len fs1)
Shift fs2))
in R2 by
A2,
VALUED_1: 46;
then C
in (R1
concur R2) by
A1,
A3,
A4,
A5;
hence thesis;
end;
end
begin
definition
let P;
let N be
Petri_net of P;
::
PNPROC_1:def14
func
NeutralProcess (N) -> non
empty
process of N equals
{(
<*> N)};
coherence ;
end
definition
let P;
let N be
Petri_net of P;
let t be
Element of N;
::
PNPROC_1:def15
func
ElementaryProcess (t) -> non
empty
process of N equals
{
<*t*>};
coherence ;
end
theorem ::
PNPROC_1:43
((
NeutralProcess N)
before R)
= R
proof
thus ((
NeutralProcess N)
before R)
c= R
proof
let x be
object;
assume x
in ((
NeutralProcess N)
before R);
then
consider C1, C such that
A1: x
= (C1
^ C) and
A2: C1
in (
NeutralProcess N) and
A3: C
in R;
C1
= (
<*> N) by
A2,
TARSKI:def 1;
hence thesis by
A1,
A3,
FINSEQ_1: 34;
end;
let x be
object;
assume
A4: x
in R;
then
reconsider C = x as
Element of (N
* );
A5: (
<*> N)
in (
NeutralProcess N) by
TARSKI:def 1;
x
= ((
<*> N)
^ C) by
FINSEQ_1: 34;
hence thesis by
A4,
A5;
end;
theorem ::
PNPROC_1:44
(R
before (
NeutralProcess N))
= R
proof
thus (R
before (
NeutralProcess N))
c= R
proof
let x be
object;
assume x
in (R
before (
NeutralProcess N));
then
consider C1, C such that
A1: x
= (C1
^ C) and
A2: C1
in R and
A3: C
in (
NeutralProcess N);
C
= (
<*> N) by
A3,
TARSKI:def 1;
hence thesis by
A1,
A2,
FINSEQ_1: 34;
end;
let x be
object;
assume
A4: x
in R;
then
reconsider C = x as
Element of (N
* );
A5: (
<*> N)
in (
NeutralProcess N) by
TARSKI:def 1;
x
= (C
^ (
<*> N)) by
FINSEQ_1: 34;
hence thesis by
A4,
A5;
end;
theorem ::
PNPROC_1:45
((
NeutralProcess N)
concur R)
= R
proof
thus ((
NeutralProcess N)
concur R)
c= R
proof
let x be
object;
assume x
in ((
NeutralProcess N)
concur R);
then
consider C such that
A1: x
= C and
A2: ex q1,q2 be
FinSubsequence st C
= (q1
\/ q2) & q1
misses q2 & (
Seq q1)
in
{(
<*> N)} & (
Seq q2)
in R;
consider q1,q2 be
FinSubsequence such that
A3: C
= (q1
\/ q2) and q1
misses q2 and
A4: (
Seq q1)
in
{(
<*> N)} and
A5: (
Seq q2)
in R by
A2;
(
Seq q1)
=
{} by
A4,
TARSKI:def 1;
then q1
=
{} by
FINSEQ_1: 97;
hence thesis by
A1,
A3,
A5,
FINSEQ_3: 116;
end;
let x be
object;
assume
A6: x
in R;
then
reconsider C = x as
firing-sequence of N;
reconsider q1 = (
<*> N), q2 = C as
FinSubsequence;
A7: (
Seq q2)
= C by
FINSEQ_3: 116;
A8: (
{}
\/ q2)
= C;
A9: (
Seq q1)
= q1 by
FINSEQ_3: 116;
A10: q1
in
{(
<*> N)} by
TARSKI:def 1;
q1
misses q2;
hence thesis by
A6,
A7,
A8,
A9,
A10;
end;