Подтвердить что ты не робот

Универсальные и экзистенциальные квантификаторы логики первого порядка

Я беру курс программирования Scala. В какой-то момент инструктор сказал:

Функции blah и bladdy являются универсальными и экзистенциальными кванторы логики первого порядка.

Может ли кто-нибудь перевести "универсальные и экзистенциальные кванторы логики первого порядка" на английский?

4b9b3361

Ответ 1

Это предложение полна жаргона. Вы можете найти описание universal и existential логических кванторов здесь.

  • A Universal Quantifier - это логический оператор, который применяется ко всем элементам набора.
  • An Existential Quantifier - это логический оператор, который применяется, по крайней мере, к одному элементу набора.

Вы также можете посмотреть здесь для быстрого описания логики first-order. Этот термин предназначен для разделения логики first-order от higher-order:

  • first-order логические утверждения являются обычными; они действуют на членов набора.
  • higher-order логические операторы действуют на другие логические выражения; считайте их мета-логикой.

Ответ 2

В учебнике Language Proof and Logic приведены эти выражения на английском языке для универсальных и экзистенциальных кванторов, о которых говорил профессор Одерский.

Универсальный квантор & forall;

используется для выражения универсальных претензий, которые мы выражаем на английском языке, используя квантированные фразы, такие как все, каждая вещь, все вещи и что угодно.

Существует квантор существования и существует;

используется для выражения экзистенциальных претензий, которые мы выражаем на английском языке, используя такие фразы, как что-то, по крайней мере одно, а и.

Упоминание этих терминов, вероятно, было связано или приводило к операциям над коллекциями с использованием функций более высокого порядка. В Scala переход от логики к коду вполне естественен при операциях forall и exists в коллекции. Они аналогичны приведенным выше универсальным и экзистенциальным определениям. Некоторые простые примеры полезны для показа этого:

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

Эти два оператора forall просто запрашивают, чтобы элементы все этой коллекции соответствовали критериям.

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

scala> l.exists(x => x < 2)
res3: Boolean = true

Эти два оператора exists просто запрашивают, чтобы любые элементы этой коллекции соответствовали критериям.

Ответ 3

Чтобы в полной мере оценить это утверждение, вам, вероятно, придется изучить некоторую логику. Но здесь основной смысл:

"Квантеры" - это то, как вы придаете значение переменным в логических выражениях. Если я скажу "{что-то о x}", то это действительно не имеет большого значения само по себе. Вы должны знать, что x означает, является ли это истинным или ложным утверждением. Но если я количественно определяю переменную x, говоря "для всех x {что-то около x}" или "существует x, что {что-то около x}", то я делаю одиночный который является либо истинным, либо ложным.

В случае "для всех x" я говорю, что "{something about x}" верно для любого x, который вы могли бы выбрать; что универсальная количественная оценка. Например, "для всех x, x является четным числом" является ложным утверждением.

В "существует x такой, что" случай, я говорю, что есть возможный выбор для x, так что "{something about x}" истинно (я не говорю, что этот выбор есть, только что есть один). Это экзистенциальная квантификация. В качестве примера "существует x такой, что x является четным числом" является истинным утверждением.

Они являются двойниками в том, что "для всех x {что-то около x}" означает то же самое, что "это НЕ верно, что существует x, так что он НЕ является истинным, что {что-то о x}", а также "существует x, что {что-то около x}" означает то же самое, что и "НЕ истинно, что для всех x это НЕ верно, что {что-то о x}". Надеюсь, это кажется интуитивно оправданным, если вы подумаете об этом.

Если вы сказали нам, что представляют собой функции blah и bladdy, мы могли бы объяснить, как они соответствуют универсальным и экзистенциальным кванторам, что может быть более полезным, чтобы помочь вам понять точку инструктора.