sS ai_ruleOfThree_solver_1(S db, S input) { // load rules and input new TransformersOnObjects too; too.addAll(lambdaMap ai_parseBasicLogicRule(tlft(db))); too.add(Input(input)); // turn words appearing in LHS and RHS into variables too.addTransformer(func(BasicLogicRule r) -> BasicLogicRule { ai_sharedWordsIntoDollarVars(r) }); // match input with rules too_flexMatchRulesToTransformInput(too); // return first transformed input ret too_thinkAndReturnFirstTransformedInput(too); }