SetDirectory["~/Factorisation"];
<<kappaLib.m
<<helper.m

Metaclass V:

vars={x0,x1,x2,x3};

kappa=emMatrixToKappa[(({{a1, -b1, 0, 0, 0, 0}, {b1, a1, 0, 0, 0, 0}, {0, 0, a2, 0, 0, a3}, {0, 1, 0, a1, b1, 0}, {1, 0, 0, -b1, a1, 0}, {0, 0, a3, 0, 0, a2}}))];

vars={x0,x1,x2,x3};
fr=emKappaToFresnel[kappa,vars];

We may assume that a3 != 0. If a3=0, then the Fresnel surface contains the 3-dimensional linear subspace (0,x1,x2,x3)

FullSimplify[fr/.{a3->0,x0->0}]

We assume that the Fresnel polynomial factorises:

A=Table[ToExpression["A"<>ToString[Min[{i,j}]]<>ToString[Max[{i,j}]]],{i,0,3},{j,0,3}];
B=Table[ToExpression["B"<>ToString[Min[{i,j}]]<>ToString[Max[{i,j}]]],{i,0,3},{j,0,3}];
A//MatrixForm
B//MatrixForm
factorised=(vars.A.vars) (vars.B.vars);

cons=Union[Flatten[CoefficientList[fr-factorised,vars]]];

cons=simp[cons];
show[cons]

Equation (3) and a3 !=0: We may assume that A00 = 1.

sub={A00->1,B00->-a3};

cons=simp[cons//.sub];
show[cons]

tmp=Join[Take[cons,{3,5}],{cons[[19]]},Take[cons,{21,24}],{cons[[33]]}];
tmp//MatrixForm

sol=Solve[toEqs[tmp],{B01,B02,B03,B33,B11,B13,B22,B23,B12}]

sub=Join[sub,%[[1]]]

cons=simp[cons//.sub];
show[cons]

elimVars=Variables[A]
condVars=Variables[kappa]
Variables[cons]

gb=GroebnerBasis[cons,condVars,elimVars];//Timing

show[simp[gb]]

Equation (1) implies that a3 = 0, but we already saw that that is impossible.

printNotebook["Metaclass_V.pdf"]