# How to imitate the operation law of vector

Given that $$(a \times b) \cdot c=2$$, now I need to find the value of $$[(a+b) \times(b+c)] \cdot(c+a)$$.

$Assumptions = (a | b | c) ∈ Vectors[3]; Cross[a + b, b + c].(c + a) // ExpandAll Cross[a + b, b + c].(c + a) // TensorReduce Solve[Cross[a, b].c == 2 && s == Cross[a + b, b + c].(c + a) && (a | b | c) ∈ Vectors[3], s, {a, b, c}]  However, the above code cannot expand or simplify this formula according to the operation rules. a = {x1, y1, z1}; b = {x2, y2, z2}; c = {x3, y3, z3}; Eliminate[{f == Cross[a + b, b + c].(c + a), Cross[a, b].c == 2}, {a, b, c, x1, y1, z1, x2, y2, z2, x3, y3, z3}]  I want to know what I can do to simplify this formula like the reference answer and find its value according to the known conditions. Reference answer: $$\begin{array}{l} {[(a+b) \times(b+c)] \cdot(c+a)} \\ =[(a+b) \times b] \cdot(c+a)+[(a+b) \times c] \cdot(c+a) \\ =(a+b) \times c+(b \times c) \cdot a \\ =(a \times b) \cdot c+(a \times b) \cdot c=4 \end{array}$$ ## 1 Answer $Assumptions = (a | b | c) ∈ Vectors[3]
Cross[a + b, b + c].(c + a) // TensorReduce

(* Simplify[Cross[a + b, b + c].(c + a) // TensorReduce,
Assumptions -> a\[Cross]b.c == 2] *)