def db_test(): nd = natlog(file_name="natprogs/dbtc.nat", db_name="natprogs/db.nat") print('RULES') print(nd) print('DB FACTS') print(nd.db) nd.query("tc Who is_a animal ?")
def bm(): n = natlog(text=my_text) n.query("goal 10 L?") time_of(n.count, "goal 16 L?", times=256) time_of(n.count, "goal 32 L?", times=64) time_of(n.count, "goal 64 L?", times=16) time_of(n.count, "goal 128 L?", times=4) # time_of(n.count, "goal 250 L?", times=1) print('') n = natlog(file_name="natprogs/queens.nat") time_of(n.count, "goal8 Queens?", times=9) time_of(n.count, "goal9 Queens?") time_of(n.count, "goal10 Queens?") # return # runs, but quite a bit longer time_of(n.count, "goal11 Queens?") time_of(n.count, "goal12 Queens?")
def yield_test(): prog = """ worm : ^o, worm. """ n = natlog(text=prog) for i, answer in enumerate(n.solve("worm ?")): print(answer[0], end='') if i > 42: break print('')
def db_chem(): nd = natlog(file_name="natprogs/elements.nat", db_name="natprogs/elements.tsv") print('RULES') print(nd) print('DB FACTS') print(nd.db) nd.query("an_el Num Element ?") nd.query("gases Num Element ?")
def test_generators(): prog = """ good 'l'. good 'o'. goal X : ``iter hello X, good X. goal X : ``range 1000 1005 X. """ n = natlog(text=prog) for answer in n.solve("goal R?"): print(answer[1])
def test_answer_stream(): prog = """ perm () (). perm (X Xs) Zs : perm Xs Ys, ins X Ys Zs. ins X Xs (X Xs). ins X (Y Xs) (Y Ys) : ins X Xs Ys. """ n = natlog(text=prog) for answer in n.solve("perm (a (b (c ()))) P?"): print(answer[2])
def t7(): n = natlog(file_name="natprogs/family.nat") print('Enter some queries!') n.repl()
def t6(): n = natlog(file_name="natprogs/family.nat") print(n) n.query("grand_parent_of 'Joe' GP ?")
def t5(): n = natlog(file_name="natprogs/queens.nat") print(n) n.query("goal Queens?")
def t3(): n = natlog(file_name="natprogs/arith.nat") print(n) n.query("goal R ?")
def t4(): n = natlog(file_name="natprogs/perm.nat") n.query("perm (1 (2 (3 ()))) Ps?")
def t2(): n = natlog(file_name="natprogs/tc.nat") print(n) n.query("tc Who is animal ?")
def t1(): n = natlog(text=my_text) n.query("nrev (a (b (c (d ())))) R ?") n.query("goal 10 L?")
def py_test(): nd = natlog(file_name="natprogs/py_call.nat") print('RULES') #print(nd) nd.query("goal X?")
def loop(): n = natlog(file_name="natprogs/loop.nat") print(n) n.query("goal X?")
def fun(): n = natlog(text=my_text) n.count('goal 200 L?')