sS ai_ruleOfThree_solver_2(S db, S input) { new TransformersOnObjects too; too.addAll(lambdaMap(s -> Input(s), tlft(db))); too.add(Input(input)); too.addTransformer(func(Input i) { BasicLogicRule r = ai_parseIfThen(i!); if (r != null) too.addTransformer(func(Input i2) { if (match(r.lhs, i2!)) ret new TransformedInput(r.rhs); null; }); null; }); ret getVar(too_thinkAndReturnFirstObjectOfType TransformedInput(too)); }