Cuantificadores Universales y Existenciales de la Lógica de Primer Orden
Estoy tomando un curso de programación Scala. En un momento el instructor dijo:
Las funciones blah y bladdy son lo universal y existencial cuantificadores de lógica de primer orden.
¿Podría alguien traducir " cuantificadores universales y existenciales de la lógica de primer orden" al inglés, por favor?
3 answers
Esa frase está llena de jerga. Puede encontrar una descripción de universal
y existential
cuantificadores lógicos aquí.
- Una
Universal Quantifier
es una declaración lógica que se aplica a todos los elementos de un conjunto. - Una
Existential Quantifier
es una declaración lógica que se aplica al menos a un elemento de un conjunto.
También puede buscar aquí para una descripción rápida de la lógica first-order
. El término está destinado a separar first-order
de higher-order
lógica:
-
First-order
instrucciones lógicas son los habituales; actúan sobre los miembros de un conjunto. -
Higher-order
las sentencias lógicas actúan sobre otras sentencias lógicas; piense en ellas como meta-lógica.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-04 15:42:53
El libro de texto Language Proof and Logic proporciona estas expresiones en inglés para los cuantificadores universales y existenciales a los que se refirió el profesor Odersky.
El cuantificador universal {
Se usa para expresar reclamos universales, aquellos que expresamos en inglés usando quantifed frases como todo, cada cosa, todas las cosas, y algo.
El cuantificador existencial ∃
Es se usan para expresar afirmaciones existenciales, aquellas que expresamos en inglés usando frases como algo, al menos una cosa, a , y an.
La mención de estos términos probablemente se relacionó o condujo a operaciones en colecciones utilizando funciones de orden superior. En Scala, la transición de la lógica al código es bastante natural con las operaciones forall
y exists
en una colección. Estas son análogas a las definiciones universales y existenciales dadas arriba. Algunos ejemplos simples son útiles para mostrar esto:
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
Estas dos declaraciones forall
simplemente piden que todos los elementos de esta colección cumplan con los criterios.
scala> l.exists(x => x < 1)
res2: Boolean = false
scala> l.exists(x => x < 2)
res3: Boolean = true
Estas dos declaraciones exists
simplemente piden que cualquier elemento de esta colección cumpla con los criterios.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-04 22:09:50
Para apreciar plenamente esa afirmación, probablemente tendría que estudiar alguna lógica. Pero aquí está la esencia básica:
Los"cuantificadores" son la forma de dar significado a variables en declaraciones de lógica. Si digo "{algo sobre x
}", eso realmente no tiene mucho significado por sí solo. Tendrías que saber lo que x
es decir si es una declaración verdadera o falsa. Pero si yo cuantificar la variable x
diciendo: "para todos los x
{algo acerca de x
}" o "existe una x
tal que {algo sobre x
}" entonces estoy haciendo una sola declaración que es verdadera o falsa.
En el caso "para todos x
" estoy diciendo que "{algo sobre x
} " es cierto para cualquier x
puedes elegir; eso es cuantificación universal. Por ejemplo "para todos x
, x
es un número par" es una declaración falsa.
En el "existe un x
tal que" caso Estoy diciendo que hay una opción posible para x
de modo que "{algo sobre x
} " es cierto (no estoy diciendo cuál es esa elección, solo que hay una). Esto es cuantificación existencial. Como ejemplo "existe un x
tal que x
es un número par" es una declaración verdadera.
Son duales en que "para todos los x
{algo acerca de x
}" significa lo mismo que "NO es cierto que existe un x
tales que NO es cierto que {algo acerca de x
}", y también "existe una x
tal que {algo acerca de x
}" significa lo mismo que "NO es cierto que para todos x
no es cierto que {algo sobre x
}". Esperemos que parezca intuitivamente justificado si lo piensas.
Si nos dijeras cuáles son las funciones blah
y bladdy
, podríamos explicar la forma en que corresponden a los cuantificadores universales y existenciales, que podrían ser más útiles para ayudarte a entender el punto del instructor.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-04 22:13:34