reserve X,Y,Z for RealLinearSpace;
 reserve X,Y,Z for RealNormSpace;

theorem
  ex I be LinearOperator of
    R_NormSpace_of_BoundedLinearOperators
    (X,R_NormSpace_of_BoundedLinearOperators(Y,Z)),
    R_NormSpace_of_BoundedBilinearOperators(X,Y,Z)
  st I is bijective
   & for u be Point of
      R_NormSpace_of_BoundedLinearOperators
        (X,R_NormSpace_of_BoundedLinearOperators(Y,Z))
      holds
        ||.u.|| = ||. I.u .||
      & for x be Point of X,y be Point of Y
        holds (I.u).(x,y) = (u.x).y
  proof
    set XC = the carrier of X;
    set YC = the carrier of Y;
    set ZC = the carrier of Z;
    consider I0 being Function of Funcs (XC,Funcs (YC,ZC)),Funcs ([:XC,YC:],ZC)
    such that
    A1: I0 is bijective
      & for f being Function of XC,Funcs (YC,ZC)
        for d, e being object st d in XC & e in YC holds
        (I0 . f) . (d, e) = (f . d) . e by NDIFF_6:1;
    set LXYZ = the carrier of R_NormSpace_of_BoundedLinearOperators
      (X,R_NormSpace_of_BoundedLinearOperators(Y,Z));
    set BXYZ = the carrier of R_NormSpace_of_BoundedBilinearOperators(X,Y,Z);
    set LYZ = the carrier of R_NormSpace_of_BoundedLinearOperators(Y,Z);
    A3: LYZ c= Funcs(YC,ZC) by XBOOLE_1:1;
    A4: LXYZ c= Funcs(XC, LYZ) by XBOOLE_1:1;
    Funcs(XC, LYZ) c= Funcs(XC, Funcs(YC,ZC))
    proof
      let x be object;
      assume x in Funcs(XC, LYZ); then
      consider f being Function such that
      A6: x = f & dom f = XC & rng f c= LYZ by FUNCT_2:def 2;
      rng f c= Funcs(YC, ZC) by A3,A6,XBOOLE_1:1;
      hence x in Funcs(XC, Funcs(YC,ZC)) by A6,FUNCT_2:def 2;
    end; then
    A7: LXYZ c= Funcs(XC, Funcs( YC,ZC)) by A4,XBOOLE_1:1; then
    reconsider I = I0 | LXYZ as Function of LXYZ,Funcs ([:XC,YC:],ZC)
      by FUNCT_2:32;
    A8: for x being Element of LXYZ holds
    ( for p be Point of X,q be Point of Y
      holds
      ex G be Lipschitzian LinearOperator of Y,Z
      st G = x.p
       & (I.x).(p,q) = G.q )
    & I.x is Lipschitzian BilinearOperator of X,Y,Z
    & I.x in BXYZ
    & ex Ix be Point of R_NormSpace_of_BoundedBilinearOperators(X,Y,Z)
      st Ix = I.x & ||.x.|| = ||.Ix.||
    proof
      let f being Element of LXYZ;
      A9: I.f = I0.f by FUNCT_1:49;
      A10: f in Funcs(XC, Funcs(YC,ZC)) by A7,TARSKI:def 3;
      A11: f is Function of XC, Funcs(YC,ZC)
           by A7,TARSKI:def 3,FUNCT_2:66;
      reconsider g = f as Function of XC, Funcs(YC,ZC)
        by A7,TARSKI:def 3,FUNCT_2:66;
      reconsider F = f as Lipschitzian LinearOperator of
        X,R_NormSpace_of_BoundedLinearOperators(Y,Z) by LOPBAN_1:def 9;
      thus for x be Point of X,y be Point of Y holds
      ex G be Lipschitzian LinearOperator of Y,Z
      st G = f.x & (I . f) . (x,y) = G.y
      proof
        let x be Point of X,y be Point of Y;
        g.x = F.x; then
        reconsider G = g.x
          as Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        take G;
        thus thesis by A1,A9;
      end;
      reconsider BL = I0.f as Function of [:X,Y:],Z by A10,FUNCT_2:5,66;
      A15: for x1,x2 be Point of X, y be Point of Y
           holds BL. (x1+x2,y) = BL. (x1,y) + BL. (x2,y)
      proof
        let x1,x2 be Point of X, y be Point of Y;
        A16: BL.(x1,y) = (F.x1).y by A1,A11;
        A17: BL.(x2,y) = (F.x2).y by A1,A11;
        A18: BL.(x1+x2,y) = (F.(x1+x2)).y by A1,A11;
        F.(x1+x2) = F.x1 + F.x2 by VECTSP_1:def 20;
        hence thesis by A16,A17,A18,LOPBAN_1:35;
      end;
      A19: for x be Point of X, y be Point of Y, a be Real
           holds BL.(a*x,y) = a * BL.(x,y)
      proof
        let x be Point of X, y be Point of Y, a be Real;
        A20: BL.(a*x,y) = (F.(a*x)).y by A1,A11;
        A21: BL.(x,y) = (F.x).y by A1,A11;
        F.(a*x) = a * F.x by LOPBAN_1:def 5;
        hence thesis by A20,A21,LOPBAN_1:36;
      end;
      A22: for x be Point of X, y1,y2 be Point of Y
           holds BL.(x,y1+y2) = BL.(x,y1) + BL.(x,y2)
      proof
        let x be Point of X, y1,y2 be Point of Y;
        reconsider Fx = F.x
          as Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        A23: BL.(x,y1) = Fx.y1 by A1,A11;
        A24: BL.(x,y2) = Fx.y2 by A1,A11;
        BL.(x,y1+y2) = Fx.(y1+y2) by A1,A11;
        hence thesis by A23,A24,VECTSP_1:def 20;
      end;
      A26: for x be Point of X, y be Point of Y, a be Real
           holds BL. (x,a*y) = a* BL.(x,y)
      proof
        let x be Point of X, y be Point of Y, a be Real;
        reconsider Fx = F.x as Lipschitzian LinearOperator of Y,Z
          by LOPBAN_1:def 9;
        A27: BL.(x,y) = Fx.y by A1,A11;
        BL. (x,a*y) = Fx.(a*y) by A1,A11;
        hence thesis by A27,LOPBAN_1:def 5;
      end;
      reconsider BL as BilinearOperator of X,Y,Z
        by A15,A19,A22,A26,LOPBAN_8:12;
      A29: for x be Point of X, y be Point of Y
            holds ||.BL.(x,y) .|| <= ||.f.|| * ||.x.|| * ||.y.||
      proof
        let x be Point of X, y be Point of Y;
        reconsider Fx = F.x as Lipschitzian LinearOperator of Y,Z
          by LOPBAN_1:def 9;
        A30: BL.(x,y) = Fx.y by A1,A11;
        A31: ||.Fx.y .|| <= ||.F.x.||* ||.y.|| by LOPBAN_1:32;
        ||.F.x.|| * ||.y.|| <= ||.f.|| * ||.x.|| * ||.y.||
          by LOPBAN_1:32,XREAL_1:64;
        hence ||.BL.(x,y) .|| <= ||.f.|| * ||.x.|| * ||.y.||
          by A30,A31,XXREAL_0:2;
      end;
      then
      reconsider BL as Lipschitzian BilinearOperator of X,Y,Z
        by Def8;
      reconsider BLp = BL as Point of
        R_NormSpace_of_BoundedBilinearOperators(X,Y,Z) by Def9;
      I.f = BL by FUNCT_1:49;
      hence I.f is Lipschitzian BilinearOperator of X,Y,Z;
      BLp in BXYZ;
      hence I.f in BXYZ by FUNCT_1:49;
      A33: ||.BLp.|| = upper_bound (PreNorms(modetrans(BL,X,Y,Z))) by Def13
      .= upper_bound (PreNorms(BL));
      now
        let r be Real;
        assume r in PreNorms(BL); then
        consider t be VECTOR of X,s be VECTOR of Y such that
        A34: r = ||. BL.(t,s) .|| and
        A35: ||.t.|| <= 1 & ||.s.|| <= 1;
        A36: ||.BL.(t,s).|| <= ||.f.|| * ||. t .|| * ||. s .|| by A29;
        ||. t .|| * ||. s .|| <= 1 * 1 by A35,XREAL_1:66; then
        ||.f.|| * ( ||. t .|| * ||. s .|| ) <= ||.f.|| * 1
          by XREAL_1:64;
        hence r <= ||.f.|| by A34,A36,XXREAL_0:2;
      end; then
      A37: ||.BLp.|| <= ||.f.|| by A33,SEQ_4:45;
      A39: ||.f.|| = upper_bound (PreNorms
          (modetrans(F,X,R_NormSpace_of_BoundedLinearOperators(Y,Z))))
          by LOPBAN_1:def 13
      .= upper_bound(PreNorms(F) ) by LOPBAN_1:29;
      now
        let r be Real;
        assume r in PreNorms(F); then
        consider x be VECTOR of X such that
        A40: r = ||. F.x .|| and
        A41: ||.x.|| <= 1;
        reconsider Fx = F.x
          as Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        A42: ||.F.x.|| = upper_bound(PreNorms(Fx)) by LOPBAN_1:30;
        now
          let s be Real;
          assume s in PreNorms(Fx); then
          consider y be Point of Y such that
          B42: s = ||. Fx.y .|| and
          A43: ||.y.|| <= 1;
          A44: ||. Fx.y .|| = ||. BL.(x,y) .|| by A1,A11;
          A45: ||. BL.(x,y) .|| <= ||.BLp.|| * ||.x.||*||.y.|| by Th32;
          ||. x .|| * ||. y .|| <= 1 * 1 by A41,A43,XREAL_1:66; then
          ||.BLp.|| * ( ||. x .|| * ||. y .|| )
            <= ||.BLp.|| * 1 by XREAL_1:64;
          hence s <= ||.BLp.|| by B42,A44,A45,XXREAL_0:2;
        end;
        hence r <= ||.BLp.|| by A40,A42,SEQ_4:45;
      end; then
      A46: ||.f.|| <= ||.BLp.|| by A39,SEQ_4:45;
      take BLp;
      thus BLp=I.f & ||.f.|| = ||.BLp.|| by A37,A46,FUNCT_1:49,XXREAL_0:1;
    end;
    then
    rng I c= BXYZ by FUNCT_2:114; then
    reconsider I as Function of LXYZ,BXYZ by FUNCT_2:6;
    A47: for x1,x2 be Element of LXYZ holds I.(x1+x2) = I.x1 + I.x2
    proof
      let x1,x2 be Element of LXYZ;
      for p be Point of X,q be Point of Y
      holds (I.(x1+x2)).(p,q) = (I.x1).(p,q) + (I.x2).(p,q)
      proof
        let p be Point of X,q be Point of Y;
        consider Gx1p be Lipschitzian LinearOperator of Y,Z such that
        A48: Gx1p = x1.p & (I.x1).(p,q) = Gx1p.q by A8;
        consider Gx2p be Lipschitzian LinearOperator of Y,Z such that
        A49: Gx2p = x2.p & (I.x2).(p,q) = Gx2p.q by A8;
        consider Gx1x2p be Lipschitzian LinearOperator of Y,Z such that
        A50: Gx1x2p = (x1+x2).p & (I.(x1+x2)).(p,q) = Gx1x2p.q by A8;
        (x1+x2).p = x1.p + x2.p by LOPBAN_1:35;
        hence thesis by A48,A49,A50,LOPBAN_1:35;
      end;
      hence thesis by Th35;
    end;
    for x be Element of LXYZ, a be Real holds I.(a*x) = a * I.x
    proof
      let x be Element of LXYZ, a be Real;
      for p be Point of X,q be Point of Y
      holds (I.(a*x)).(p,q) = a * (I.x).(p,q)
      proof
        let p be Point of X,q be Point of Y;
        consider Gxp be Lipschitzian LinearOperator of Y,Z such that
        A52: Gxp = x.p & (I.x).(p,q) = Gxp.q by A8;
        consider Gxap be Lipschitzian LinearOperator of Y,Z such that
        A53: Gxap = (a*x).p & (I.(a*x)).(p,q) = Gxap.q by A8;
        (a*x).p = a * x.p by LOPBAN_1:36;
        hence thesis by A52,A53,LOPBAN_1:36;
      end;
      hence thesis by Th36;
    end;
    then
    reconsider I as LinearOperator of
      R_NormSpace_of_BoundedLinearOperators
      (X,R_NormSpace_of_BoundedLinearOperators(Y,Z)),
      R_NormSpace_of_BoundedBilinearOperators(X,Y,Z)
        by A47,LOPBAN_1:def 5,VECTSP_1:def 20;
    A55: for u be Point of R_NormSpace_of_BoundedLinearOperators
          (X,R_NormSpace_of_BoundedLinearOperators(Y,Z))
        holds
          ||.u.|| = ||. I.u .||
        & for x be Point of X,y be Point of Y
          holds (I.u).(x,y) = (u.x).y
    proof
      let u be Point of
        R_NormSpace_of_BoundedLinearOperators
          (X,R_NormSpace_of_BoundedLinearOperators(Y,Z));
      consider Iu be Point of R_NormSpace_of_BoundedBilinearOperators(X,Y,Z)
      such that
      A56: Iu =I.u & ||.u.|| = ||.Iu.|| by A8;
      thus ||.u.|| = ||. I.u .|| by A56;
      let p be Point of X,q be Point of Y;
      consider G be Lipschitzian LinearOperator of Y,Z such that
      A57: G = u.p & (I.u).(p,q) = G.q by A8;
      thus (I.u).(p,q) = (u.p).q by A57;
    end;
    for y being object st y in BXYZ holds
    ex x being object st x in LXYZ & y = I . x
    proof
      let y be object;
      assume
      A59: y in BXYZ; then
      y in Funcs ([:XC,YC:],ZC) by TARSKI:def 3; then
      y in rng I0 by A1,FUNCT_2:def 3; then
      consider f be object such that
      A60: f in Funcs (XC,Funcs (YC,ZC)) & I0 . f = y by FUNCT_2:11;
      reconsider f as Function of XC,Funcs (YC,ZC) by A60,FUNCT_2:66;
      reconsider BL = y as Lipschitzian BilinearOperator of X,Y,Z
        by A59,Def9;
      reconsider BLp = BL as Point of
        R_NormSpace_of_BoundedBilinearOperators(X,Y,Z) by Def9;
      A62: dom f = XC by FUNCT_2:def 1;
      for x being object st x in XC holds f.x in LYZ
      proof
        let x be object;
        assume
        A63: x in XC; then
        reconsider fx = f.x as Function of YC,ZC by FUNCT_2:5,66;
        reconsider xp = x as Point of X by A63;
        A64: for p be Point of Y,q be Point of Y
             holds fx.(p+q) = fx.p + fx.q
        proof
          let p be Point of Y,q be Point of Y;
          A65: BL.(xp,p) = fx.p by A60,A1;
          A66: BL.(xp,q) = fx.q by A60,A1;
          BL.(xp,p+q) = fx.(p+q) by A60,A1;
          hence fx.(p+q) = fx.p +fx.q by A65,A66,LOPBAN_8:12;
        end;
        for p be Point of Y,a be Real holds fx.(a*p) = a * fx.p
        proof
          let p be Point of Y,a be Real;
          A68: BL.(xp,p) = fx.p by A60,A1;
          BL.(xp,a*p) = fx.(a*p) by A60,A1;
          hence fx.(a*p) = a * fx.p by A68,LOPBAN_8:12;
        end; then
        reconsider fx as LinearOperator of Y,Z
          by A64,LOPBAN_1:def 5,VECTSP_1:def 20;
        for p be Point of Y
        holds ||.fx.p.|| <= (||.BLp.|| * ||.xp.|| ) * ||.p.||
        proof
          let p be Point of Y;
          BL.(xp,p) = fx.p by A60,A1;
          hence thesis by Th32;
        end; then
        reconsider fx as Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 8;
        fx in LYZ by LOPBAN_1:def 9;
        hence f.x in LYZ;
      end; then
      reconsider f as Function of XC,LYZ by A62,FUNCT_2:3;
      A71: for x1,x2 be Point of X holds f.(x1+x2) = f.x1 + f.x2
      proof
        let x1,x2 be Point of X;
        reconsider fx1x2 = f.(x1+x2)
          as Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        reconsider fx1 = f.x1 as
          Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        reconsider fx2 = f.x2 as
          Lipschitzian LinearOperator of Y,Z by LOPBAN_1:def 9;
        for y be Point of Y holds fx1x2.y = fx1.y + fx2.y
        proof
          let y be Point of Y;
          A72: BL.(x1,y) = fx1.y by A60,A1;
          A73: BL.(x2,y) = fx2.y by A60,A1;
          BL.(x1+x2,y) = fx1x2.y by A60,A1;
          hence fx1x2.y = fx1.y + fx2.y by A72,A73,LOPBAN_8:12;
        end;
        hence f.(x1+x2) = f.x1 + f.x2 by LOPBAN_1:35;
      end;
      for x be Point of X,a be Real holds f.(a*x) = a * f.x
      proof
        let x be Point of X,a be Real;
        reconsider fx = f.x as Lipschitzian LinearOperator of Y,Z
          by LOPBAN_1:def 9;
        reconsider fax = f.(a*x) as Lipschitzian LinearOperator of Y,Z
          by LOPBAN_1:def 9;
        for y be Point of Y holds fax.y = a * fx.y
        proof
          let y be Point of Y;
          A75: BL.(x,y) = fx.y by A60,A1;
          BL.(a*x,y) = fax.y by A60,A1;
          hence fax.y = a * fx.y by A75,LOPBAN_8:12;
        end;
        hence f.(a*x) = a * f.x by LOPBAN_1:36;
      end; then
      reconsider f as LinearOperator of X,
        R_NormSpace_of_BoundedLinearOperators(Y,Z)
           by A71,LOPBAN_1:def 5,VECTSP_1:def 20;
      for x be Point of X
      holds ||.f.x.|| <= ||.BLp.|| * ||.x.||
      proof
        let x be Point of X;
        reconsider fx = f.x as Lipschitzian LinearOperator of Y,Z
            by LOPBAN_1:def 9;
        A78: for y be Point of Y
             holds ||.fx.y.|| <= ||.BLp.|| * ||.x.|| * ||.y.||
        proof
          let y be Point of Y;
          BL.(x,y) = fx.y by A60,A1;
          hence ||.fx.y.|| <= ||.BLp.|| * ||.x.|| * ||.y.|| by Th32;
        end;
        A79: ||.f.x.|| = upper_bound (PreNorms(fx)) by LOPBAN_1:30;
        now
          let s be Real;
          assume s in PreNorms(fx); then
          consider y be Point of Y such that
          A80: s = ||. fx.y .|| and
          A81: ||.y.|| <= 1;
          A82: ||.fx.y.|| <= ( ||.BLp.|| * ||.x.|| ) * ||.y.|| by A78;
          ( ||.BLp.|| * ||.x.|| ) * ||. y .|| <= ( ||.BLp.|| * ||.x.|| ) * 1
            by A81,XREAL_1:66;
          hence s <= ||.BLp.|| * ||.x.|| by A80,A82,XXREAL_0:2;
        end;
        hence ||.f.x.|| <= ||.BLp.|| * ||.x.|| by A79,SEQ_4:45;
      end; then
      reconsider f as Lipschitzian LinearOperator of X,
        R_NormSpace_of_BoundedLinearOperators(Y,Z)
          by LOPBAN_1:def 8;
      A83: f in LXYZ by LOPBAN_1:def 9;
      take f;
      thus thesis by A60,A83,FUNCT_1:49;
    end; then
    A85: rng I = BXYZ by FUNCT_2:10;
    for u be Point of R_NormSpace_of_BoundedLinearOperators
          (X,R_NormSpace_of_BoundedLinearOperators(Y,Z))
    holds ||. I.u .|| <= 1 * ||.u.|| by A55;
    then
    reconsider I as Lipschitzian LinearOperator of
      R_NormSpace_of_BoundedLinearOperators
        (X,R_NormSpace_of_BoundedLinearOperators(Y,Z)),
        R_NormSpace_of_BoundedBilinearOperators(X,Y,Z) by LOPBAN_1:def 8;
    take I;
    I is one-to-one onto by A1,A85,FUNCT_1:52,FUNCT_2:def 3;
    hence thesis by A55;
  end;
