@solve.implementation(for_type=ast.Each)<EOL>def solve_each(expr, vars):
lhs_values, _ = __solve_for_repeated(expr.lhs, vars)<EOL>for lhs_value in repeated.getvalues(lhs_values):<EOL><INDENT>result = solve(expr.rhs, __nest_scope(expr.lhs, vars, lhs_value))<EOL>if not result.value:<EOL><INDENT>return result._replace(value=False)<EOL><DEDENT><DEDENT>return Result(True, ())<EOL>
Return True if RHS evaluates to a true value with each state of LHS.

    If LHS evaluates to a normal IAssociative object then this is the same as
    a regular let-form, except the return value is always a boolean. If LHS
    evaluates to a repeared var (see efilter.protocols.repeated) of
    IAssociative objects then RHS will be evaluated with each state and True
    will be returned only if each result is true.