Resolutie en Prolog

Course subject(s) 2. Predicatenlogica

Net als in de propositielogica, kunnen we de geldigheid van redeneringen in predicaatlogische talen niet alleen met de boommethode, maar ook met behulp van de resolutie-methode onderzoeken. In principe werkt dit hier hetzelfde als in de propositielogica, alleen is het iets ingewikkelder de formules in de premissen en de negatie van de conclusie in de geëigende normaalvorm te krijgen (dat is de Skolemnormaalvorm, via de prenexnormaalvorm), en moet bij het toepassen van de resolutie-regel rekening worden gehouden met het voorkomen van variabelen in de formules. Uit de formules A(x) ∨ B(x) en ¬A(a) ∨ C(y) willen we natuurlijk B(x) ∨ C(y) kunnen afleiden, maar dat kan alleen maar als we in de eerste formule voor variabele x het object a invullen (substitueren); alleen dan matcht A(a) met ¬A(a). Dat kan dus, maar dan moeten we ook in B(x) variabele x door object a vervangen. Het resultaat is dan B(a) ∨ C(y). In deze module besteden we ook aandacht aan de manier waaropProlog deze methode gebruikt om te onderzoeken of bepaalde formules logisch volgen uit premissen.

Leerdoelen
De student kan gegeven formules in eerste-ordetalen vertalen naar prenex- en Skolemnormaalvorm. Bovendien kan de student de werking van de resolutiemethode voor de predicatenlogica uitleggen en deze methode toepassen om de (on)geldigheid van een gegeven redenering te bepalen. In geval van een ongeldige redenering kan de student uit de resolutieafleidingeen tegenvoorbeeld construeren. De student kan de relatie leggen tussen de resolutiemethode en de werking van Prolog.

Geschikte opgaven:
Logica, 8.6.2
Beschrijven en Bewijzen, 4.8 en 4.9
Practicum 3, opgave 4
Herziening practicum 3, opgave 4

Bestanden

Creative Commons License
Redeneren en Logica by TU Delft openCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://ocw.tudelft.nl/courses/redeneren-en-logica/.
Back to top