reserve x,y for object,X,Y,A,B,C,M for set;
reserve P,Q,R,R1,R2 for Relation;
reserve X,X1,X2 for Subset of A;
reserve Y for Subset of B;
reserve R,R1,R2 for Subset of [:A,B:];
reserve FR for Subset-Family of [:A,B:];
reserve R for Relation of A,B;
reserve S for Relation of B,C;

theorem :: (15.1)
  X c= proj1 R iff X c= (R*(R~)).:X
proof
  thus X c= proj1 R implies X c= (R*(R~)).:X
  proof
    assume
A1: X c= proj1 R;
    let x be object;
    assume
A2: x in X;
    then reconsider x as Element of A;
    consider y being object such that
A3: [x,y] in R by A1,A2,XTUPLE_0:def 12;
A4: [y,x] in R~ by A3,RELAT_1:def 7;
    y in {y} by TARSKI:def 1;
    then
A5: x in (R~).:{y} by A4,RELAT_1:def 13;
    (R~).:{y} c= (R*(R~)).:X
    proof
      let a be object;
      assume a in (R~).:{y};
      then ex b being object st ( [b,a] in R~)&( b in {y}) by RELAT_1:def 13;
      then [y,a] in R~ by TARSKI:def 1;
      then [x,a] in R*R~ by A3,RELAT_1:def 8;
      hence thesis by A2,RELAT_1:def 13;
    end;
    hence thesis by A5;
  end;
  assume
A6: X c= (R*(R~)).:X;
  let x be object;
  assume x in X;
  then
A7: x in (R*(R~)).:X by A6;
A8: (R*R~).:X = (R~).:(R.:X) by RELAT_1:126;
  (R~).:(R.:X) c= (R~).:B by RELAT_1:123;
  then (R*R~).:X c= proj1 R by A8,Th50;
  hence thesis by A7;
end;
