with(linalg): a := vector(3); b := vector(3); c := vector(3); alias(cp=crossprod); axb := cp(a,b); bxa := cp(b,a); evalm(axb + bxa); ax_bplusc := cp(a,b+c); RHS := evalm(axb + cp(a,c)); evalm(RHS - ax_bplusc); map(simplify,"); innerprod(axb,a); innerprod(axb,b); laxb2 := innerprod(axb,axb); The_other_side := innerprod(a,a)*innerprod(b,b)*sin(angle(a,b))^2; simplify(laxb2 - The_other_side); is( laxb2 = The_other_side);