
theorem Th8:
  for X,Y being set, f being Function st rng f c= Funcs(X, Y) for i
  ,A being set st i in X holds ((commute f).i).:A = pi(f.:A, i)
proof
  let X,Y be set, f be Function;
  assume
A1: rng f c= Funcs(X, Y);
  then
A2: f in Funcs(dom f, Funcs(X, Y)) by FUNCT_2:def 2;
A3: f is Function-yielding
  proof
    let x be object;
    assume x in dom f;
    then f.x in rng f by FUNCT_1:def 3;
    hence thesis by A1;
  end;
  let i, A be set;
  assume
A4: i in X;
  per cases;
  suppose
    dom f = {};
    then
A5: f = {};
    then (commute f).i = {} by FUNCT_6:58;
    then
A6: ((commute f).i).:A = {};
    f.:A = {} by A5;
    hence thesis by A6,CARD_3:13;
  end;
  suppose
    dom f <> {};
    then commute f in Funcs(X, Funcs(dom f, Y)) by A2,A4,FUNCT_6:55;
    then
    ex g being Function st commute f = g & dom g = X & rng g c= Funcs(dom
    f, Y) by FUNCT_2:def 2;
    hence ((commute f).i).:A c= pi(f.:A, i) by A3,A4,Th6;
    now
      let g be Function;
A7:   f.:A c= rng f by RELAT_1:111;
      assume g in f.:A;
      then g in rng f by A7;
      then ex h being Function st g = h & dom h = X & rng h c= Y by A1,
FUNCT_2:def 2;
      hence i in dom g by A4;
    end;
    hence thesis by A3,Th7;
  end;
end;
