reserve x, y, i for object,
  L for up-complete Semilattice;
reserve L for complete LATTICE,
  a, b, c for Element of L,
  J for non empty set,
  K for non-empty ManySortedSet of J;
reserve J, K, D for non empty set,
  j for Element of J,
  k for Element of K;

theorem Th20:
  for F being Function of [:J, K:], D holds dom curry F = J & dom(
  (curry F).j) = K & F.(j, k) = ((curry F).j).k
proof
  let F be Function of [:J, K:], D;
  thus dom curry F = proj1 dom F by FUNCT_5:def 1
    .= proj1 [:J, K:] by FUNCT_2:def 1
    .= J by FUNCT_5:9;
  dom F = [:J, K:] by FUNCT_2:def 1;
  then ex g being Function st (curry F).j = g & dom g = K & rng g c= rng F &
  for i being object st i in K holds g.i = F.(j, i) by FUNCT_5:29;
  hence dom((curry F).j) = K;
  [j, k] in [:J, K:];
  then [j, k] in dom F by FUNCT_2:def 1;
  hence thesis by FUNCT_5:20;
end;
