
theorem Th5:
  for A,B,C being set for f being currying Function for g being
uncurrying Function st dom f c= Funcs([:A, B:], C) & rng f c= dom g holds g*f =
  id dom f
proof
  let A,B,C be set;
  let f be currying Function;
  let g be uncurrying Function;
  assume that
A1: dom f c= Funcs([:A, B:], C) and
A2: rng f c= dom g;
A3: now
    let x be object;
    assume
A4: x in dom f;
    then reconsider X=x as Function by Def2;
A5: ex F being Function st X = F & dom F = [:A, B:] & rng
    F c= C by A1,A4,FUNCT_2:def 2;
A6: f.x in rng f by A4,FUNCT_1:def 3;
    then reconsider Y=f.x as Function by A2,Def1;
    thus (g*f).x = g.(f.x) by A4,FUNCT_1:13
      .= uncurry Y by A2,A6,Def1
      .= uncurry (curry X) by A4,Def2
      .= x by A5,FUNCT_5:49;
  end;
  dom (g*f) = dom f by A2,RELAT_1:27;
  hence thesis by A3,FUNCT_1:17;
end;
