?- test3(12). problem(numbers(0,3,1),goal(4)) --> ex(1,+,ex(0,+,3)) problem(numbers(4,5,4),goal(5)) --> ex(4,-,ex(4,+,5)) problem(numbers(5,5,1),goal(3)) --> ex(4,/,ex(4,*,5)) problem(numbers(2,3,2),goal(2)) --> ex(2,*,ex(2,-,3)) problem(numbers(4,4,4),goal(3)) --> ex(4,-,ex(4,/,4)) problem(numbers(4,4,1),goal(3)) --> ex(4,-,ex(4,/,4)) problem(numbers(1,4,2),goal(0)) --> ex(4,-,ex(4,/,4)) problem(numbers(5,0,5),goal(0)) --> ex(ex(5,+,0),-,5) problem(numbers(4,1,1),goal(5)) --> ex(1,*,ex(4,+,1)) problem(numbers(4,5,0),goal(4)) --> ex(4,+,ex(5,*,0)) problem(numbers(4,1,0),goal(5)) --> ex(0,+,ex(4,+,1)) problem(numbers(0,0,2),goal(0)) --> ex(2,*,ex(0,+,0)) problem(numbers(2,2,2),goal(5)) --> ex(2,/,ex(0,+,0)) problem(numbers(4,5,2),goal(2)) --> ex(2,*,ex(4,-,5)) problem(numbers(1,4,1),goal(5)) --> ex(1,*,ex(1,+,4)) problem(numbers(5,0,2),goal(2)) --> ex(2,+,ex(5,*,0)) true . ?- test4(16). problem(numbers(3,5,1,4),goal(1)) --> ex(1,-,ex(4,/,ex(3,+,5))) problem(numbers(1,4,4,4),goal(4)) --> ex(ex(1,+,4),-,ex(4,/,4)) problem(numbers(0,3,3,0),goal(4)) --> ex(ex(1,+,4),-,ex(4,/,4)) problem(numbers(1,0,2,2),goal(4)) --> ex(ex(1,+,0),*,ex(2,+,2)) problem(numbers(5,4,3,3),goal(4)) --> ex(3,/,ex(3,+,ex(5,+,4))) problem(numbers(1,1,1,3),goal(4)) --> ex(ex(1,+,1),-,ex(1,-,3)) problem(numbers(4,3,0,0),goal(4)) --> ex(ex(4,+,0),+,ex(3,*,0)) problem(numbers(0,3,5,4),goal(1)) --> ex(ex(0,*,3),+,ex(5,-,4)) problem(numbers(5,1,0,4),goal(0)) --> ex(ex(5,+,1),*,ex(0,*,4)) problem(numbers(1,0,5,1),goal(3)) --> ex(ex(1,+,0),-,ex(5,-,1)) problem(numbers(4,4,4,3),goal(3)) --> ex(3,+,ex(4,*,ex(4,-,4))) problem(numbers(5,5,0,1),goal(0)) --> ex(ex(5,+,5),*,ex(0,*,1)) problem(numbers(2,1,2,3),goal(1)) --> ex(2,-,ex(ex(2,+,1),/,3)) problem(numbers(4,4,1,2),goal(0)) --> ex(ex(4,-,4),*,ex(1,+,2)) problem(numbers(4,5,5,3),goal(4)) --> ex(4,+,ex(3,*,ex(5,-,5))) problem(numbers(0,4,1,4),goal(4)) --> ex(ex(0,*,4),+,ex(1,*,4)) problem(numbers(5,3,3,0),goal(1)) --> ex(ex(5,-,3),-,ex(3,+,0)) true . ?- test2(0). true . ?- halt.