reserve i,j,k,l for Nat,
  x,x1,x2,y1,y2 for set;
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;
reserve t,t1,t2 for transition of P;
reserve N for Petri_net of P;
reserve e, e1,e2 for Element of N;
reserve C,C1,C2,C3,fs,fs1,fs2 for firing-sequence of N;
reserve R, R1, R2, R3, P1, P2 for process of N;

theorem
  (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;
