(case, predicate, reductions=0)
| 215 | |
| 216 | |
| 217 | async def reduce(case, predicate, reductions=0): |
| 218 | for _ in range(reduction_attempts): |
| 219 | (reduced, simplified) = simplify(case) |
| 220 | if reduced and not await predicate(simplified): |
| 221 | return await reduce(simplified, predicate, reductions + 1) |
| 222 | return (reductions, case) |
| 223 | |
| 224 | |
| 225 | async def isnt(predicate): |