我正在做一个作业,需要实现两个关系and(A,B)和or(A,B),它们对两个布尔操作数A和B执行逻辑“ AND”和逻辑“ OR”运算。 B)判断A和B是否都为true。如果A或B的评估结果为true,或者A和B的评估结果均为true,则关系or(A,B)成立。And-OR表达式可以嵌套,例如and(or(A,B),and(C,D))。
一些示例输入和输出:
?- and(true,false).
false.
?- or(true,false).
true.
?- and(A,true).
A = true ;
false.
?- or(A,B).
A = true ;
B = true ;
false.
?- and(or(A,B),and(C,D)).
A = true,
C = true,
D = true ;
B = true,
C = true,
D = true ;
false.
?- or( and(or(A,B),C), or(and(D,E),or(F,G)) ).
A = true,
C = true ;
B = true,
C = true ;
D = true,
E = true ;
F = …Run Code Online (Sandbox Code Playgroud) prolog ×1