Satisfiabilité de premier ordre qui n'a pas de modèles finis

9

Nous savons par le théorème de Church que la détermination de la satisfiabilité du premier ordre est indécidable en général, mais il existe plusieurs techniques que nous pouvons utiliser pour déterminer la satisfiabilité du premier ordre. Le plus évident est de rechercher un modèle fini. Cependant, il existe un certain nombre d'énoncés dans la logique du premier ordre dont nous pouvons démontrer qu'ils n'ont pas de modèles finis. Par exemple, tout domaine dans lequel opère une fonction injective et non surjective est infini.

Comment pouvons-nous démontrer la satisfiabilité pour les énoncés de premier ordre où il n'y a pas de modèles finis ou où l'existence de modèles finis est inconnue? Dans la démonstration automatisée de théorèmes, nous pouvons déterminer la satisfiabilité de plusieurs façons:

  1. Nous pouvons annuler la phrase et rechercher une contradiction. Si l'on en trouve, nous prouvons la validité de premier ordre de l'énoncé et donc la satisfiabilité.
  2. Nous utilisons la saturation avec résolution et nous manquons d'inférences. Plus souvent qu'autrement, nous aurons une quantité infinie d'inférences à faire, donc ce n'est pas fiable.
  3. Nous pouvons utiliser le forçage, qui suppose l'existence d'un modèle et également la cohérence de la théorie.

Je ne connais personne implémentant le forçage comme technique mécanisée pour la démonstration automatisée de théorèmes, et cela ne semble pas facile, mais je suis intéressé si cela a été fait ou tenté, car il a été utilisé pour prouver l'indépendance pour un certain nombre de déclarations dans la théorie des ensembles, qui elle-même n'a pas de modèles finis.

Existe-t-il d'autres techniques connues pour rechercher la satisfiabilité du premier ordre applicables au raisonnement automatisé ou quelqu'un a-t-il travaillé sur un algorithme de forçage automatisé?

dezakin
la source
L'approche Infinox peut être pertinente pour votre question (sans y répondre). L'idée est d'utiliser des prouveurs de théorèmes pour démontrer l'inexistence de modèles finis. Voir, par exemple, gupea.ub.gu.se/bitstream/2077/22058/1/gupea_2077_22058_1.pdf
selig

Réponses:

9

Voici une approche amusante de Brock-Nannestad et Schürmann:

Abstractions monadiques véridiques

L'idée est d'essayer de traduire des phrases de premier ordre en logique monadique de premier ordre , en "oubliant" certains arguments. Certes, la traduction n'est pas complète : il y a des phrases cohérentes qui deviennent incohérentes après la traduction.

Cependant, la logique monadique du premier ordre est décidable . On peut donc vérifier si la traduction d'une formule F est cohérente:F¯F

F¯

can be checked by a decision procedure, and implies

F

Which implies that F has a model, by the completeness theorem.

This theme can apply somewhat more generally: identify a decidable sub-logic of your problem, then translate your problem into it, in a way that preserves truth. In particular modern SMT solvers like Z3 have gotten astonishingly good at proving satisfiability of formulas with quantifiers (by default Σ10, but can perform well on Π20 formulas).

Forcing seems to be far out of reach of automated methods at the present.

cody
la source
This seems surprising to me. I'm trying to imagine translating NBG set theory into monadic logic, but I can't imagine that it's that easy. I imagine that it works well for real closed fields or presburger arithmetic as decidable first order theories with finite models already, but have a hard time imagining it works for something as expressive as set theory.
dezakin
Everything is hard with NGB in automated reasoning. Note that the point of the article is not to use a single translation, but try many possible translations in search of a model.
cody