Assuming that we have three-dimensional real vectors :

    $Assumptions = (u | v | w) ∈ Vectors[3, Reals];

we can use e.g. various tensor functions (new in `ver. 9`)
e.g. `TensorReduce` to reduce (simplify) a tensor expression, e.g.

    TensorReduce[ v.v + w.w - (v + w).(v + w) ]
    TensorReduce[u \[Cross] (v \[Cross] w) ]
>     -2 v.w
    -w u.v + v u.w

We can perform more interesting reductions, let's show e.g. the Jacobi identity:

    TensorReduce[ u \[Cross] (v \[Cross] w) + v \[Cross] (w \[Cross] u) + 
                  w \[Cross] (u \[Cross] v) ]
>     0

or write it in a traditional form:

    Defer[   u \[Cross] (v \[Cross] w) + v \[Cross] (w \[Cross] u)
           + w \[Cross] (u \[Cross] v)] == 
    TensorReduce[   u \[Cross] (v \[Cross] w) + v \[Cross] (w \[Cross] u)
                  + w \[Cross] (u \[Cross] v) ] // TraditionalForm

![enter image description here][1]

Another common identity

    TensorExpand[ (u \[Cross] v) \[Cross] (u \[Cross] w) ]
    TensorExpand[ (u \[Cross] v).(u \[Cross] v) ]
>     u u \[Cross] v . w
    -(u.v)^2 + u.u  v.v

Take a look at new differential operators:

    Curl[ Curl[ f[x, y, z], {x, y, z}], {x, y, z}] == Laplacian[ f[x, y, z], {x, y, z}]
>     True


  [1]: https://i.sstatic.net/6cRk7.gif