Pensieve Header: This notebook shows that all weight systems on A^v coming from the projection into A^w also come from GL/SO.

SetDirectory["C:/drorbn/AcademicPensieve/Projects/Arrow_Diagrams_and_gl(N)"];
<< "Arrow_Diagrams_and_gl(N).m";
Dimensions[ns = Get["GL_SO_Coproducts_NullSpace.m"]]

Place[{r:(TC|R6T), objs__}, {i_, rest__}] := Flatten[Table[
Outer[Join,
Place[{r}, {i, {rest}[[j]], {rest}[[k]]}],
Place[{objs}, Delete[{rest}, {{j}, {k}}]]
],
{k, 2, Length[{rest}]}, {j,1, k-1}
]];
Place[{TC},{i_, j_, k_}] := Diag /@ {TC[i,j,k], TC[j,k,i], TC[k,i,j]};
Diagrams[TC] := Place[{TC}, {1,2,3}];
Diagrams[TC+k_.*ar] /; k>0 := Flatten[
Place[#, Range[2k+3]]& /@ Permutations[Table[ar, {k}]~Append~TC]
];
Diagrams[TC+k_.*ar] /; k<0 := {};
R[Diag[lft___, TC[i_,j_,k_], rgt___]] := (
+NormalizeDiag[Diag[lft, ar[i,k], ar[j, k+0.5], rgt]]
-NormalizeDiag[Diag[lft, ar[i,k+0.5], ar[j, k], rgt]]
);
DimAw[m_] /; m<2 := Length[Diagrams[m ar]];
MatrixAw[m_] /; m≥2 := Module[
{diags, rels, rel, i},
diags=Diagrams[m ar];
rels=R /@ Join[Diagrams[R6T+(m-2)ar], Diagrams[TC+(m-2)ar]];
SparseArray[
Join @@ Table[
rel=rels[[i]];
{i,Position[diags, #][[1,1]]} -> Coefficient[rel, #]& /@ Cases[{rel}, diag_Diag, Infinity],
{i,Length[rels]}
],
{Length[rels], Length[diags]}
]
];
DimAw[m_] /; m≥2 := Module[
{mat},
mat = MatrixAw[m];
Dimensions[mat][[2]]-MatrixRank[mat]
];
ToAwBasis[m_] := Module[
{diags, rels, rel, i,j},
diags= Diagrams[m ar];
rels=DeleteCases[
RowReduce[MatrixAw[m]],
{0..}
];
Table[
rel=rels[[i]];
j=Position[rel, 1][[1,1]];
diags[[j]] ->  Expand[diags[[j]]-rel.diags],
{i,Length[rels]}
]
];

DimAw[3]

Expand[ns.BasisAArrow[4] /. ToAwBasis[4]]