Solution (source code)

= Solution

A <null geodesic congruence> is a smooth local family of <null geodesics>, with one generator through each point of the region being described. Choose an <affine parameter> $\lambda$ on each generator and write $U^a=dx^a/d\lambda$. Before a caustic, $U$ is a smooth, nonzero <null vector> field satisfying $U^aU_a=0$ and $U^b\nabla_bU^a=0$.

With $B^a{}_b=\nabla_bU^a$, compatibility of the <Levi-Civita connection> with the <metric> gives
$$
U_aB^a{}_b=U_a\nabla_bU^a=\frac12\nabla_b(U^aU_a)=0.
$$
The <geodesic equation> with <affine parameter> gives the other contraction:
$$
B^a{}_bU^b=U^b\nabla_bU^a=0.
$$
Thus \b[both contractions vanish]. Nullness supplies the first identity, and affine parametrization supplies the second; a general nonaffine tangent would instead have $B^a{}_bU^b=\kappa U^a$.