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;
reserve q,q1,q2,q3,q4 for FinSubsequence,
        p1,p2 for FinSequence;

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