Logique monadique de second ordre pour les nuls


14

Je suis programmeur et je maîtrise les automates, mais pas la logique.

J'ai lu dans les journaux que les deux sont très étroitement liés. Les automates finis déterministes (DFA), les automates arborescents et les automates à refoulement visible sont tous liés à la logique monadique du second ordre (MSO). Bien que je comprenne que les automates et les gens (dans les articles) ont essayé de m'expliquer la relation avec MSO, ils supposent toujours une solide formation en logique et une compréhension de MSO.

Lorsque je regarde des livres et des cours sur la logique, ils ne traitent principalement que la logique du premier ordre, ce qui semble assez simple et ne comprenant que quelques concepts: les variables, ou, et non, impliquent, pour tous, existent, etc.

Quelqu'un peut-il m'expliquer ou me diriger vers une ressource qui peut expliquer:

  1. Qu'est-ce que la logique du second ordre contrairement à la logique du premier ordre?
  2. Qu'est-ce que la logique monadique vs non monadique?
  3. Pourquoi est-il important qu'une logique de second ordre soit monadique pour être décidable OU pourquoi est-ce la mauvaise question?
  4. Pourquoi la logique monadique du second ordre est-elle décidable?
  5. La relation avec au moins les DFA?

S'il s'agit d'une ressource, ce serait bien si elle suppose que je suis un programmeur et non un logicien. Cela signifie que j'aimerais comprendre comment je l'implémenterais en tant que code, car jusque-là les mathématiques me semblent magiques;)

Merci pour toute aide que vous pouvez me donner. J'apprécierai vraiment cela.


"Pourquoi est-il important qu'une logique de second ordre soit monadique pour être décidable OU pourquoi est-ce la mauvaise question?" si vous autorisez la quantification sur un prédicat binaire, par exemple alors vous saisissez immédiatement la puissance de la logique du premier ordre avec un seul prédicat binaire qui est déjà indécidable (même sans fonctions d'arité> 0, et sans égalité) [Kalmar, Suranyi, 1950]M[...M(x,y)...]
Vor

Réponses:


11
  1. Qu'est-ce que la logique du second ordre contrairement à la logique du premier ordre?
  2. Qu'est-ce que la logique monadique vs non monadique?

La logique du second ordre monadique est la logique du premier ordre plus la quantification sur les ensembles. Ainsi, en plus de pouvoir dire qu'il existe un élément de domaine avec une propriété ( ), vous pouvez également dire qu'il existe un ensemble d'éléments de domaine avec une propriété. Ainsi, par exemple, nous pouvons définir la 3-colorabilité des graphiques en disantx

RGB[x(xRxGxB)¬x((xRxG)(xGxB)(xBxR))xy(E(x,y)¬((xRyR)(xGyG)(xByB)))].

En mots, il existe des couleurs rouge, vert et bleu telles que

  • chaque sommet a une couleur
  • et aucun sommet n'a deux couleurs
  • et, s'il y a un bord entre deux sommets, ces deux sommets n'ont pas la même couleur.

kkk=11

  1. Pourquoi est-il important qu'une logique de second ordre soit monadique pour être décidable OU pourquoi est-ce la mauvaise question?

  2. Pourquoi la logique monadique du second ordre est-elle décidable?

Honnêtement, je ne me souviens pas des problèmes de décidabilité. Un point clé est que la logique complète du second ordre vous permet de quantifier en existence un ordre linéaire du domaine

Rxyz[(R(x,y)R(y,x))((R(x,y)R(y,x))x=y)((R(x,y)R(y,z))R(x,z))].

DDnnDnn

(Je suppose que, si votre domaine est infini, vous devez probablement spécifier en plus que l'ordre linéaire est discret et a un élément minimal; alors vous savez qu'il a un segment initial isomorphe aux nombres naturels, et cela devrait être suffisant.)

R1RkφRiφ

  1. La relation avec au moins les DFA?

ΣRaaΣRa

kQ1,,QkQii

  • jQ1,,Qk
  • Q1
  • jQi(j+1)
  • la position finale est dans un état acceptant.

jjj>jj

Pour l'instant, je ne me souviens pas de la preuve de l'inverse (que tout ce qui peut être défini dans MSO peut être reconnu par un automate approprié). Si j'ai le temps, je vais le chercher et poster un croquis.

iX1iX

Ra(i)iaiXiXi<jij

automates de base

,¬i,Xc


Ajout de ma suggestion pour l'inverse. En attente d'approbation par @DavidRicherby
Hendrik Jan

Merci pour une excellente réponse. Je suis toujours en train de traiter tout cela et d'y travailler, de chercher des termes, de réfléchir à la façon de mettre en œuvre ceci, etc. En attendant, je pense que le numéro 3 n'était pas la bonne question. Peut-être que cela aurait plutôt dû être pourquoi la relation entre automates et logique est-elle si importante, qu'elle est mentionnée dans tant d'articles?
Walter Schulze

Merci pour l'excellente réponse!
Klas.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.