(fact (num 1)) (fact (num 2)) (fact (num 3)) (fact (num 4)) (fact (num 5)) (fact (num 6)) (fact (add 1 1 2)) (fact (add 1 2 3)) (fact (add 1 3 4)) (fact (add 1 4 5)) (fact (add 1 5 6)) (fact (add 2 1 3)) (fact (add 2 2 4)) (fact (add 2 3 5)) (fact (add 2 4 6)) (fact (add 3 1 4)) (fact (add 3 2 5)) (fact (add 3 3 6)) (fact (add 4 1 5)) (fact (add 4 2 6)) (fact (add 5 1 6)) (fact (mul 2 2 4)) (fact (mul 2 3 6)) (fact (mul 3 2 6)) ; (eval E V) if the value of E as a Scheme expression is V. E may ; consist only of integers 1-6 and expressions (+ E1 E2) and (* E1 E2). (fact (eval ?n ?n) (num ?n)) (fact (eval (+ ?a ?b) ?v) (add ?a1 ?b1 ?v) (eval ?a ?a1) (eval ?b ?b1)) (fact (eval (* ?a ?b) ?v) (mul ?a1 ?b1 ?v) (eval ?a ?a1) (eval ?b ?b1)) (query (eval (+ ?x ?y) 6))