!7 cmodule WTC > DynPrintLog { transient S program = [[ theory (discord token) { synonym token = (discord token) synonym bot = (discord bot) a token is something a bot needs in order to connect to discord } a $a is something a $b needs in order to $c & $d is a $b & $d wants to $c => $d needs a $a pattern (x wants to y) gazelle is a bot gazelle wants to (connect to discord) expect (gazelle needs a token) ]]; start-thread { PhilosophyBot bot = new(program); bot.run(); new Matches m; new LS expected; for (S s : parsed) if (match("expect *", wordTok(s), m)) expected.add($1); assertContainsIC(facts, "expect (gazelle needs a token)"); } }