 reserve X for RealUnitarySpace;
 reserve x, y, y1, y2 for Point of X;

theorem Th17:
for X being RealUnitarySpace,
    M be Subspace of X,
    x,m0 be Point of X st m0 in M
holds
( for m be Point of X
       st m in M holds ||.x-m0.|| <= ||.x-m.|| )
iff
 for m be Point of X
         st m in M holds ( x-m0 ) .|. m = 0
proof
let X being RealUnitarySpace,
    M be Subspace of X,
    x,m0 be Point of X;
assume A1:m0 in M;
hence
( for m be Point of X
       st m in M holds ||.x-m0.|| <= ||.x-m.|| )
implies
for m be Point of X
         st m in M holds ( x-m0 ) .|. m = 0 by Lm2;
assume
A2: for m be Point of X
         st m in M holds ( x-m0 ) .|. m = 0;
  let m2 be Point of X;
  assume m2 in M; then
A4:(x-m0) .|. (m0-m2) = 0 by A2,A1,RUSUB_1:17;
A5:(x-m0) + (m0-m2) =x-m0 + m0-m2 by RLVECT_1:28
                 .=x-m2 by RLVECT_4:1;
  0 <= ||.m0-m2.|| ^2 by XREAL_1:63; then
  ||.x-m0.|| ^2 + 0 <= ||.x-m0.|| ^2 + ||.m0-m2.|| ^2
    by XREAL_1:7; then
  ||.x-m0.|| ^2 <= ||.x-m2.|| ^2 by A5,BHSP_5:6,BHSP_1:def 3,A4;
  hence ||.x-m0.|| <= ||.x-m2.|| by SQUARE_1:16,BHSP_1:28;
end;
