Oppløsningsregel

I matematisk logikk , den oppløsning regelen eller prinsippet om oppløsning av Robinson er en regel av slutning logikk som generaliserer de Modus ponens . Denne regelen brukes hovedsakelig i automatiske proof-systemer , det er grunnlaget for det logiske programmeringsspråket Prolog .

I proposisjonslogikk

Modus ponens-regelen er skrevet og lyder: fra p og "p innebærer q", utleder jeg q. Vi kan omskrive implikasjonen "p innebærer q" som "p er falsk eller q er sant". Dermed er modus ponens-regelen skrevet .

Oppløsningsregelen, den generaliserer modus ponens-regelen fordi den gjelder alle klausuler . En klausul er en formel som er en adskillelse (en "eller") av bokstavelige (en atom proposisjon eller en atom proposition foran en negasjon). For eksempel er en klausul med to bokstaver ("ikke p" og "q"). I proposisjonslogikk er resolusjonsregelen skrevet:

Med andre ord, gitt to klausuler, og vi utleder . Den utledede formelen, dvs. kalles løseren på og . Selvfølgelig er regelapplikasjonen gitt til permutasjon nær bokstavene.

Eksempler

For eksempel :

hvor betegner motsetningen (tom ledd).

I predikatlogikk

I predikatlogikk er atomformler av formen hvor er et predikatsymbol, og det er begreper som består av konstanter, variabler og funksjonssymboler. Oppløsningsregelen i predikatlogikk er lik oppløsningsregelen i proposisjonslogikk, men atomformlene som deles av to ledd, må ikke være identiske, men ikke kan omformuleres . To atomformler er unifiserbare hvis det er en substitusjon av variablene med termer som gjør de to formlene identiske (se forening ). For eksempel :

er en anvendelse av oppløsningsregelen i predikatlogikk. Den lyder: fra "P (a)" og fra "(for alle x) ikke P (x) eller Q (x)", utleder jeg "Q (a)". Her er atomformelen og atomformelen unifiserbar med substitusjon . Mer generelt er regelen for å løse predikatlogikk:

hvor er en hovedforener av atomformler og .

Oppløsningen kan utføres på to bokstaver hvis de forholder seg til identiske atomformler eller til uforenkelige formler .

For eksempel atomformler

og hvor a og c er konstanter,

er uforenlige med erstatning . På den andre siden

og der a, b og c er konstanter,

kan ikke forenes fordi konstantene ikke kan erstattes.

Eksempel

Erstatningen gjør det mulig å bruke oppløsningen på Q, mellom og , som produserer

Erstatningen gjør det mulig å bruke oppløsningen på P, mellom og å produsere

Løsning og bevis ved tilbakevisning

Generelt brukes oppløsningsprinsippet for å utføre bevis ved motbevisning. For å bevise at formelen er en logisk konsekvens av formlene, viser vi at settet er inkonsekvent.

I praksis er det nødvendig å begynne med å sette alle formlene i klausulær form, for at man må sette dem i pre-appendiksform (alle kvantifiseringsmidler i begynnelsen) og deretter skolemize dem .

For å vise at et sett med klausuler er inkonsekvent, er det nødvendig å lykkes med å generere den tomme klausulen ved å bruke oppløsningsregelen så mange ganger som nødvendig.


Eksempel

Vi vil vise at de tre formlene

  1. ,
  2. ,

resulterer i formelen .

Den første formelen tilsvarer og produserer derfor de to leddene

Den andre formelen gir straks klausulen

og den tredje

.

Negasjonen av ønsket konsekvens gir

Ved vedtak om av og med en produserer

Ved beslutning om de og vi produserer

Til slutt og gi den tomme klausulen.

Regelhåndhevelsesstrategi

Prinsippet om at oppløsningen er fullført, hvis settet med klausuler som er vurdert er inkonsekvent, klarer vi alltid å generere den tomme klausulen. På den annen side, fordi konsistensproblemet (tilfredshet) ikke kan avgjøres i predikatlogikk, er det ingen metode for å fortelle oss hvilke oppløsninger vi skal gjennomføre og i hvilken rekkefølge å komme til den tomme klausulen.

Man kan lett finne eksempler der man "synker" ned i generasjonen av et uendelig antall klausuler uten å nå den tomme klausulen, mens man ville ha oppnådd den ved å ta de riktige valgene.

Forskjellige strategier er utviklet for å lede prosessen. Prolog- systemet er for eksempel basert på rekkefølgen som ledd er skrevet i og rekkefølgen på bokstavene i ledd. Andre systemer, som CyC , bruker en avskjæringsstrategi (avhengig av ressursene som forbrukes) for å unngå å generere uendelige grener.

Bevis på minimumslengder

Haken demonstrerte at enhver motbevisning av prinsippet om skuffer med n sokker (på engelsk, dette er pigeonhole-prinsippet ) er minst 2 n / 10 i lengde .

Eksterne linker

Øvelser for å manipulere oppløsningsregelen , et verktøy utviklet hos ENS Rennes

Referanser


<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">