
theorem Th89A:
  for X be RealHilbertSpace, f be linear-Functional of X
    st f is Lipschitzian holds
   ex y be Point of X st
     for x be Point of X holds f.x = x .|. y
proof
  let X be RealHilbertSpace, f be linear-Functional of X;
  assume AS: f is Lipschitzian;
  set M = UKer(f);
A1: the carrier of M = f"{0} by defuker;
  per cases;
  suppose AS1: the carrier of X = the carrier of M;
    reconsider y=0.X as Point of X;
B1: for x be Point of X holds f.x = x .|. y
    proof
      let x be Point of X;
C11:  x in X & f.x in {0} by FUNCT_2:38,AS1,A1;
      x .|. y = 0 by BHSP_1:15;
      hence thesis by C11,TARSKI:def 1;
    end;
    take y;
    thus thesis by B1;
  end;
  suppose the carrier of X <> the carrier of M; then
    not the carrier of X c= the carrier of M by RUSUB_1:def 1; then
    consider z be object such that
B1:   z in the carrier of X & not z in the carrier of M;
      reconsider y=z as Point of X by B1;
      reconsider N=the carrier of M as non empty Subset of X by A1;
      consider y1,z1 be Point of X such that
C0:     y1 in M & z1 in Ort_Comp M & y = y1 + z1 by Th87A,A1,AS,Lm89A;
C1:   z1 <> 0.X by C0,B1; then
      ||.z1.|| <> 0 by BHSP_1:26; then
C2:   ||.z1.||^2 > 0 by SQUARE_1:12;
      not z1 in M by C0,C1,Lm89B; then
      not z1 in f"{0} by defuker; then
      not f.z1 in {0} by FUNCT_2:38; then
C3:   f.z1 <> 0 by TARSKI:def 1;
      set r=f.z1/||.z1.||^2;
      reconsider y=r*z1 as Point of X;
C4:   y in Ort_Comp M by C0,RUSUB_1:15;
C5:   for x be Point of X holds f.x = x .|. y
      proof
        let x be Point of X;
        set s=f.x/f.z1;
        reconsider y0=x - s*z1 as Point of X;
D1:     -s*z1 = (-1)*(s*z1) by RLVECT_1:16
             .= ((-1)*s)*z1 by RLVECT_1:def 7;
        f.y0 = f.x + f.(((-1)*s)*z1) by D1,HAHNBAN:def 2
            .= f.x + ((-1)*s)*f.z1 by HAHNBAN:def 3
            .= f.x - (f.x/f.z1)*f.z1
            .= f.x - f.x by C3,XCMPLX_1:87
            .= 0; then
        y0 in X & f.y0 in {0} by TARSKI:def 1; then
        y0 in f"{0} by FUNCT_2:38; then
D2:     y0 in M by defuker;
        y in {v where v is VECTOR of X : for w being VECTOR of X st w in M
                holds w, v are_orthogonal} by RUSUB_5:def 3,C4; then
        consider v be VECTOR of X such that
D3:       y = v &
          for w being VECTOR of X st w in M holds w, v are_orthogonal;
D41:    y0,y are_orthogonal by D2,D3;
D6:     (x - s*z1) .|. (r*z1)
          = x .|. (r*z1) - (s*z1) .|. (r*z1) by BHSP_1:11
         .= r * x .|. z1 - (s*z1) .|. (r*z1) by BHSP_1:3
         .= r * x .|. z1 - s * (z1 .|. (r*z1)) by BHSP_1:def 2;
D7:     s*r = f.x/||.z1.||^2 by C3,XCMPLX_1:98;
D8:     0 <= z1 .|. z1 by BHSP_1:def 2;
        z1 .|. (r*z1) = r * (z1 .|. z1) by BHSP_1:3
                     .= r * ||.z1.||^2 by D8,SQUARE_1:def 2; then
        s * (z1 .|. (r*z1)) = (f.x/||.z1.||^2) * ||.z1.||^2 by D7
                           .= f.x by C2,XCMPLX_1:87;
        hence f.x = x .|. y by BHSP_1:3,D6,D41;
      end;
      take y;
      thus thesis by C5;
  end;
end;
