reserve i, j, k, c, m, n for Nat,
  a, x, y, z, X, Y for set,
  D, E for non empty set,
  R for Relation,
  f, g for Function,
  p, q for FinSequence;

theorem Th45:
  for f being quasi_total Element of HFuncs D, F being
  with_the_same_arity FinSequence of HFuncs D st arity f = len F &
  for h being Element of HFuncs D st h in rng F holds h is quasi_total holds
  f*<:F:> is quasi_total Element of HFuncs D
proof
  set X = D;
  let f being quasi_total Element of HFuncs X, F being with_the_same_arity
  FinSequence of HFuncs X such that
A1: arity f = len F and
A2: for h being Element of HFuncs X st h in rng F holds h is quasi_total;
  reconsider g = {} as PartFunc of X*, X by RELSET_1:12;
A3: g is quasi_total;
  g in PFuncs(X*, X) by PARTFUN1:45;
  then
A4: g in {h where h is Element of PFuncs(X*, X): h is homogeneous};
  per cases;
  suppose
    f = {};
    hence thesis;
  end;
  suppose
    F = {};
    hence thesis by A4,A3,FUNCT_6:40;
  end;
  suppose
    ex h being set st h in rng F & h = {};
    then <:F:> = {} by Th7;
    hence thesis by A4,A3;
  end;
  suppose
A5: F <> {} & f <> {} & for h being set st h in rng F holds h <> {};
    then
    for h be Element of HFuncs X st h in rng F holds h is quasi_total non
    empty by A2;
    hence thesis by A1,A5,Th44;
  end;
end;
