reserve M for non empty set;
reserve V for ComplexNormSpace;
reserve f,f1,f2,f3 for PartFunc of M,V;
reserve z,z1,z2 for Complex;
reserve X,Y for set;

theorem
  for f1 be PartFunc of M,COMPLEX holds f1|X is bounded & f2
  is_bounded_on Y implies f1(#)f2 is_bounded_on (X /\ Y)
proof
  let f1 be PartFunc of M,COMPLEX;
  assume that
A1: f1|X is bounded and
A2: f2 is_bounded_on Y;
  consider r1 be Real such that
A3: for c be Element of M st c in X /\ dom f1 holds |. f1/.c .| <= r1 by A1,
CFUNCT_1:69;
  consider r2 be Real such that
A4: for c be Element of M st c in Y /\ dom f2 holds ||.(f2/.c).|| <= r2
  by A2;
  reconsider r1 as Real;
  now
    take r=r1*r2;
    let c be Element of M;
    assume
A5: c in X /\ Y /\ dom (f1(#)f2);
    then
A6: c in X /\ Y by XBOOLE_0:def 4;
    then
A7: c in X by XBOOLE_0:def 4;
A8: c in dom (f1(#)f2) by A5,XBOOLE_0:def 4;
    then
A9: c in dom f1 /\ dom f2 by Def1;
    then c in dom f1 by XBOOLE_0:def 4;
    then c in X /\ dom f1 by A7,XBOOLE_0:def 4;
    then
A10: |.(f1/.c).| <= r1 by A3;
A11: c in Y by A6,XBOOLE_0:def 4;
    c in dom f2 by A9,XBOOLE_0:def 4;
    then c in Y /\ dom f2 by A11,XBOOLE_0:def 4;
    then
A12: ||.(f2/.c).|| <= r2 by A4;
    0<=|.(f1/.c).| & 0<=||.(f2/.c).|| by CLVECT_1:105,COMPLEX1:46;
    then |.(f1/.c).|*||.(f2/.c).|| <= r by A10,A12,XREAL_1:66;
    then ||.f1/.c * (f2/.c).|| <= r by CLVECT_1:def 13;
    hence ||.(f1(#)f2)/.c.|| <= r by A8,Def1;
  end;
  hence thesis;
end;
