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;
reserve J for non empty set,
  K for non-empty ManySortedSet of J;

theorem Th31:
  for J, A being non empty set, B being set, K being ManySortedSet
of J for F being DoubleIndexedSet of K, A for f being Function of A, B holds (J
  => f)**F is DoubleIndexedSet of K, B
proof
  let J, A be non empty set;
  let B be set;
  let K be ManySortedSet of J;
  let F be DoubleIndexedSet of K, A;
  let f be Function of A, B;
  set fF = (J => f)**F;
  dom fF = J by MSUALG_3:2;
  then reconsider fF as ManySortedSet of J by PARTFUN1:def 2,RELAT_1:def 18;
  for j being object st j in J holds fF.j is Function of K.j, (J --> B).j
  proof
    let j be object;
    assume
A1: j in J;
    then reconsider j9= j as Element of J;
    reconsider Fj = F.j9 as Function of K.j, A;
A2: fF.j = ((J => f).j)*(F.j) by A1,MSUALG_3:2
      .= f*Fj;
    thus thesis by A2;
  end;
  hence (J --> f)**F is DoubleIndexedSet of K, B by PBOOLE:def 15;
end;
