reserve S,T,W,Y for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve Z for Subset of S;
reserve i,n for Nat;

theorem LPB2Th11:
  for X,Y,Z be RealNormSpace
  for f be Element of R_NormSpace_of_BoundedLinearOperators(Y,Z),
      g be Element of R_NormSpace_of_BoundedLinearOperators(X,Y)
  for a,b be Real holds (a*b) * (f*g) = (a*f) * (b*g)
  proof
    let X,Y,Z be RealNormSpace;
    let f be Element of R_NormSpace_of_BoundedLinearOperators(Y,Z),
        g be Element of R_NormSpace_of_BoundedLinearOperators(X,Y);
    let a,b be Real;
    set BLOPXY=R_NormSpace_of_BoundedLinearOperators(X,Y);
    set BLOPXZ=R_NormSpace_of_BoundedLinearOperators(X,Z);
    set BLOPYZ=R_NormSpace_of_BoundedLinearOperators(Y,Z);
    set mf = modetrans(f,Y,Z);
    set mg = modetrans(g,X,Y);
    set maf= modetrans((a*f),Y,Z);
    set mbg= modetrans(b*g,X,Y);
    A1: maf*mbg is Lipschitzian LinearOperator of X,Z by LOPBAN_2:2; then
    reconsider k=(maf)*(mbg) as VECTOR of BLOPXZ by LOPBAN_1:def 9;
    A2: mf*mg is Lipschitzian LinearOperator of X,Z by LOPBAN_2:2; then
    reconsider fg = mf*mg as VECTOR of BLOPXZ by LOPBAN_1:def 9;
    reconsider ff = f as VECTOR of BLOPYZ;
    reconsider gg = g as VECTOR of BLOPXY;
    A3: gg = mg by LOPBAN_1:def 11;
    A4: ff = mf by LOPBAN_1:def 11;
    for x be VECTOR of X holds ( (maf)*(mbg)).x=(a*b)*(mf*mg).x
    proof
      let x be VECTOR of X;
      set y = b*mg.x;
      a*f = a*ff & modetrans(a*f, Y,Z) = a*f by LOPBAN_1:def 11; then
      A5: maf.y = a*mf.y by A4,LOPBAN_1:36;
      b*g = b*gg & modetrans(b*g, X,Y) = b*g by LOPBAN_1:def 11; then
      A6: mbg.x = b*mg.x by A3,LOPBAN_1:36;
      thus (maf*mbg).x = maf.(mbg.x) by A1,LPB2Th4
        .= a * (b*mf.(mg.x)) by A5,A6,LOPBAN_1:def 5
        .= (a*b) * mf.(mg.x) by RLVECT_1:def 7
        .= (a*b) * (mf*mg).x by A2,LPB2Th4;
    end;
    hence thesis by LOPBAN_1:36;
  end;
