A note on inner products on vector spaces over finite fields:
As a clarification of ariels' writeup above, one defines an inner product on a vector space over a finite field as an object that satisfies the bilinearity and symmetry properties. We run into some problems however with the nonnegativity condition which, over finite fields, we interpret as <a,a> = 0 if and only if a = 0.
While the inner products we use over finite fields do serve their purpose beautifully, we are going to investigate just how badly the nonnegativity property can fail over finite fields. We shall show using elementary techniques that the nonnegativity property fails for all symmetric bilinear forms (i.e. objects satisfying properties the bilinearity and symmetry properties stated above) on vector spaces of dimension greater than 1 over any field of characteristic 2.
Let us begin by noting that if V is a vector space of dimension 1 over the field F where F has characteristic 2, then V is isomorphic as a vector space to the field F itself. Taking V = F for convenience of notation, we define <a,b> := ab for a,b ∈ F. The reader can verify that this is a legitimate inner product as defined above (although Cauchy-Schwarz is kind of meaningless in this setting).
Now suppose F = GF(2) and V = F2 with the "inner product" <(a1, a2),(b1,b2)> := a1b1 + a2b2. Then <(1,1),(1,1)> = 1 + 1 = 0 with the arithmetic taking place in GF(2). This is just an example of how nonnegativity fails, but we shall prove the following more general result:
Proposition. Let F be any field of characteristic 2 and let V be any vector space over F of dimension greater than 1 (which we write dim(V) > 1). Then, if <.,.> is a symmetric bilinear form on V, there exists an a ≠ 0 in V with <a,a> = 0.
Proof. Let a,b ∈ V. Note that <a+b,a+b> = <a,a> + 2<a,b> + <b,b> = <a,a> + <b,b> since 2x = 0 for all x ∈ F. Therefore the functional f(a) := <a,a> is linear.
Suppose <.,.> satisfies the nonnegativity of the definition of inner product. Then since V ≠ {0}, we have that there is a vector v in V with <v,v> ≠ 0. Thus f must in fact have rank 1. We now apply the Rank + Nullity theorem which in fact extends to vector spaces of any dimension to get that the nullity of f must be equal to dim(V) - 1 > 0 since dim(V) > 1. In other words there is a nonzero subspace of V which goes to 0 under f, i.e. the kernel of f is nontrivial. Thus there is a vector a ≠ 0 in V with <a,a> = f(a) = 0. QED.
And we're done! Another seemingly difficult problem settled using elementary techniques. In fact, I believe that the technique of proof here is more insightful that the actual result.