-1

规格如下:

(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 中实现真值表,可以遵循什么程序?请注意,公式中可能有子公式。

4

1 回答 1

0

听起来你需要某种解析器。首先从表达式中提取唯一符号,然后将表达式构建为树/嵌套列表形式。然后遍历可能的真值组合以生成真值表。

于 2013-09-24T12:41:25.210 回答