Quantificateurs universels et existentiels de la logique du premier ordre

je suis un cours de programmation Scala. À un moment, l'instructeur dit:

Fonctions bla et bladdy sont universels et existentiels les quantificateurs de la logique du premier ordre.

quelqu'un Pourrait-il traduire "quantificateurs universels et existentiels de la logique de premier ordre" en anglais s'il vous plaît?

29
demandé sur theJollySin 2013-04-05 00:57:03

3 réponses

Cette phrase est pleine de jargon. Vous pouvez trouver une description de universal et existential logique des quantificateurs ici.

  1. Universal Quantifier est une logique de l'énoncé qui s'applique à tous les éléments d'un ensemble.
  2. Existential Quantifier est une logique de l'énoncé qui s'applique à au moins un élément d'un ensemble.

vous pouvez aussi regarder ici pour une description rapide de first-order logique. Le terme est destiné à séparer first-order à partir de higher-order logique:

  1. First-order instructions logiques sont celles habituelles; ils agissent sur les membres d'un ensemble.
  2. Higher-order les énoncés logiques agissent sur d'autres énoncés logiques; considérez-les comme de la méta-logique.
41
répondu theJollySin 2014-11-04 15:42:53

Le livre la Preuve de la Langue et de la Logique fournit ces expressions anglaises pour l'universel et existentiel quantificateurs que le Professeur Odersky visée.

Le quantificateur universel ∀

est utilisé pour exprimer des revendications universelles, celles que nous exprimons en anglais en utilisant des phrases quantifiées commetout,chaque chose,toutes les choses, et .

le quantificateur existentiel--9-->

est utilisé pour exprimer des revendications existentielles, celles que nous exprimons en anglais en utilisant des expressions comme quelque chose,au moins une chose, et .

la mention de ces termes est probablement liée ou mène à des opérations sur des collections utilisant des fonctions d'ordre supérieur. En Scala, la transition de la logique à le code est tout à fait naturel avec l' forall et exists opérations sur une collection. Elles sont analogues aux définitions universelles et existentielles données ci-dessus. Quelques exemples simples sont utiles pour montrer ceci:

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

Ces deux forall les déclarations demandent simplement à faire éléments de cette collection répondent aux critères.

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

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

Ces deux exists états demandez simplement à faire éléments de cette collection critère.

17
répondu Brian 2013-04-04 22:09:50

pour apprécier pleinement cette affirmation, il faudrait probablement étudier une certaine logique. Mais ici, c'est le sens de base:

"Quantificateurs" sont comment donner un sens à variables dans les énoncés de la logique. Si je dis "{quelque chose à propos de x}", qui n'a pas vraiment beaucoup de sens sur son propre. Vous devrez savoir ce que x est de dire si c'est une déclaration vraie ou fausse. Mais si j' quantifier la variable x en disant "pour tous x {quelque chose x}" ou "il existe un x tel que {quelque chose à propos de x}" puis je fais un seul énoncé qui est vrai ou faux.

Dans le "pour tous x" cas je dis que "{quelque chose à propos de x}" est vrai pour les x vous pouvez choisir; c'est la quantification universelle. Par exemple "pour tous x,x est un nombre pair" est une fausse déclaration.

Dans la "il existe une x tel que " cas je dis qu'il y a un choix possible pour x de sorte que "{quelque chose à propos de x}" est vrai (je ne dis pas que ce choix est, juste qu'il y en a un). C'est une quantification existentielle. Comme un exemple "il existe un x tels que x est un nombre pair" est un énoncé vrai.

ce sont des duels dans ce "pour tous"!--0--> {quelque chose à propos de x}" signifie la même chose que "il n'est PAS vrai qu'il existe un x de sorte qu'il n'est pas vrai que {quelque chose à propos x}", et aussi "il existe une x tel que {quelque chose à propos de x}" signifie la même chose que "il n'est PAS vrai que pour tout x il n'est PAS vrai que {quelque chose à propos de x}". Heureusement, cela semble intuitivement justifié si vous y pensez.

Si tu nous disais ce que les fonctions blah et bladdy sont, nous pourrions expliquer la façon dont ils correspondent aux quantificateurs universels et existentiels, ce qui pourrait être plus utile pour vous aider à comprendre point de l'instructeur.

3
répondu Ben 2013-04-04 22:13:34