
theorem
  for X being non empty set, Y being Subset of X, i being object
  holds proj({i} --> X,i).:product ({i} --> Y) = Y
proof
  let X be non empty set, Y be Subset of X, i be object;
  per cases;
  suppose A1: Y is empty;
    then rng ({i} --> Y) = {{}} by FUNCOP_1:8;
    then product ({i} --> Y) = {} by Lm1;
    hence thesis by A1;
  end;
  suppose A2: Y is non empty;
    for x being object holds x in proj({i} --> X,i).:product ({i} --> Y)
      iff x in Y
    proof
      let x be object;
      hereby
        assume x in proj({i} --> X,i).:product ({i} --> Y);
        then consider y being object such that
          A3: y in dom proj({i} --> X,i) & y in product ({i} --> Y) and
          A4: x = proj({i} --> X,i).y by FUNCT_1:def 6;
        consider z being Element of Y such that
          A5: y = {i} --> z by A2, A3, Th16;
        reconsider y as Function by A5;
        x = y.i by A3, A4, CARD_3:def 16
          .= (i .--> z).i by A5, FUNCOP_1:def 9
          .= z by FUNCOP_1:72;
        hence x in Y by A2;
      end;
      assume x in Y;
      then reconsider z = x as Element of Y;
      ex y being object st y in dom proj({i} --> X,i) &
        y in product ({i} --> Y) & x = proj({i} --> X,i).y
      proof
        set y = {i} --> z;
        take y;
        y in product ({i} --> Y) by A2, Th13;
        then y in product ({i} --> X) by Th14, TARSKI:def 3;
        hence A7: y in dom proj({i} --> X,i) &
            y in product ({i} --> Y) by A2,Th13,CARD_3:def 16;
        thus x = (i .--> z).i by FUNCOP_1:72
          .= y.i by FUNCOP_1:def 9
          .= proj({i} --> X,i).y by A7, CARD_3:def 16;
      end;
      hence thesis by FUNCT_1:def 6;
    end;
    hence thesis by TARSKI:2;
  end;
end;
