def readFactsAndRules(s=factsAndRules, debug=False): factsandrules = [] while not s == "": t, s = readterm(s, ".", debug=debug) s = s.strip()[1:] factsandrules.append(t) return factsandrules
def prove(g, r): g, s = readterm("%s."%(g)) if not s == ".": raise TermException("XXX") print "Proving %s"%(g) try: r[g.functor](tuple([toList(a) for a in g.args]), (lambda:success(g.args)), '', r) except SUCCESS as s: print "Proved %s: %s"%(g, s.msg) return print "no"