reserve x,y for object,X,Y for set;
reserve M for Pnet;

theorem Th15:
  ((Flow M)|(the carrier of M))~ = ((Flow M)~)|(the carrier' of M) &
  ((Flow M)|(the carrier' of M))~ =
  ((Flow M)~)|(the carrier of M)
proof
  set R = Flow M;
  set X = the carrier of M;
  set Y = the carrier' of M;
  for x,y being object holds [x,y] in (R|X)~ implies [x,y] in (R~)|Y
  proof
    let x,y be object;
    assume [x,y] in (R|X)~;
    then
A1: [y,x] in R|X by RELAT_1:def 7;
    then
A2: [y,x] in R by RELAT_1:def 11;
A3: y in X by A1,RELAT_1:def 11;
A4: [x,y] in R~ by A2,RELAT_1:def 7;
    x in Y by A2,A3,Th7;
    hence thesis by A4,RELAT_1:def 11;
  end;
  then
A5: ((R|X)~) c= ((R~)|Y) by RELAT_1:def 3;
  for x,y being object holds [x,y] in (R~)|Y implies [x,y] in (R|X)~
  proof
    let x,y be object;
    assume
A6: [x,y] in (R~)|Y;
    then [x,y] in R~ by RELAT_1:def 11;
    then
A7: [y,x] in R by RELAT_1:def 7;
    x in Y by A6,RELAT_1:def 11;
    then y in X by A7,Th7;
    then [y,x] in R|X by A7,RELAT_1:def 11;
    hence thesis by RELAT_1:def 7;
  end;
  then
A8: ((R~)|Y) c= ((R|X)~) by RELAT_1:def 3;
  for x,y being object holds [x,y] in (R|Y)~ implies [x,y] in (R~)|X
  proof
    let x,y be object;
    assume [x,y] in (R|Y)~;
    then
A9: [y,x] in R|Y by RELAT_1:def 7;
    then
A10: [y,x] in R by RELAT_1:def 11;
A11: y in Y by A9,RELAT_1:def 11;
A12: [x,y] in R~ by A10,RELAT_1:def 7;
    x in X by A10,A11,Th7;
    hence thesis by A12,RELAT_1:def 11;
  end;
  then
A13: ((R|Y)~) c= ((R~)|X) by RELAT_1:def 3;
  for x,y being object holds [x,y] in (R~)|X implies [x,y] in (R|Y)~
  proof
    let x,y be object;
    assume
A14: [x,y] in (R~)|X;
    then [x,y] in R~ by RELAT_1:def 11;
    then
A15: [y,x] in R by RELAT_1:def 7;
    x in X by A14,RELAT_1:def 11;
    then y in Y by A15,Th7;
    then [y,x] in R|Y by A15,RELAT_1:def 11;
    hence thesis by RELAT_1:def 7;
  end;
  then ((R~)|X) c= ((R|Y)~) by RELAT_1:def 3;
  hence thesis by A5,A8,A13,XBOOLE_0:def 10;
end;
