Keep polarization of polarization vector symbolic but restrict it to transverse case:
PolVec[P, pol] is not treated as massless spinor since
pol can represent any polarization including 0:
Some automatic simplifications are not performed e.g. such spinor chain stays nonzero:
Declare
pol symbol to be treated as plus or minus one:
After setting
pol to represent plus or minus one
Mathematica knows that
PolVec[P, pol] represents massless spinor:
Package can use automatic simplifications:
Keep mass sign of massive spinor label symbolic:
SpM[P, x] is not treated as proper massive spinor label since
x is not interpreted as
+1 or
-1:
Declare
x symbol to be treated as plus or minus one:
After setting
x to represent plus or minus one
Mathematica knows that
SpM[P, x] represents massive spinor label: