一阶逻辑的通用和存在量词

Mor*_*ive 30 logic functional-programming scala

我正在参加Scala编程课程.有一次教练说:

函数blahbladdy是一阶逻辑的通用和存在量词.

有人可以将" 一阶逻辑的普遍存在量词 "翻译成英语吗?

the*_*Sin 43

那句话充满了行话.你可以找到的描述universalexistential逻辑量词这里.

  1. A Universal Quantifier是适用于集合的所有元素的逻辑语句.
  2. An Existential Quantifier是一个逻辑语句,适用于集合中的至少一个元素.

您还可以在此处查看first-order逻辑的快速描述.该术语是指分离first-orderhigher-order逻辑:

  1. First-order逻辑陈述是通常的陈述; 他们对一组成员采取行动.
  2. Higher-order逻辑语句作用于其他逻辑语句; 将它们视为元逻辑.

  • 你可能会对Wiki文章感到困惑,它不是量词的最佳来源.+1为您量词的答案 (2认同)

Bri*_*ian 17

教科书语言证明和逻辑为奥德斯基教授所提到的普遍和存在量词提供了这些英语表达.

通用量词∀

用来表达普遍的主张,我们使用量化的短语,如一切,每件事,所有的东西,以及任何东西,用英语表达.

存在量词∃

用于表达存在主义的主张,即我们用英语表达的东西,例如某些东西,至少一个东西,一个一个.

提及这些术语可能与使用更高阶函数的集合相关或导致操作.在Scala中,从逻辑代码的过渡是与很自然的forallexists操作上的集合.这些类似于上面给出的普遍和存在的定义.一些简单的示例有助于显示:

scala> val l = 1 to 10
l: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

scala> l.forall(x => x > 0)
res0: Boolean = true

scala> l.forall(x => x > 1)
res1: Boolean = false
Run Code Online (Sandbox Code Playgroud)

这两个forall陈述只是要求这个集合的所有元素都符合标准.

scala> l.exists(x => x < 1)
res2: Boolean = false

scala> l.exists(x => x < 2)
res3: Boolean = true
Run Code Online (Sandbox Code Playgroud)

这两个exists陈述只是要求这个集合的任何元素符合标准.