规范如下:
(truth-table formula) --> truth-table
公式为:
#t
或#f
p, q, r, ...
(not formula)
(and formula1 formula2)
(or formula1 formula2)
真值表是一组行。一行包含绑定(I t)
,其中I
是真值赋值,即绑定集(p t)
。 I
必须是:
t
由估价函数V(formula, I)
生成。 V
定义为:
V(t,I) = t
V(p,I) = t
代表(p t)
I
V((not formula), I) = (not (V (formula I)))
V((and formula1 formula2), I) = (and V(formula1 I) V(formula2 I))
V(( or formula1 formula2), I) = (or V(formula1 I) V( formula2 I))
为了在Scheme中实现真值表,可以遵循哪些程序?请注意,公式中可能存在子公式。
答案 0 :(得分:0)
听起来像是你需要某种解析器。首先从表达式中提取唯一符号,然后将表达式构建为树/嵌套列表形式。然后迭代可能的真值组合以生成真值表。