(var, var_t, solution)
return tuple(l)
This is used to construct the full solution from the solutions of sub
    equations.

    For example when solving the equation `(x - y)(x^2 + y^2 - z^2) = 0`,
    solutions for each of the equations `x-y = 0` and `x^2 + y^2 - z^2` are
    found independently. Solutions for `x - y = 0` are `(x, y) = (t, t)`. But
    we should introduce a value for z when we output the solution for the
    original equation. This function converts `(t, t)` into `(t, t, n_{1})`
    where `n_{1}` is an integer parameter.
This is used to construct the full solution from the solutions of sub
    equations.
This is used to construct the full solution from the solutions of sub equations .
def merge_solution(var, var_t, solution):
    """
    This is used to construct the full solution from the solutions of sub
    equations.

    For example when solving the equation `(x - y)(x^2 + y^2 - z^2) = 0`,
    solutions for each of the equations `x-y = 0` and `x^2 + y^2 - z^2` are
    found independently. Solutions for `x - y = 0` are `(x, y) = (t, t)`. But
    we should introduce a value for z when we output the solution for the
    original equation. This function converts `(t, t)` into `(t, t, n_{1})`
    where `n_{1}` is an integer parameter.
    """
    l = []

    if None in solution:
        return ()

    solution = iter(solution)
    params = numbered_symbols("n", Integer=True, start=1)
    for v in var:
        if v in var_t:
            l.append(next(solution))
        else:
            l.append(next(params))

    for val, symb in zip(l, var):
        if check_assumptions(val, **symb.assumptions0) is False:
            return tuple()

    return tuple(l)
def merge_solution ( var , var_t , solution ) : l = [ ] if None in solution : return ( ) solution = iter ( solution ) params = numbered_symbols ( "n" , Integer = True , start = 1 ) for v in var : if v in var_t : l . append ( next ( solution ) ) else : l . append ( next ( params ) ) for val , symb in zip ( l , var ) : if check_assumptions ( val , * * symb . assumptions0 ) is False : return tuple ( ) return tuple ( l )