\begin{exercise}[subtitle={Réduire - technique}, step={1}, origin={D'anciennes choses}, topics={ Fraction Developpement Litteral }, tags={ Fractions, Developpement }, mode={\trainMode}]
    Réduire les expressions suivantes
    \Block{
        set reduction = {
            "A": random_expression("{a}x + {b} + {c}x + {d}", [], global_config={"rejected":[1, 0, -1]}),
            "B": random_expression("{a}t + {b} + {c}t + {d}t", [], global_config={"rejected":[1, 0, -1]}),
            "C": random_expression("{a}t + {b} + {c}t + {d}t", [], global_config={"rejected":[1, 0, -1]}),
            "D": random_expression("{a}x + {b} + {c}x + {d}", ["a+c==0"], global_config={"rejected":[1, 0, -1]}),
            "E": random_expression("{a}t + {b} + {c}t + {d} + {e}t", ["b+d==0"], global_config={"rejected":[1, 0, -1]}),
            "F": random_expression("{a}/{k} + {b}a + {c}a + {d}", [], global_config={"rejected":[1, 0, -1]}),
            "G": random_expression("{a}x^2 + {b} + {c}x^2 + {d} + {e}x^2", [], global_config={"rejected":[1, 0, -1]}),
            "H": random_expression("{a}x + {b} + {c}x^2 + {d} + {e}x^2", [], global_config={"rejected":[1, 0, -1]}),
            "I": random_expression("{a}x + {b} + {c}x^2 + {d}x + {e}x^2", ["a+d==0"], global_config={"rejected":[1, 0, -1]}),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item $\Var{l} = \Var{e}$
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{exercise}

\begin{solution}
    \begin{multicols}{3}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item
                \begin{align*}
                    \Var{l} & = \Var{e.simplify().explain() | join(' \\\\ & = ')}
                \end{align*}
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}

\begin{exercise}[subtitle={Développer 1 - technique}, step={2}, origin={D'anciennes choses}, topics={ Fraction Developpement Litteral }, tags={ Fractions, Developpement }, mode={\trainMode}]
    Développer puis réduire les expressions suivantes
    \Block{
        set reduction = {
            "A": random_expression("{a}({c}x + {d})", global_config={"rejected":[1, 0, -1]}),
            "B": random_expression("{a}({b} + {c}t)", global_config={"rejected":[1, 0, -1]}),
            "C": random_expression("t({b} + {c}t)", global_config={"rejected":[1, 0, -1]}),
            "D": random_expression("{a}x({b}x + {c})", global_config={"rejected":[1, 0, -1]}),
            "E": random_expression("{a}x({b}x + {c})", global_config={"rejected":[1, 0, -1]}),
            "F": random_expression("{a}/{d}x({b}x + {c})", global_config={"min_max":(1, 10)}),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item $\Var{l} = \Var{e}$
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{exercise}

\begin{solution}
    \begin{multicols}{3}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item
                \begin{align*}
                    \Var{l} & = \Var{e.simplify().explain() | join(' \\\\ & = ')}
                \end{align*}
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}

\begin{exercise}[subtitle={Développer 2 - technique}, step={2}, origin={D'anciennes choses}, topics={ Fraction Developpement Litteral }, tags={ Fractions, Developpement }, mode={\trainMode}]
    Développer puis réduire les expressions suivantes
    \Block{
        set reduction = {
            "A": random_expression("({a}x + {b})({c}x + {d})", global_config={"rejected":[1, 0, -1]}),
            "B": random_expression("({a}t + {b})({c}t + {d})", global_config={"rejected":[1, 0, -1]}),
            "C": random_expression("({a}x + {b})({c}x + {d})", global_config={"rejected":[1, 0, -1]}),
            "D": random_expression("({a}x + {b})({c}x + {d})", global_config={"rejected":[1, 0, -1]}),
            "E": random_expression("({a}x + {b})^2", global_config={"rejected":[1, 0, -1]}),
            "F": random_expression("({a}x + {b})^2", global_config={"rejected":[1, 0, -1]}),
            "G": random_expression("({a}x + {b})^2", global_config={"rejected":[1, 0, -1]}),
            "H": random_expression("({a}/{c}x + {b})^2", global_config={"rejected":[1, 0, -1]}),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item $\Var{l} = \Var{e}$
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{exercise}

\begin{solution}
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item
                \begin{align*}
                    \Var{l} & = \Var{e.simplify().explain() | join(' \\\\ & = ')}
                \end{align*}
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}
