Attempting to use Logic to solve the following in python:
from kanren import run, eq, membero, var, conde
from kanren.constraints import neq, isinstanceo
rules = (eq, (var(), var(), var(), var()), people),
(membero, (4, x, ('Steve' , var() , 'blue' , var() ), people)),
(membero, (4, x, ( var() , 'cat' , var() , 'Canada' ), people)),
(membero, (4, x, ('Matthew', var() , var() , 'USA' ), people)),
(membero, (4, x, ( var() , var() , 'black', 'Australia'), people)),
(membero, (4, x, ('Jack' , 'cat' , var() , var() ), people)),
(membero, (4, x, ('Alfred' , var() , var() , 'Australia'), people)),
(membero, (4, x, ( var() , 'dog' , var() , 'France' ), people)),
(membero, (4, x, ( var() , 'rabbit', var() , var() ), people))
results in:
(<function kanren.goals.membero(x, ls)>,
(4, ~_2, (~_2422, 'rabbit', ~_2423, ~_2424), ~_809))
which keeps me from running
solutions = run(0, people, rules)
Can you help me with a solution?
Thank you.