尝试使用 Logic 在 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))
结果是:
(<function kanren.goals.membero(x, ls)>,
(4, ~_2, (~_2422, 'rabbit', ~_2423, ~_2424), ~_809))
这让我无法跑步
solutions = run(0, people, rules)
你能帮我解决一下吗?
谢谢你。