!7 sS bla = [[ Always: (Q: Do you know what X is?) & (X is Y) => A: It's Y Always: (Q: Do you know what X is?) & (No Y where (X is Y)) => A: What is X? The box is green anmjmlkwmjbzbiss - Always: X ufzlismnlhvbjqoj - (X) and (Y) and (Z) and (AA) and (AB) => (AC) phkdhqkhzytkwdpb - (X) and (Y) and (Z) and (AA) => (AB) cntevdawguaaxqmn - (X) and (Y) and (Z) => (AB) eijdjqhyzheusetj - (X) and (Y) and (Z) => (AA) mwpbetwhkuuuupws - X and Y and Z => AA txsysipmstxmjhmi - (X) and (Y) => (Z) cuutddpitkuswthu - While (X) => (Y) kecvwixuouqlpzhu - (X) and (Y) => Z tusgcjefvtgebzba - (X) & (Y) => Z wziyypnyayfphdxs - (X) => (Y) chkfkshhwshoauan - X => Y vouwrrhtmajsgaby - Q: X nywfcwkkcknzhmdy - A: X icpawfsfqehwdnon - Do you know what X is? urfkhwfasdaqqqse - What is X? wcwlqvvrpdwjzfms - X is Y bblhpfgfvcyjfwmd - No X where Y zhahnerfmvfdqkxd - It's X ]]; p { // No X where Y lispEvaluator("bblhpfgfvcyjfwmd", new F1() { Bool get(Lisp l) { S var = l.raw(0); Lisp term = l.get(1); print("Evaluating negation: " + var + " - " + term); new Map m; m.put(var, null); ret matchCondition_first(term, m) == null; } }); myTruthNonPersist(bla); solveQuestion("Do you know what the box is?"); solveQuestion("Do you know what the bear is?"); } svoid solveQuestion(S q) { Lisp l; print(l = englishToLisp(q)); openThoughtSpace(); fromUser(lisp("vouwrrhtmajsgaby", l)); // emit question //set applyAlwaysRules_step_debug; applyRules(); printEnglishStatements(lispTruth1("nywfcwkkcknzhmdy")); //printLispStatements(); thoughtSpace(null); }