Универсальные и экзистенциальные квантификаторы логики первого порядка
Я беру курс программирования Scala. В какой-то момент инструктор сказал:
Функции blah и bladdy являются универсальными и экзистенциальными кванторы логики первого порядка.
Может ли кто-нибудь перевести "универсальные и экзистенциальные кванторы логики первого порядка" на английский?
Ответы
Ответ 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
, мы могли бы объяснить, как они соответствуют универсальным и экзистенциальным кванторам, что может быть более полезным, чтобы помочь вам понять точку инструктора.