
theorem Th6:
  for f being Function-yielding Function for i,A being set st i in
  dom commute f holds ((commute f).i).:A c= pi(f.:A, i)
proof
  let f be Function-yielding Function;
  let i,A be set;
A1: commute f = curry' uncurry f by FUNCT_6:def 10
    .= curry ~(uncurry f) by FUNCT_5:def 3;
  assume
A2: i in dom commute f;
  thus ((commute f).i).:A c= pi(f.:A, i)
  proof
    let x be object;
    assume x in ((commute f).i).:A;
    then consider y being object such that
A3: y in dom ((commute f).i) and
A4: y in A and
A5: x = ((commute f).i).y by FUNCT_1:def 6;
A6: [i,y] in dom ~(uncurry f) by A2,A1,A3,FUNCT_5:31;
    then
A7: [y,i] in dom uncurry f by FUNCT_4:42;
    then ex a being object,g being Function, b being object st [y,i] =
    [a,b] & a in dom f & g = f.a & b in dom g by FUNCT_5:def 2;
    then y in dom f by XTUPLE_0:1;
    then
A8: f.y in f.:A by A4,FUNCT_1:def 6;
A9: [y,i]`2=i;
A10: [y,i]`1=y;
    x = ~(uncurry f).(i,y) by A2,A1,A3,A5,FUNCT_5:31
      .= (uncurry f).(y,i) by A6,FUNCT_4:43
      .= (f.y qua Function).i by A7,A10,A9,FUNCT_5:def 2;
    hence thesis by A8,CARD_3:def 6;
  end;
end;
