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 EX1: ::: functorial registration
  for E,F,G be RealLinearSpace
  holds ( [:the carrier of E,the carrier of F:] ) --> 0.G is Bilinear
  proof
    let E,F,G be RealLinearSpace;
    set f = ( [:the carrier of E,the carrier of F:] ) --> 0.G;
    A2: for x being Point of E
        holds (curry f).x is additive homogeneous Function of F,G
    proof
      let x be Point of E;
      reconsider L = (curry f).x as Function of F,G;
      A5: for y1,y2 be Point of F holds L.(y1+y2) = L.y1 + L.y2
      proof
        let y1,y2 be Point of F;
        A11: L.(y1+y2) = f.(x,y1+y2) by LM4
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        A12: L.y1 = f.(x,y1) by LM4
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        L.y2 = f.(x,y2) by LM4
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        hence L.(y1+y2) = L.y1 + L.y2 by A11,A12,RLVECT_1:4;
      end;
      for y be Point of F, a be Real holds L.(a*y) = a * L.y
      proof
        let y be Point of F, a be Real;
        A18: L.(a*y) = f.(x,a*y) by LM4
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        L.y = f.(x,y) by LM4
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        hence L.(a*y) = a * L.y by A18,RLVECT_1:10;
      end;
      hence thesis by A5,LOPBAN_1:def 5,VECTSP_1:def 20;
    end;
    for x being Point of F st x in dom (curry' f)
    holds (curry' f).x is additive homogeneous Function of E,G
    proof
      let x be Point of F;
      assume x in dom (curry' f);
      reconsider L = (curry' f).x as Function of E,G;
      A22: for y1,y2 be Point of E holds L.(y1+y2) = L.y1+L.y2
      proof
        let y1,y2 be Point of E;
        A28: L.(y1+y2) = f.(y1+y2,x) by LM5
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        A29: L.y1 = f.(y1,x) by LM5
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        L.y2 = f.(y2,x) by LM5
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        hence L.(y1+y2) = L.y1 + L.y2 by A28,A29,RLVECT_1:4;
      end;
      for y be Point of E, a be Real holds L.(a*y) = a * L.y
      proof
        let y be Point of E, a be Real;
        A35: L.(a*y) = f.(a*y,x) by LM5
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        L.y = f.(y,x) by LM5
          .= 0.G by ZFMISC_1:87,FUNCOP_1:7;
        hence L.(a*y) = a * L.y by A35,RLVECT_1:10;
      end;
      hence thesis by A22,LOPBAN_1:def 5,VECTSP_1:def 20;
    end;
    hence f is Bilinear by A2;
  end;
