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:];

theorem Th31: :: (4)
  X1 c= X2 implies R.:^X2 c= R.:^X1
proof
  assume X1 c= X2;
  then
A1: {_{X1}_} c= {_{X2}_} by Th6;
  let y be object;
  assume
A2: y in R.:^X2;
  per cases;
  suppose
A3: (.:R).:{_{X2}_} = {};
    per cases;
    suppose (.:R).:{_{X1}_} = {};
      then Intersect((.:R).:{_{X1}_}) = B by SETFAM_1:def 9;
      hence thesis by A2;
    end;
    suppose
A4:   (.:R).:{_{X1}_} <> {};
      for Y being set holds Y in (.:R).:{_{X1}_} implies y in Y
      proof
        let Y be set;
        assume Y in (.:R).:{_{X1}_};
        then ex x being object st ( [x,Y] in .:R)&( x in {_{X1}_}) by
RELAT_1:def 13;
        hence thesis by A1,A3,RELAT_1:def 13;
      end;
      then y in meet ((.:R).:{_{X1}_}) by A4,SETFAM_1:def 1;
      hence thesis by A4,SETFAM_1:def 9;
    end;
  end;
  suppose (.:R).:{_{X2}_} <> {};
    then
A5: y in meet ((.:R).:{_{X2}_}) by A2,SETFAM_1:def 9;
    per cases;
    suppose (.:R).:{_{X1}_} = {};
      then Intersect((.:R).:{_{X1}_}) = B by SETFAM_1:def 9;
      hence thesis by A2;
    end;
    suppose
A6:   (.:R).:{_{X1}_} <> {};
      (.:R).:{_{X1}_} c= (.:R).:{_{X2}_} by A1,RELAT_1:123;
      then meet ((.:R).:{_{X2}_}) c= meet ((.:R).:{_{X1}_}) by A6,SETFAM_1:6;
      then y in meet ((.:R).:{_{X1}_}) by A5;
      hence thesis by A6,SETFAM_1:def 9;
    end;
  end;
end;
