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?

Author: theJollySin, 2013-04-05

3 answers

Esa frase está llena de jerga. Puede encontrar una descripción de universal y existential cuantificadores lógicos aquí.

  1. Una Universal Quantifier es una declaración lógica que se aplica a todos los elementos de un conjunto.
  2. 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:

  1. First-order instrucciones lógicas son los habituales; actúan sobre los miembros de un conjunto.
  2. Higher-order las sentencias lógicas actúan sobre otras sentencias lógicas; piense en ellas como meta-lógica.
 41
Author: theJollySin,
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.

 17
Author: Brian,
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.

 3
Author: Ben,
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