creative commons license deed - salleurl.edu · el començament de la història de la deducció...

211

Upload: others

Post on 21-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria
Page 2: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria
Page 3: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 3.0 Espanya

Vostè és lliure de: Copiar, distribuir i comunicar públicament l’obra.

Sota els següents condicionants:

Reconeixement. S’ha de referenciar aquesta obra a Mª Antonia Mozota- Enginyeria La Salle (Semipresencial) No comercial. No es pot utilitzar aquesta obra per a finalitats comercials. Sense obres derivades. No es pot alterar, transformar o generar una obra derivada a partir d’aquesta.

• Quan reutilitzeu o distribuïu l'obra, heu de deixar ben clar els termes de la llicència de l'obra. • Alguna d'aquestes condicions pot no aplicar-se si obteniu el permís del titular dels drets d'autor. • No hi ha res en aquesta llicència que menyscabi o restringeixi els drets morals de l'autor.

Els drets derivats d'usos legítims o altres limitacions reconegudes per llei no queden afectats per l'anterior

Això és un resum fàcilment llegible del text legal (la llicència completa) disponible en els idiomes següents:

Català Castellà Basc Gallec

Page 4: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

Crèdits

Autor: Mª Antonia Mozota

Editor: Lluís Vicent

Coordinació lingüística: Sara Laso

Revisió lingüística: Christian Lara

Maquetació: Víctor Miras

Disseny de portada: Víctor Miras

Aquesta edició ha comptat amb el suport de l’Agència de Gestió d’Ajuts Universitaris i de Recerca (AGAUR) de la Generalitat de

Catalunya en la Convocatòria d’ajuts a l’edició i la difusió de llibres de text o manuals universitaris i llibres cientificotècnics, en suport

paper o en suport electrònic, escrits en llengua catalana (DILL 2009)

ISBN: 978-84-937374-4-3

Page 5: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

1

Índex

SESSIÓ 1: Una introducció ........................................................................................... 5

1 Introducció .............................................................................................................. 5

1.1 Què és una lògica? ....................................................................................................... 5 1.1.1 Què és una lògica? ...................................................................................................................... 5

1.2 Una mica de història .................................................................................................... 6 1.2.1 Una mica de història ................................................................................................................... 6

1.3 Classificació de les lògiques .......................................................................................... 8 1.3.1 Classificació de les lògiques ........................................................................................................ 8

SESSIÓ 2: Sintaxi ....................................................................................................... 11

2 Càlcul proposicional ............................................................................................... 11

2.1 El llenguatge del Càlcul Proposicional ......................................................................... 11 2.1.1 Sintaxi (CP0) .............................................................................................................................. 11

SESSIÓ 3: Interpretacions, conseqüència lògica, validesa i inconsistència ................. 15 2.1.2 Interpretacions i Taules de veritat ............................................................................................ 15 2.1.3 Conseqüència lògica, validesa i inconsistència ......................................................................... 17

SESSIÓ 4: Problemes ................................................................................................. 19 2.1.4 Problemes ................................................................................................................................. 19

SESSIÓ 5: Formes normals i Clàusules ....................................................................... 21

2.2 Formes normals i clàusules ........................................................................................ 21 2.2.1 Formes normals ........................................................................................................................ 21 2.2.2 L’àlgebra de Boole .................................................................................................................... 22 2.2.3 Problemes ................................................................................................................................. 24

SESSIÓ 6: Teoria de la demostració: Deducció Natural .............................................. 27

2.3 Teoria de la demostració ............................................................................................ 27 2.3.1 Deducció natural (DN) .............................................................................................................. 27

SESSIÓ 7: Problemes ................................................................................................. 31 2.3.2 Problemes de deducció natural ................................................................................................ 31

SESSIÓ 8: Un sistema axiomàtic-deductiu ................................................................. 33 2.3.3 Un sistema axiomàtic-deductiu ................................................................................................ 33

SESSIÓ 9: Problemes ................................................................................................. 37 2.3.4 Problemes ................................................................................................................................. 37

SESSIÓ 10: Teoria de la demostració: resolució ......................................................... 39

2.4 Resolució ................................................................................................................... 39 2.4.1 Principi de resolució .................................................................................................................. 39 2.4.2 Estratègies de resolució ............................................................................................................ 42

SESSIÓ 11: Teoria de la demostració: resolució. Problemes ....................................... 43 2.4.3 Problemes ................................................................................................................................. 43

SESSIÓ 12: Representació del coneixement ............................................................... 45

Page 6: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

2

2.5 Representació del coneixement ................................................................................. 45 2.5.1 Representació del coneixement ............................................................................................... 45 2.5.2 Problemes de representació ..................................................................................................... 48

SESSIÓ 13: Propietats ............................................................................................... 49

2.6 Propietats .................................................................................................................. 49 2.6.1 Propietats ................................................................................................................................. 49

SESSIÓ 14: Sintaxi ..................................................................................................... 51

3 Càlcul de predicats ................................................................................................. 51

3.1 El llenguatge del Càlcul de Predicats ........................................................................... 51 3.1.1 Sintaxi (CP1) .............................................................................................................................. 51

SESSIÓ 15: Interpretacions, conseqüència lògica, validesa i inconsistència. .............. 55 3.1.2 Interpretacions ......................................................................................................................... 55 3.1.3 Consistència, validesa i inconsistència ...................................................................................... 57

SESSIÓ 16: Problemes ............................................................................................... 59 3.1.4 Problemes ................................................................................................................................ 59

SESSIÓ 17: Formes normals i clàusules ...................................................................... 61

3.2 Formes normals i clàusules ........................................................................................ 61 3.2.1 Formes normals ........................................................................................................................ 61 3.2.2 Problemes ................................................................................................................................. 64

SESSIÓ 18: Teoria de la demostració: Unificació ....................................................... 67

3.3 Teoria de la demostració ............................................................................................ 67 3.3.1 Substitucions ............................................................................................................................. 67 3.3.2 Unificació .................................................................................................................................. 68

SESSIÓ 19: Teoria de la demostració: Resolució ........................................................ 71 3.3.3 Principi de resolució .................................................................................................................. 71

SESSIÓ 20: Resolució. Problemes .............................................................................. 75 3.3.4 Problemes ................................................................................................................................. 75

SESSIÓ 21: Estratègies de resolució ........................................................................... 77 3.3.5 Estratègies de resolució ............................................................................................................ 77

SESSIÓ 22: Estratègies de resolució. Problemes ........................................................ 81 3.3.6 Problemes ................................................................................................................................. 81

SESSIÓ 23: Representació del coneixement ............................................................... 83

3.4 Representació del coneixement ................................................................................. 83 3.4.1 Relacions, funcions i quantificadors ......................................................................................... 83 3.4.2 Representació del coneixement ............................................................................................... 84

SESSIÓ 24: Representació del coneixement. Problemes ............................................ 87 3.4.3 Problemes ................................................................................................................................. 87

SESSIÓ 25: Propietats ............................................................................................... 89

3.5 Propietats .................................................................................................................. 89 3.5.1 Propietats ................................................................................................................................. 89

SESSIÓ 26: Introducció a la programació lògica ........................................................ 91

Page 7: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

3

4 Programació lògica/Prolog .................................................................................... 91

4.1 Introducció ................................................................................................................ 91 4.1.1 Història ...................................................................................................................................... 91 4.1.2 Aplicacions de la programació lògica ........................................................................................ 91

4.2 De la lògica a la programació lògica ............................................................................ 92 4.2.1 La lògica com un llenguatge de programació ........................................................................... 92 4.2.2 Un exemple en CP0 ................................................................................................................... 94 4.2.3 Un exemple en CP1 ................................................................................................................... 95 4.2.4 Programació procedural enfront de programació lògica .......................................................... 97 4.2.5 PROgramming LOGic ................................................................................................................. 98

SESSIÓ 27: L’execució d’un programa ..................................................................... 101

4.3 L’execució d’un programa ........................................................................................ 101 4.3.1 Definicions .............................................................................................................................. 101 4.3.2 Execució deductiva ................................................................................................................. 103 4.3.3 L’espai de solucions ................................................................................................................ 106 4.3.4 Intervenint en el control ......................................................................................................... 107

SESSIÓ 28: Dominis simples i operacions................................................................. 111

4.4 Dominis ................................................................................................................... 111 4.4.1 Dominis simples ...................................................................................................................... 111 4.4.2 Operacions .............................................................................................................................. 112

SESSIÓ 29: Dominis compostos i operacions ........................................................... 115 4.4.3 Dominis compostos ................................................................................................................ 115

SESSIÓ 30: Llistes .................................................................................................... 119 4.4.4 Llistes ...................................................................................................................................... 119 4.4.5 Problemes ............................................................................................................................... 123

SESSIÓ 31: Lectura i escriptura ................................................................................ 125

4.5 Lectura i escriptura .................................................................................................. 125 4.5.1 Lectura .................................................................................................................................... 125 4.5.2 Escriptura ................................................................................................................................ 126 4.5.3 Sistema de fitxers ................................................................................................................... 127

SESSIÓ 32: Fets dinàmics ........................................................................................ 129

4.6 Bases de dades internes ........................................................................................... 129 4.6.1 Fets dinàmics .......................................................................................................................... 129

SESSIÓ 32: Altres característiques ........................................................................... 135

4.7 Altres característiques ............................................................................................. 135 4.7.1 Altres característiques ............................................................................................................ 135

Annexos ................................................................................................................. 137

I Problemari CP0 ..................................................................................................... 137

Problemes ..................................................................................................................... 137 1 Representació en CP0 ................................................................................................................... 137 2 Teoria de la Demostració: Deducció Natural ................................................................................ 138 3 Sistema Axiomàtic-Deductiu ........................................................................................................ 140 4 Àlgebra de Boole i Formes Normals ............................................................................................. 142 5 Teoria De Models: Interpretacions, Taules De Veritat I Quine .................................................... 144

Page 8: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

4

6 Teoria de la Demostració: Resolució ............................................................................................ 146 7 Estratègies de Resolució .............................................................................................................. 147 8 Complementaris ........................................................................................................................... 149

Algunes solucions .......................................................................................................... 157 Solució 2.8 ....................................................................................................................................... 157 Solució 2.9 ....................................................................................................................................... 158 Solució 3.1a ...................................................................................................................................... 158 Solució 3.1c ...................................................................................................................................... 159 Solució 3.6 ....................................................................................................................................... 159 Solució 4.2b ..................................................................................................................................... 159 Solució 4.3a ...................................................................................................................................... 160 Solució 5.6a ...................................................................................................................................... 161 Solució 5.10a .................................................................................................................................... 161 Solució 6.2a ...................................................................................................................................... 162

II Problemari CP1 .................................................................................................... 165

Càlcul de Predicats (CP1) ................................................................................................ 165 1. REPRESENTACIÓ DEL CONEIXEMENT EN CP1 .............................................................................. 165 2. FORMES NORMALS ...................................................................................................................... 167 3. SUBSTITUCIONS I UNIFICACIÓ ..................................................................................................... 168 4. RESOLUCIÓ I ESTRATÈGIES ........................................................................................................... 169 5. TEORIA DE MODELS EN CP1 ......................................................................................................... 173 6. Complementaris .......................................................................................................................... 175

Algunes solucions .......................................................................................................... 178 Exercici 1.1 ....................................................................................................................................... 178 Exercici 2.3 ....................................................................................................................................... 178 Exercici 3.1 ....................................................................................................................................... 179 Exercici 3.2 ....................................................................................................................................... 179 Exercici 3.3 ....................................................................................................................................... 179 Exercici 3.4 ....................................................................................................................................... 180 Exercici 3.5 ....................................................................................................................................... 180 Exercici 3.6 ....................................................................................................................................... 181

III Exercicis pràctics de Prolog ................................................................................. 183

Glossari .................................................................................................................. 197

Bibliografia ............................................................................................................ 207

Page 9: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

5

SESSIÓ 1: Una introducció

FITXA DE LA SESSIÓ

Nom: Una introducció Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

Donar una introducció al concepte de lògica.

CONTINGUTS

En aquesta sessió veurem en primer lloc algunes idees que defineixen què és una lògica. Desprès farem un petit recull de la història de la lògica i finalment donarem una classificació de les lògiques.

1 Introducció

1.1 Què és una lògica?

1.1.1 Què és una lògica?

Les lògiques van néixer com un intent de mecanitzar els processos del raonament. La lògica s‟utilitza per representar coneixement (informació) i poder inferir (raonar, deduir) nou coneixement. Les tasques mecanitzables amb lògica són, per una banda, les purament algorísmiques (càlculs, cerca, classificació,..) i per una altra, les que necessiten deduccions.

Lògica = llenguatge formal + regles d’inferència

Una lògica formal consta d‟un llenguatge formal per poder representar informació (coneixement) i un conjunt de regles d‟inferència per fer noves deduccions. Un llenguatge és formal si la sintaxi del llenguatge està definida formalment i per tant és possible programar un analitzador sintàctic per reconèixer una frase del llenguatge. Una regla d’inferència permet derivar immediatament una conclusió a partir d‟un conjunt de hipòtesis. Depenent de la definició del llenguatge i de la definició de les regles d‟inferència tindrem una lògica o una altra.

Page 10: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

6

Sintaxi i semàntica

Una lògica pot definir-se des de dos punts de vista diferents però equivalents: - Punt de vista semàntic - Punt de vista sintàctic La semàntica té a veure amb el concepte d‟interpretació i la sintaxi amb el concepte de deducció. Al llarg del curs estudiarem el càlcul proposicional i el càlcul de predicats de primer ordre des de aquests punts de vista.

Deducció

La lògica formal estudia la deducció (el raonament deductiu). La deducció és el procés capaç de generar nou coneixement (expressat amb el llenguatge) a partir d‟un altre coneixement (expressat amb el llenguatge) i de regles d‟inferència.

Dos models de deducció

Els models de deducció són sintàctics. És a dir, les regles d‟inferència defineixen la sentència generada (deduïda) a partir de “models” de hipòtesis sense conèixer la semàntica associada. Per exemple, a partir de les sentencies A B i A es pot deduir B. Aquesta regla d‟inferència s‟anomena modus ponens. Estudiarem dos models diferents de deducció: l‟axiomàtic i el deductiu. El sistema axiomàtic es basa en un conjunt d‟axiomes i una sola regla d‟inferència. Aquest model està molt a prop dels mètodes matemàtics. El sistema deductiu es basa en un conjunt de regles d‟inferència. Aquest model està més a prop dels mètodes computacionals.

Valors de veritat

Els valors de veritat (cert o fals) fan referència amb l‟aspecte semàntic (interpretacions) de la lògica. Durant el curs estudiarem la teoria de models tant per al càlcul proposicional com per al càlcul de predicats de primer ordre.

1.2 Una mica de història

1.2.1 Una mica de història

El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria del raonament sil·logista. Podem dir que 1930 és l‟inici de la demostració automàtica de teoremes amb els treballs de Gödel, Skolem, Church, Kleene, Turing, Herbrand i Löwenheim. Gairebé 30

Page 11: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

7

anys després, és quan podem dir que comença realment la demostració automàtica de teoremes. El principi de resolució de Robinson, als anys 60, va ser una aportació molt important per a la programació lògica. A continuació donem un extracte de la història de la lògica sense voler ser exhaustius.

Lògica Antiga:

L‟Erística, La Sofística, Plató. Lògica Aristotèlica (384 AC): Organon, Categories, Tòpics, Sil·logística. Lògica Estoica: Megàrics, Modalitats, Condicionals, Esquemes. Lògica Romana: Ciceró, Boeci.

Lògica Medieval: Alcuino, Abelardo, Ockham.

Lògica Moderna (segle XVII):

Hobbes Leibniz : va suggerir l‟idea d‟ordenar les veritats lògiques que són la base de la

definició de la demostració formal

Lògica Contemporània (segle XIX):

Boole (1815..1867): “The laws of thought”, va fer l‟analogia entre les operacions algebraiques i les operacions lògiques i va incorporar així la lògica a les matemàtiques, reduint consegüentment la lògica a l‟àlgebra (àlgebres de Boole)

De Morgan (1806..1871): Anàlisi matemàtica de la lògica

Lògica clàssica (segle XX):

Hilbert (1920): Axiomatització de les matemàtiques Russell: Fonaments de la matemàtica Gödel (1936): Teorema d‟incompletitut Tarski, Herbrand (1930): Enfocament semàntic (interpretacions) Church: Indecidibilitat i Tesi de Church. Gentzen (1909..1945): proposta de la deducció natural, va fer de la lògica un

sistema més pròxim al raonament matemàtic que d‟altres sistemes anteriors Gilmore, Davis & Putnam (1960): Primeres implementacions en ordinador. Es

comença a veure la lògica al servei de la informàtica. Robinson (1965): Principi de resolució, mètode de deducció molt eficient

Page 12: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

8

Green (1969): Sistemes deductius de pregunta-resposta Colmerauer (1972): Prolog

1.3 Classificació de les lògiques

1.3.1 Classificació de les lògiques

Les lògiques es divideixen en dos grups: les lògiques clàssiques i les lògiques no clàssiques. Durant aquest curs estudiarem les primeres.

Lògiques clàssiques

Les lògiques anomenades clàssiques són: - El càlcul proposicional (CP0). - El càlcul de predicats de primer ordre (lògica de primer ordre o CP1). Les estudiarem en la primera part del curs, ja que el càlcul de proposicions és la base de la lògica i el càlcul de predicats de primer ordre s‟utilitza en moltes aplicacions computacionals: anàlisi i síntesi de programes, programació lògica, representació del coneixement, etc. Per cada una d‟elles n‟estudiarem la sintaxi (teoria de la deducció) i la semàntica (teoria de models).

Lògiques no clàssiques

El càlcul de predicats de primer ordre és insuficient per formalitzar alguns tipus de coneixement, com per exemple aquells relacionats amb temps, informació incerta, etc. Les lògiques no clàssiques agrupen, doncs, tots els sistemes formals lògics que han estat definits, alguns com extensions o modificacions de la lògica de primer ordre. Les lògiques no clàssiques poden ser dividides en dos grups: - Les que poden ser considerades com una competència a la lògica clàssica: lògiques multi-avaluades, lògica parcial, lògica lliure, lògica intuïcionista i lògica difusa. - Les que generalitzen la lògica clàssica: lògiques modals que s‟especialitzen en lògica temporal, lògica dinàmica i d‟altres.

RESUM

Una lògica és un llenguatge formal amb què representem coneixement i un conjunt de regles d‟inferència que ens permeten deduir nou coneixement.

Page 13: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

9

Les lògiques es classifiquen en lògiques clàssiques (càlcul proposicional i càlcul de predicats de primer ordre) i lògiques no clàssiques (modal, difusa,...).

Page 14: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

10

Page 15: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

11

SESSIÓ 2: Sintaxi

FITXA DE LA SESSIÓ

Nom: Sintaxi Tipus: teòrica Format: no presencial Durada: 1 hora Treball a lliurar: no

OBJECTIUS

Donarem les definicions bàsiques del llenguatge del càlcul proposicional.

CONTINGUTS

2 Càlcul proposicional

2.1 El llenguatge del Càlcul Proposicional

2.1.1 Sintaxi (CP0)

En el càlcul proposicional estem interessats en sentències declaratives que poden ser certes o falses però no en les dues alhora.

Proposició

Una proposició o àtom és una sentència declarativa que és certa o falsa. Algunes proposicions són: Joan és enginyer, La neu és blanca, Als estudiants de lògica els agraden les matemàtiques, ... Usarem les lletres P, Q, R per a notar els àtoms.

Connectors i prioritat

Amb les proposicions i els connectors podem construir proposicions més complexes i que expressin més informació. Algunes proposicions complexes són: La neu és blanca i el cel és blau, Si véns a veure’m avui, anirem al cinema, Els homes són alts o són baixos, .... En la lògica proposicional utilitzarem els connectors següents:

i , , ,

Page 16: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

12

per notar la negació (“no”), la conjunció (“i”, AND), la disjunció (“o”, OR), el condicional (“implica”, Si...aleshores..) i l‟equivalència (Si i només si) respectivament. Aquest últim connector es defineix utilitzant el condicional i la conjunció. Els connectors tenen la següent prioritat decreixent:

i , , ,

Altres connectors

Hi ha altres connectors no tan utilitzats però que presentarem a títol informatiu: 1. El connector o exclusiu (XOR), notat:

i definit de la següent manera:

B) (A B) (A B A

2. El connector nor (NOR), notat:

i definit de la següent manera:

B) (A B A

3. El connector barra de Sheffer (NAND), notat:

i definit de la següent manera:

B) (A B A

Fórmula ben formada (fbf)

S‟anomena fórmula tot aquell àtom, o tota aquella expressió, formada a partir d‟àtoms i connectors segons les següents regles: 1. Un àtom és una fórmula 2. Si P és una fórmula, aleshores ¬P és una fórmula 3. Si P i Q són fórmules també ho són:

Q P

Q P

Q P

Q P

(P)

A les fórmules definides d‟aquesta manera les anomenarem fórmules ben formades (a partir d‟ara fbf).

Page 17: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

13

Alguns exemples de fbf’s

Algunes fórmules ben formades representen informació diversa: Si plou no surtis al carrer. ( P = Plou , C = No surtis al carrer )

C P

Hi ha aigua fresca a la nevera i natural dins l’armari. ( F = Hi ha aigua fresca a la nevera, N = Hi ha aigua natural dins l‟armari )

N F

Odiava tot aquell qui es creuava en el seu camí o qui li duia la contrària. ( C = Odiava tot aquell qui es creuava en el seu camí, D = ...li duia la contrària )

D C

RESUM

Hem estudiat les definicions bàsiques del llenguatge del CP0.

Page 18: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

14

Page 19: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

15

SESSIÓ 3: Interpretacions,

conseqüència lògica, validesa i

inconsistència

FITXA DE LA SESSIÓ

Nom: Interpretacions, conseqüència lògica, validesa i inconsistència Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no

PRECEDENTS

En les sessions precedents hem estudiat la teoria de la deducció: la deducció natural i el sistema axiomàtic-deductiu.

OBJECTIUS

Estudiar la teoria de models del càlcul proposicional.

CONTINGUTS

2.1.2 Interpretacions i Taules de veritat

Interpretació

Una interpretació és una atribució de significat a un àtom (proposició atòmica). En el càlcul proposicional, això vol dir assignar-li un valor de veritat: cert(V) o fals(F). Una interpretació d‟una fórmula és una assignació de valors de veritat a cadascun dels àtoms que la formen. Per a una fórmula amb n àtoms diferents, hi ha 2n interpretacions diferents. En l‟exemple següent es mostra una taula amb totes les combinacions de valors de veritat

(interpretacions) per la fórmula (¬P (Q P )) Q i el valor de la fórmula corresponent.

P Q ¬P (¬P (Q P )) (¬P (Q P )) Q

F F V F V

F V V F V

V F F V F

V V F V V

Page 20: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

16

Taules de veritat

Per poder avaluar una fórmula des d‟una interpretació necessitem saber com s‟avaluen els connectors en termes dels valors de veritat del àtoms. Les taules que defineixen com s‟avaluen els connectors s‟anomenen taules de veritat. Podeu consultar-les a la taula 2.1 de la referència.

P Q ¬P P Q P Q P Q P ↔ Q

V V F V V V V

V F F F V F F

F V V F V V F

F F V F F V V

Un exemple

A una fórmula qualsevol, li podem construir la seva taula de veritat. La següent taula

2.4 és la taula de veritat per a una fórmula donada: (¬P (Q P )) Q

P Q ¬P (¬P (Q P )) (¬P (Q P )) Q

F F V F V

F V V F V

V F F V F

V V F V V

Com podeu observar, la fórmula té 4 interpretacions:

P=F i Q=F P=F i Q=V P=V i Q=F P=V i Q=V

Una fórmula G és certa des d‟una interpretació I si i només si G avalua cert (V) en la interpretació. Altrament, és falsa des de la interpretació I.

Model

S‟anomena model d‟una fórmula tota interpretació que la fa certa. Si ens fixem en la taula anterior, podem observar que hi ha 4 interpretacions, de les quals 3 són models.

Fórmula vàlida

Si totes les interpretacions d‟una fórmula són models, aleshores la fórmula és vàlida. A una fórmula vàlida també se l‟anomena tautologia.

Page 21: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

17

Fórmula inconsistent

Si per a totes les interpretacions possibles una fórmula avalua fals, aleshores la fórmula és inconsistent (o insatisfactible).

Fórmula consistent

Si per a algunes interpretacions avalua cert i per a d‟altres fals, aleshores la fórmula és consistent (o satisfactible).

2.1.3 Conseqüència lògica, validesa i inconsistència

En algunes ocasions voldríem saber quan una fórmula és una conseqüència d‟altres fórmules. Aquest concepte, que en teoria de models s‟anomena conseqüència lògica, és equivalent al concepte de deducció que s‟estudia en la teoria de la demostració. Més endavant estudiarem algunes propietats que relacionen la teoria de la demostració amb la teoria de models.

Conseqüència lògica

G és una conseqüència lògica de F1, F2,...Fn si per tota interpretació per la qual F1, F2, ...Fn són certes també G és certa sota la mateixa interpretació. Si G és una conseqüència lògica de F1, F2,...Fn, aleshores es pot notar:

F1,F2,....Fn |= G

Teorema 1 de validesa

Donades F1, F2,..Fn y una fbf G, G és una conseqüència lògica de F1, F2,...Fn si i només si la fbf següent és vàlida.

G Fn ... F2 F1

Aquest teorema defineix el concepte de conseqüència lògica en termes de validesa. Si G és una conseqüència lògica de F1, F2,...Fn, aleshores podem escriure:

G Fn ... F2 F1

Teorema 2 d’inconsistència

Donades F1, F2,..Fn y una fbf G, G és una conseqüència lògica de F1, F2,...Fn si i només si la fbf següent és inconsistent.

G) Fn ... F2 F1(

Page 22: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

18

Aquest teorema defineix el concepte de conseqüència lògica en termes d‟inconsistència: Si G és una conseqüència lògica de F1, F2,...Fn, aleshores podem escriure:

G) Fn ... F2 F1(

Propietats de |=

S‟acompleix:

B | B A A,

B An | 1-A2,....An A1, si només i si B|An A2,....,A1,

Equivalències lògiques

A és lògicament equivalent a B,

veritatde taulamateixa la tenen B iA si només i si

B) (A | si només i si

A) (B B) (A | si només i si

A B | i B A | si només i si

A | B i B |A si només i si

Aplicació de la teoria de models per fer demostracions de

raonaments

Per demostrar que una fórmula és conseqüència lògica d‟altres fórmules podem aplicar la definició de conseqüència lògica, el teorema 1 o el teorema 2. En el primer cas hauríem de construir una taula de veritat i provar que cada vegada que les premisses F1,F2,,Fn són certes també ho és la conclusió G. En el segon cas hauríem de construir una taula de veritat i provar que la fórmula construïda és vàlida verificant que totes les interpretacions són models. En el tercer cas hauríem de construir una taula de veritat i provar que la fórmula construïda és inconsistent verificant que totes les interpretacions avaluen fals. Posarem en pràctica aquests mètodes en la pròxima sessió de problemes.

RESUM

Hem estudiat els formalismes més importants de la teoria de models.

Page 23: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

19

SESSIÓ 4: Problemes

FITXA DE LA SESSIÓ

Nom: Problemes Tipus: de problemes Format: no presencial Durada: 2 hora Treball a lliurar: no

OBJECTIUS

Exercitar-nos en els formalismes de la teoria de models.

CONTINGUTS

A continuació proposem un conjunt de problemes tipus per resoldre i alguns de resolts.

2.1.4 Problemes

Construcció d’una taula de veritat per a una fórmula

Construïu les taules de veritat per a les fórmules del següent exercici. Digueu quines interpretacions són models.

Problemari CP0 (Exercici 5.2)

Demostració de validesa d’una fórmula mitjançant taules

de veritat

Demostreu que la següent fórmula és valida utilitzant la seva taula de veritat.

Problemari CP0 (Exercici 5.9a)

Demostració de la inconsistència d’una fórmula

mitjançant taules de veritat. Problema resolt

Demostreu que la següent fórmula és inconsistent utilitzant la seva taula de veritat.

Problemari CP0 (Exercici 5.10a, Solució 5.10a)

Page 24: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

20

Demostració que una fórmula és conseqüència lògica

d’altres fórmules mitjançant taules de veritat

Feu l‟exercici següent:

Problemari CP0 (Exercici 5.8)

RESUM

Hem proposat alguns problemes significatius per a l‟aplicació de la teoria de models.

Page 25: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

21

SESSIÓ 5: Formes normals i Clàusules

FITXA DE LA SESSIÓ

Nom: Formes normals i Clàusules Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 4 hores Treball a lliurar: no

PRECEDENTS

Fins ara hem estudiat formalismes de deducció.

OBJECTIUS

En aquesta sessió estudiarem l‟àlgebra de Boole que ens permet de transformar fórmules ben formades i obtenir diferents formes normals.

CONTINGUTS

2.2 Formes normals i clàusules

2.2.1 Formes normals

Definició de Forma Normal Conjuntiva (FNC)

Qualsevol fórmula ben formada pot ser transformada en dues formes normals, la forma normal conjuntiva i la forma normal disjuntiva.

Una fbf està en forma normal conjuntiva (FNC) si i només si F té la forma F1 F2 F3 ... Fn, n >=1 en què cada Fi és una disjunció de literals.

(... ... ... .....) (. .... ...) ............... (... ...... ......)

Exemple: (P Q R) ( P Q)

Definició de Forma Normal Disjuntiva (FND)

De la mateixa manera que hem definit la FNC, definim la FND.

Una fbf està en forma normal disjuntiva (FND) si i només si F té la forma F1 F2

F3 ... Fn, n >=1 en què cada Fi és una conjunció de literals.

Page 26: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

22

(... ... ... .....) (. .... ...) ............... (... ...... .....)

Exemple: (P Q R) ( P Q)

Transformació de fórmules a formes normals

Tota fórmula de CP0 es pot transformar mitjançant un algorisme en forma normal conjuntiva o en forma normal disjuntiva. Per a les transformacions s‟utilitzen les lleis de l‟àlgebra de Boole que donem a l‟apartat 2.2.2. El següent exemple mostra la transformació de la fórmula

( A ¬B ) ( A B C ) ( ¬( ¬D B A ) ¬( C A ) ) en la seva forma normal disjuntiva.

Eq: ( A ¬B ) ( ¬(A B) C ) ( ¬( ¬¬D (B A) ) ¬( C A ) )

Inv: ( A ¬B ) ( ¬(A B) C ) ( ¬( D (B A) ) ¬( C A ) )

DeMorgan: ( A ¬B ) ( ¬A ¬B C ) ( ¬ D ¬(B A) ) (¬ C ¬A ) )

DeMorgan: ( A ¬B ) ( ¬A ¬B C ) ( ¬ D (¬B ¬ A) ) (¬ C ¬A ) )

Distr: ( A ¬B ) ( ¬A ¬B C ) ( (¬ D ¬B) (¬ D ¬ A) ) (¬ C ¬A ) )

Distr: ( A ¬B ) ( ¬A ¬B C ) ( (¬ D ¬B ¬ C) (¬ D ¬B ¬ A)

(¬ D ¬A ¬ C) (¬ D ¬A ¬A))

Idem: ( A ¬B ) ( ¬A ¬B C ) ( (¬ D ¬B ¬ C) (¬ D ¬B ¬ A)

(¬ D ¬A ¬ C) (¬ D ¬A ))

Assoc: ( A ¬B ) ¬A ¬B C (¬ D ¬B ¬ C) (¬ D ¬B ¬ A) (¬ D

¬A ¬ C) (¬ D ¬A )

Clàusula i clàusula de Horn

Per poder aplicar el principi de resolució (teoria de la demostració), les fórmules han de ser transformades en un conjunt de clàusules. Un conjunt de clàusules és una conjunció de disjuncions. Per tant, la transformació en conjunt clausal equival a trobar la forma normal conjuntiva de la fórmula. Una clàusula és una disjunció de zero o més literals. Una clàusula de Horn és una clàusula que té com a màxim un literal positiu. Utilitzarem les clàusules de Horn en la programació lògica.

2.2.2 L’àlgebra de Boole

L‟àlgebra de Boole ens dóna un conjunt de lleis molt útils per transformar fórmules ben formades i poder fer proves d‟inconsistència i de validesa que veurem més endavant.

Page 27: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

23

Formalment s‟anomena àlgebra de Boole tot reticle (conjunt ordenat en què dos elements qualssevol tenen un suprem i un ínfim) distributiu en què a cada element li correspon un complementari (respecte a les fites fals i cert).

El fals es representa amb: El cert es representa amb: ■.

El conjunt de totes les proposicions formen una àlgebra de Boole si es considera la relació binària |- definida per:

B B A A B A B -A

Aquesta relació té les propietats de reflexivitat, antisimetria i transitivitat.

Lleis de l’Àlgebra de Boole

Les propietats de l‟àlgebra de Boole poden ser reformulades en forma de lleis:

Idempotència: A A = A A A = A

Commutativitat: A B = B A A B = B A

Associativitat: A (B C) = (A B) C A (B C) = (A B) C

Absorció: A (B A) = A A (B A) = A

Distributivitat: A (B C) = (A B) (A C) A (B C) = (A B) (A C)

Ínfim: A = A = A

Suprem: A ■ = A A ■ = ■

Complementarietat: A ¬A = A ¬A = ■

Lleis derivades

Les lleis derivades són teoremes de l‟àlgebra de Boole:

DeMorgan: ¬(A B) = ¬A ¬B ¬(A B) = ¬A ¬B Involució: ¬¬A = A

Equivalències: A B = ¬A B A B = (A B) (B A)

Fórmules equivalents

Dues fórmules poden ser considerades equivalents si en transformar-les utilitzant les lleis de l‟àlgebra de Boole arribem a la mateixa fórmula.

Demostracions

Les formes normals i l‟àlgebra de Boole permeten construir demostracions correctes en CP0. Hi ha dos tipus de demostració, segons es faci servir la FNC o la FND. Suposem que volem demostrar A |- B.

Page 28: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

24

Demostració de validesa: Aquest mètode consisteix a fer servir la FND. Convertim de la següent manera el que volem demostrar:

B A B A - B -A ■

La idea és transformar la fórmula en FND i reduir aquesta última fbf al suprem mitjançant les lleis de l‟àlgebra de Boole. Demostració refutatòria: Aquest mètode consisteix a fer servir la FNC. Convertim de la següent manera el que volem demostrar:

B A B A - B -A

La idea és transformar la fórmula en FNC i reduir aquesta última fbf a l‟ínfim mitjançant les lleis de l‟àlgebra de Boole.

2.2.3 Problemes

Transformació d’una fbf de CP0 en FNC

Transformeu les següents fórmules en FNC.

Problemari CP0 (Exercici 4.4 b i d)

Transformació d’una fbf de CP0 en FND

Transformeu les següents fórmules en FND.

Problemari CP0 (Exercici 4.5 b i d)

Demostració de l’equivalència de dues fórmules.

Problema resolt

Demostreu l‟equivalència de les fbf‟s següents, utilitzant l‟àlgebra de Boole.

Problemari CP0 (Exercici 4.2b, Solució 4.2b)

Page 29: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

25

Demostrar l’equivalència de dues fórmules

Verifiqueu l‟equivalència de les fbf‟s següents. Si ho són, demostreu-ho utilitzant l‟àlgebra de Boole.

Problemari CP0 (Exercici 4.2a)

Demostrar un raonament. Problema resolt

Demostreu el següent raonament fent servir l‟àlgebra de Boole i les formes normals.

Problemari CP0 (Exercici 4.3a, Solució 4.3a)

Demostració d’un raonament

Demostreu el següent raonament fent servir l‟àlgebra de Boole i les formes normals.

Problemari CP0 (Exercici 4.3b)

RESUM

En aquesta sessió s‟han estudiat les dues formes normals del càlcul proposicional i el procediment per transformar qualsevol fórmula de CP0 en forma normal conjuntiva o forma normal disjuntiva. S‟han donat les lleis de l‟àlgebra de Boole per poder transformar fbf‟s. Hem vist dos mètodes de demostració utilitzant Boole i les formes normals.

Page 30: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

26

Page 31: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

27

SESSIÓ 6: Teoria de la demostració:

Deducció Natural

FITXA DE LA SESSIÓ

Nom: Teoria de la demostració: Deducció Natural Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no

OBJECTIUS

Estudiar el sistema deductiu natural per a la demostració (raonament) de nou coneixement.

CONTINGUTS

2.3 Teoria de la demostració

2.3.1 Deducció natural (DN)

La deducció natural és un cert conjunt de regles d‟inferència que permet construir deduccions. Recordem que en la sessió anterior hem estudiat com es representa el coneixement, però això era amb l‟objectiu de poder provar (deduir) nou coneixement.

Demostrable

Sigui S un conjunt de fbf‟s F1, F2,....Fn anomenades hipòtesis o premisses i P una fbf. P és deduïble o demostrable a partir de S si existeix una seqüència finita de fbf‟s P1, P2,...Pm de manera que: 1. Pm = P 2. Cada Pi 1 <= i <=m, és una fbf de S o és una conseqüència directa de les Pi anteriors obtinguda per l‟aplicació d‟una regla d‟inferència. Aquest fet s‟escriu : F1, F2,....Fn |- P El símbol |- separa les premisses (part esquerra) de la conclusió (part dreta).

Prova

La seqüència de Pi‟s s‟anomenarà prova de P des de S.

Page 32: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

28

Teorema

P és un teorema si P és deduïble del conjunt buit. Aquest fet es nota |- P.

Regles de demostració o inferència de la deducció natural

Les regles d‟inferència en què es basa la deducció natural són un conjunt de regles específiques per cada connector. Així podem introduir o eliminar certs connectors de les nostres fórmules amb la finalitat de fer una prova. El conjunt de regles d‟inferència que farem servir són:

i : A, B ├ A B

e : A B ├ A i A B ├ B

i : A ├ A B i B ├ A B

e : si , A ├ C i , B ├ C llavors , A B ├ C (o prova per casos)

i : si , A ├ B llavors ├ A B

e : A, A B ├ B (o modus ponens)

i¬: si , A ├ B i , A ├ ¬B llavors ├ ¬A (o reducció a l‟absurd)

e¬: ¬¬A ├ A

H: si ├ S llavors , A ├ S

Aquestes regles són merament sintàctiques ja que ens permeten la manipulació simbòlica de fórmules.

Regles derivades

A partir de les regles bàsiques de la deducció natural podem derivar altres regles que es fan servir molt sovint i que ens faciliten les proves. Aquestes regles són:

Sil·logisme disjuntiu (SD): A B, ¬A ├ B

Modus Tollens (MT): A B, ¬B ├ ¬A

Sil·logisme hipotètic (SH): A B, B C ├ A C

Resolució (versió Robinson)(R): ¬A B, A C ├ B C

Eliminació feble de negat: A ¬A ├ B

Resolució (versió medieval): A B, ¬A C├ B C

Regla d‟incompatibilitat (IC): ¬(A B ), A ├ ¬B

Alguns teoremes

Com hem vist abans un teorema és tota proposició P demostrable sense cap premissa. Una propietat molt important dels teoremes és el fet de poder-los introduir

Page 33: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

29

en qualsevol punt d‟una demostració. Aquesta introducció d‟un teorema la farem posant una línia en la demostració amb les lletres IT (introducció de teorema). Alguns teoremes són:

Principi d’identitat (PI): A A -

Principi de no-contradicció (PNC): A) (A -

Principi del tercer exclòs (PTE): A A -

Aquests teoremes formalitzen els tres principis bàsics d‟Aristòtil. En la sessió de problemes trobareu altres teoremes per provar.

Equivalències deductives

Una fbf P és deductivament equivalent a una altra fbf Q si i només si (P |- Q) i (Q |- P). L‟equivalència deductiva es nota: P -||- Q. Les equivalències deductives més importants són:

A B -||- ¬A B

A B -||- ¬( A ¬B )

A B -||- ( A B) ( B A )

¬ (A B) -||- ¬A ¬ B

¬ (A B) -||- ¬A ¬ B

A B -||- ¬ B ¬A ¬A B ¬ (A ¬B)

¬ (A B) -||- A ¬B

A B C -||- ¬A ¬ B C Regles de reescriptura, simplificacions: commutativitat, associativitat i distributivitat.

Principi de substitució

En qualsevol punt d‟una demostració podem substituir una fbf per un equivalent deductiu seu. Aquesta substitució la farem posant una línia en la demostració amb el símbol ED n (equivalent deductiu de la fórmula de la línia n).

Teorema de la deducció

El teorema de la deducció és fonamental en la deducció natural i en general en la teoria de la demostració. El teorema és:

P Fn - 1-F2,...FnF1, si només i si P -F2,...Fn F1,

Page 34: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

30

Farem servir aquest teorema en les proves.

Tipus de demostració

Una demostració es pot fer utilitzant diferents estratègies depenent de la forma de la conclusió que volem demostrar. Si la conclusió és una fbf tenint el connector “implica” com a connector principal, utilitzarem el teorema de la deducció. En cas contrari, podem provar de fer una deducció directa o una deducció per reducció a l‟absurd. Fer una deducció directa vol dir que a partir de les premisses originals hem d‟arribar a la conclusió. Fer una deducció per reducció a l’absurd vol dir introduir com a hipòtesi el negat de la conclusió i arribar a una contradicció. Podem veure l‟aplicació d‟aquestes tècniques en la sessió de problemes.

RESUM

Hem introduït les nocions bàsiques de la teoria de la demostració presentant la deducció natural.

Page 35: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

31

SESSIÓ 7: Problemes

FITXA DE LA SESSIÓ

Nom: Problemes Tipus: de problemes Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

Exercitar-nos en la teoria de la demostració mitjançant les regles de la deducció natural.

CONTINGUTS

A continuació proposem un conjunt de demostracions a fer. S‟hi inclouen algunes demostracions ja fetes.

2.3.2 Problemes de deducció natural

Demostració de regles derivades. Problema resolt

Demostreu les regles derivades: l‟eliminació feble del negat, el sil·logisme hipotètic i el sil·logisme disjuntiu. Podeu trobar les proves a la referència.

Problemari CP0 (Exercici 2.8, Solució 2.8)

Demostració de regles derivades

Demostreu les regles derivades: el modus tollens, la resolució (medieval), la resolució i la regla d‟incompatibilitat.

Demostració de teoremes. Problema resolt

Demostreu els teoremes següents: el principi d‟identitat, el principi de no-contradicció i el principi del tercer exclòs. Els enunciats d‟aquests teoremes són a la sessió teòrica corresponent. Consulteu les demostracions a la referència.

Problemari CP0 (Exercici 2.9, Solució 2.9)

Page 36: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

32

Demostració de teoremes

Demostreu els teoremes següents:

Problemari CP0 (Exercici 2.4)

Demostració d’equivalències deductives

Demostreu les següents equivalències deductives:

Problemari CP0 (Exercici 2.5 a, b, c i d)

Demostracions de conclusions a partir d’un conjunt de

premisses

Feu les següents demostracions.

Problemari CP0 (Exercicis 2.6 i 2.7)

RESUM

Hem vist l‟aplicació de la deducció natural per fer proves.

Page 37: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

33

SESSIÓ 8: Un sistema axiomàtic-

deductiu

FITXA DE LA SESSIÓ

Nom: Un sistema axiomàtic-deductiu Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no

PRECEDENTS

En les sessions anteriors hem estudiat el llenguatge del CP0 i un formalisme, la deducció natural, per fer demostracions.

OBJECTIUS

Estudiar un altre formalisme per a la demostració: un sistema axiomàtic-deductiu.

CONTINGUTS

2.3.3 Un sistema axiomàtic-deductiu

Hi ha diferents maneres d'axiomatitzar el càlcul proposicional. Diferents autors han definit diferents sistemes formals. Nosaltres hem escollit el que presenta Davis en el seu llibre.

Sistema formal axiomàtic

Un sistema axiomàtic es basa en un conjunt d‟axiomes i en una única regla d‟inferència. Així, les proves es fan instanciant axiomes i aplicant la regla d‟inferència. El conjunt d‟axiomes que utilitzarem és:

Per qualsevol fbf α, ß i qualsevol de les sentències següents són axiomes.

AX1. α (ß α)

AX2. ( α (ß ) ) ( (α ß) (α ) )

AX3. ( ¬α ¬ß ) ( (¬α ß) α)

Aquest conjunt es considera mínim. Com podeu observar, els axiomes fan servir només els connectors implica i negat. És indispensable, doncs, donar una equivalència entre els altres connectors i aquests. Les següents equivalències defineixen els altres connectors en termes de la implicació i la negació.

Page 38: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

34

EQ1. ( α ß ) ¬( α ¬ß )

EQ2. ( α ß ) ( ¬α ß )

EQ3. (α ß) ( α ß) ( ß α )

Instància

Els axiomes donats s‟han d‟entendre com esquemes, és a dir, cada lletra de les utilitzades en els axiomes representa una meta-variable. Així, es poden construir un número infinit d‟axiomes a partir dels esquemes donats tot substituint les meta-variables per fbf‟s.

Regla d’inferència

L‟única regla d‟inferència d‟aquest sistema és el modus ponens.

Per qualsevol α,ß,...

α ß, α ├ ß

Prova/Deducció

El concepte de prova o deducció és molt semblant al que es fa servir en la deducció natural. Sigui S un conjunt de fbf‟s F1, F2,....Fn anomenades hipòtesis o premisses i P una fbf. P és deduïble o demostrable a partir de S si existeix una seqüència finita de fbf‟s P1, P2,...Pm de manera que: 1. Pm = P 2. Cada Pi 1<= i <= m, és una fbf de S, és una conseqüència directa de les Pi anteriors obtinguda per l‟aplicació de la regla d‟inferència modus ponens o és un axioma. Aquest fet s‟escriu : F1, F2,....Fn |- P El símbol |- separa les premisses (part esquerra) de la conclusió (part dreta).

Prova

Una prova d‟un teorema a partir d‟un conjunt de premisses ( hipòtesi ) és una

seqüència de sentències que acaben en per tal que cadascuna d‟aquestes sentències sigui:

un element de , o un axioma, o una sentència inferida d‟altres sentències anteriors mitjançant Modus

Ponens.

Page 39: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

35

Teorema

P és un teorema si P és deduïble del conjunt buit. Aquest fet es nota per |- P.

Teorema de la deducció (Herbrand)

Si S és un conjunt de fbf, α i ß són fbf i S,α |– ß llavors S |– α ß.

En particular quan S és buit, α |– ß llavors |– α ß.

Lema

Per tot axioma P, |- P . És a dir tot axioma és un teorema.

Lema

A A

Lema de la transitivitat (Lema T)

C A - C B B, A

Lema del negat (Lema N)

B) (A A) B(

Aquests lemes faciliten algunes demostracions.

Alguns teoremes

Hi ha un grup de teoremes que poden ser provats amb el sistema axiomàtic-deductiu donat. Veurem i provarem aquests teoremes en la sessió de problemes.

RESUM

Hem estudiat un sistema axiomàtic-deductiu per poder realitzar la prova de raonaments.

Page 40: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

36

Page 41: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

37

SESSIÓ 9: Problemes

FITXA DE LA SESSIÓ

Nom: Problemes Tipus: de problemes Format: no presencial Durada: 3 hores Treball a lliurar: no

OBJECTIUS

Exercitar-nos en la teoria de la demostració mitjançant el sistema axiomàtic-deductiu estudiat en la sessió precedent.

CONTINGUTS

A continuació proposem un conjunt de demostracions a fer. S‟hi inclouen algunes demostracions ja fetes.

2.3.4 Problemes

Demostració d’alguns teoremes. Problema resolt

Consulteu la demostració d‟alguns teoremes.

Problemari CP0 (Exercici 3.1a i c, Solucions 3.1a i c)

Demostració d’alguns teoremes

Demostreu els següents teoremes:

Problemari CP0 (Exercici 3.1b i d)

Completar una demostració

Completeu la següent demostració:

Problemari CP0 (Exercici 3.3)

Page 42: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

38

Demostració d’un raonament. Problema resolt

Consulteu la demostració d‟un raonament.

Problemari CP0 (Exercici 3.6, Solució 3.6)

Demostració d’un raonament

Demostreu el següent raonament.

Problemari CP0 (Exercici 3.4)

RESUM

Hem donat alguns problemes resolts per mostrar com es fan les proves utilitzant el sistema axiomàtic vist. Hem proposat un conjunt de demostracions a fer.

Page 43: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

39

SESSIÓ 10: Teoria de la demostració:

resolució

FITXA DE LA SESSIÓ

Nom: Teoria de la demostració: resolució Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no

OBJECTIUS

Introducció al principi de resolució com un formalisme de la teoria de la demostració.

CONTINGUTS

2.4 Resolució

2.4.1 Principi de resolució

Després d‟haver estudiat la teoria de models tornem a la teoria de la demostració per presentar un formalisme deductiu de gran potència: el principi de resolució. Aquest mètode és complet i de gran facilitat d‟aplicació ja que només té una regla d‟inferència. El principi de resolució és una regla d‟inferència que genera resolvents a partir d‟un conjunt de clàusules. Aquesta regla va ser introduïda per Robinson l‟any 1965. Si el conjunt de clàusules inicial és inconsistent, la resolució trobarà sempre la clàusula buida.

Clàusula i clàusula de Horn

Per poder aplicar el principi de resolució, les fórmules han de ser transformades en un conjunt de clàusules. Un conjunt de clàusules és una conjunció de disjuncions. Per tant, la transformació en conjunt clausal equival a trobar la forma normal conjuntiva de la fórmula. Una clàusula és una disjunció de zero o més literals. Una clàusula de Horn és una clàusula que té com a màxim un literal positiu. Utilitzarem les clàusules de Horn en la programació lògica.

Page 44: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

40

Exemples:

¬P v ¬Q v R ¬P v ¬Q P (és la clàusula buida)

Literals complementaris

P i ¬P són literals complementaris.

Principi de resolució

El principi de resolució és una regla que s‟aplica a dues clàusules i que dóna com a resultat una tercera clàusula. Siguin C1 i C2 dues clàusules, si hi ha un literal L1 en C1 que és complementari a un literal L2 en C2, llavors elimineu L1 i L2 de C1 i C2 respectivament i construïu la disjunció del que queda en cada clàusula La clàusula així construïda s‟anomena una resolvent de C1 i C2. Exemple:

C1: P Q R S

C2: T R L _______________

Resolvent: P Q S T L

Teorema

Tota resolvent trobada a partir del principi de resolució es considera una conseqüència lògica.

Prova

Donat un conjunt de clàusules podem deduir una conclusió C si trobem una resolució que acabi en la clàusula buida. Donat un conjunt S de clàusules, una deducció de C des de S (una resolució) és una seqüència finita de clàusules:

C1 C2 … Ck

Page 45: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

41

de manera que,

cada Ci o és una clàusula de S o una resolvent de clàusules interiors a Ci i Ck=C. Una deducció de des de S és anomenada una refutació o prova de S.

Aplicació del principi de resolució

El principi de resolució és un mètode refutatiu, per tant, sempre provem la inconsistència d‟un conjunt de clàusules. Si volem demostrar:

F1, F2,...Fn |- B haurem de demostrar que la següent fórmula és inconsistent per resolució:

B Fn ..... F2 F1

Si volem demostrar la validesa d‟una fórmula haurem de demostrar que la fórmula negada és inconsistent.

Un exemple

Demostrar que la següent fórmula és un teorema tot utilitzant la regla d‟inferència de Resolució.

├ ( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) )

Si és un teorema, llavors el seu negat ha de ser inconsistent:

¬( ( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) ) ) Transformem a forma clausal:

¬( ¬( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) ) )

¬¬( ( P R ) ( Q S ) ) ¬( ( P Q ) ( R S ) )

( ( P R ) ( Q S ) ) ¬( ( P Q ) ( R S ) )

( ( P R ) ( Q S ) ) ¬( ¬( P Q ) ( R S ) )

( P R ) ( Q S ) ¬¬( P Q ) ¬( R S )

( P R ) ( Q S ) ( P Q ) ¬( R S )

( ¬P R ) ( ¬Q S ) ( P Q ) ¬( R S )

( ¬P R ) ( ¬Q S ) ( P Q ) ( ¬R ¬S )

( ¬P R ) ( ¬Q S ) P Q ( ¬R ¬S )

Page 46: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

42

Demostrem la inconsistència de:

( ¬P R ) ( ¬Q S ) P Q ( ¬R ¬S )

1. ¬P R

2. ¬Q S 3. P 4. Q

5. ¬R ¬S 6. 1,3 R 7. 5,6 ¬S 8. 2,7 ¬Q

9. 4,8

És inconsistent. Per tant, hem demostrat que és un teorema.

2.4.2 Estratègies de resolució

Les estratègies de resolució tracten de millorar el procés general en ambdós sentits. Per una banda, fer sistemàtica la resolució i per una altra, generar menys resolvents. Totes les estratègies de resolució poden ser aplicades a clàusules de CP0 o de CP1. Així, posposem l‟estudi de les estratègies de resolució a la sessió corresponent de càlcul de predicats CP1. Les diferents estratègies que estudiarem són:

1. Saturació amb esborrat. 2. Semàntica. 3. Lock . 4. Lineal. 5. Unitària. 6. Input.

RESUM

Hem estudiat el principi de resolució com un formalisme per fer demostracions. Hem introduït les estratègies de resolució però el seu estudi el posposem al capítol de càlcul de predicats.

Page 47: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

43

SESSIÓ 11: Teoria de la demostració:

resolució. Problemes

FITXA DE LA SESSIÓ

Nom: Teoria de la demostració: resolució. Problemes Tipus: de problemes Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

Exercitar-nos en fer demostracions utilitzant el principi de resolució.

CONTINGUTS

Proposem exercicis representatius en què hem d‟aplicar resolució.

2.4.3 Problemes

Demostració de conseqüència lògica mitjançant resolució

Demostreu la conseqüència lògica expressada en l‟exercici següent.

Problemari CP0 (Exercici 6.3)

Demostració d’inconsistència mitjançant resolució

Indiqueu, per a cadascun dels següents conjunts de fórmules, quins són inconsistents utilitzant resolució. Per a aquells conjunts als quals no pugueu arribar, doneu-ne una prova formal.

Problemari CP0 (Exercici 6.4)

Demostració de validesa mitjançant resolució. Problema

resolt

Demostreu que si una fórmula és vàlida és equivalent a dir que la fórmula és un teorema. Demostreu que la següent fórmula és un teorema utilitzant resolució.

Problemari CP0 (Exercici 6.2 a, Solució 6.2 a)

Page 48: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

44

Demostració de validesa mitjançant resolució

Demostreu que les següents fórmules són teoremes utilitzant resolució.

Problemari CP0 (Exercici 6.2 b i c)

RESUM

Hem proposat un conjunt de problemes representatius per aplicar el principi de resolució.

Page 49: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

45

SESSIÓ 12: Representació del

coneixement

FITXA DE LA SESSIÓ

Nom: Representació del coneixement Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no

PRECEDENTS

A les sessions anteriors hem estudiat el llenguatge del CP0 i les tècniques de demostració.

OBJECTIUS

Aprendre a utilitzar el llenguatge del CP0 per representar coneixement expressat en llenguatge natural o matemàtic.

CONTINGUTS

2.5 Representació del coneixement

2.5.1 Representació del coneixement

Des d‟un punt de vista formal una lògica pot ser considerada com un llenguatge i un sistema deductiu. Amb el llenguatge representarem la informació (el coneixement) i després amb el sistema deductiu podrem raonar. Així, és fonamental representar el coneixement. A continuació caracteritzem els tipus de proposicions que podem trobar en llenguatge natural i donem les possibles representacions utilitzant àtoms i connectors.

Proposicions d’acció, d’atribució de propietats i de

relació.

Plou, Fa fred, Estem a l’hivern, En Joan és enginyer, i La Maria és estudiosa són proposicions que poden ser representades mitjançant un àtom. Proposicions com En Joan és amic d’en Pep i La Maria té una pilota, també seran representades amb un àtom ja que el llenguatge del CP0 no és suficientment expressiu per poder expressar que dos objectes estan relacionats.

Page 50: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

46

Les proposicions Si ve la Maria, anirem al cinema i Si estudio força aleshores aprovaré l’examen representen una condició amb un antecedent i un conseqüent. Aquestes proposicions són compostes ja que estan formades per dos àtoms lligats amb un connector. Altres proposicions compostes poden formar-se utilitzant àtoms i connectors.

Representació de connectors

Cadascun dels connectors del llenguatge CP0 té la corresponent representació en el llenguatge natural. En alguns casos és fàcil reconèixer quin connector s‟ha d‟utilitzar i en altres casos no és tan evident. A continuació, per cada connector donem les possibles construccions en llenguatge natural que el representen. Disjunció ( “o”):

Q P

S‟utilitzarà el connector de disjunció entre dues proposicions P i Q en els següents casos:

- O P o Q o les dues coses alhora - Com a mínim P o Q - Almenys P o Q

Exemple:

La caixa és molt pesada o és buida. P = La caixa és molt pesada. Q = La caixa és buida.

Q P

Conjunció ( “i”):

Q P

S‟utilitzarà el connector de conjunció entre dues proposicions P i Q en els següents casos:

- P i Q - P però Q - P no obstant Q - P malgrat Q

Exemple:

Plou i surt el sol, Plou però surt el sol i Plou, no obstant això, surt el sol. P = Plou. Q = surt el sol.

Q P

Page 51: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

47

Implicació ( Si ... aleshores... ):

Q P

Aquest connector expressa una relació de causa i efecte. S‟utilitzarà el connector d‟implicació entre dues proposicions P i Q en els següents casos:

- Si P aleshores Q - Si P llavors Q - Si P doncs Q - P només si Q - Q si P - Q necessari per a P - P suficient per a Q - No P a menys que Q

Exemple:

Si véns aleshores anirem al cinema, Anirem al cinema si véns. P = véns. Q = anirem al cinema.

Q P

Negació (no):

P Aquest connector expressa una negació. S‟utilitzarà el connector “no” en els següents casos:

- No P - És fals que P - No és cert que P

Exemple:

La lògica no és fàcil, No és cert que la lògica sigui fàcil. P = La lògica és fàcil.

P Equivalència (si i només si):

Q P

S‟utilitzarà el connector d‟equivalència entre dues proposicions P i Q en els següents casos:

- P és necessari i suficient per a Q - P si i només si Q

Exemple:

Aprovarem l’examen si i només si estudiem de valent. P = Aprovarem l’examen. Q = estudiem de valent.

Q P

Page 52: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

48

Representació d’informació en CP0 a partir d’una frase en

llenguatge natural

Per representar un cert coneixement expressat en llenguatge natural, podem seguir els passos següents: 1. Identificar els connectors en la frase. 2. Identificar les proposicions atòmiques. 3. Formar una fórmula ben formada del CP0 utilitzant els connectors i les proposicions atòmiques. Si trobem que la frase no utilitza cap dels connectors coneguts o ens costa molt representar-la, podem parafrasejar la frase i obtenir-ne una altra de més adient per als nostres propòsits.

2.5.2 Problemes de representació

Representació de frases en CP0. Problema resolt

Pots escriure amb bolígraf o amb llapis però mai amb les dues coses alhora. B = Pots escriure amb bolígraf. L = Pots escriure amb llapis.

L) B ( ) L B (

També podríem escriure:

L) (B ) L B (

Representació de frases en CP0

Representeu les sentències següents en CP0.

Problemari CP0 (Exercici 1.2 c, e, h, i , j)

RESUM

Hem estudiat com representar informació expressada en llenguatge natural utilitzant el llenguatge formal del CP0.

Page 53: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

49

SESSIÓ 13: Propietats

FITXA DE LA SESSIÓ

Nom: Propietats Tipus: teòrica Format: no presencial Durada: 1 hora Treball a lliurar: no

PRECEDENTS

Hem estudiat diferents formalismes per demostrar, en general, teoremes. Hem estudiat, dins la teoria de la demostració, la deducció natural, el sistema axiomàtic i el principi de resolució. També com un sistema deductiu, hem estudiat l‟àlgebra de Boole. Finalment hem estudiat la teoria de models.

OBJECTIUS

Relacionar la teoria de la demostració amb la teoria de models per poder lligar els conceptes deduïble i conseqüència lògica.

CONTINGUTS

Presentem un conjunt de teoremes tot relacionant els sistemes deductius amb la teoria de models.

2.6 Propietats

2.6.1 Propietats

Tots els sistemes deductius estudiats són equivalents en el sentit que tot allò demostrable en un, és demostrable en l‟altre.

CP0 és decidible

Un sistema formal és decidible si existeix un procediment efectiu (algorisme) per determinar si una fbf és un teorema o no, és a dir, si una fórmula és demostrable o no en el sistema. Teorema: CP0 és decidible Efectivament, en particular, tenim les taules de veritat.

Page 54: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

50

CP0 és correcte (sound)

Un sistema formal és correcte o sòlid si cada fbf demostrable és vàlida. És a dir: Per a tota fbf A, Si |- A aleshores |= A Teorema: CP0 és correcte. Davis fa la demostració considerant com sistema deductiu el sistema axiomàtic definit en el seu llibre.

CP0 és complet

Un sistema formal és complet si cada fbf vàlida és demostrable. És a dir: Per a tota fbf A, Si |= A aleshores |- A Teorema: CP0 és complet. Si un sistema és complet i correcte es pot dir que “veritat” i “deducció” són equivalents.

RESUM

Hem estudiat les propietats fonamentals del càlcul proposicional.

Page 55: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

51

SESSIÓ 14: Sintaxi

FITXA DE LA SESSIÓ

Nom: Sintaxi Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

Estudiar les definicions bàsiques del llenguatge del càlcul de predicats.

CONTINGUTS

3 Càlcul de predicats

3.1 El llenguatge del Càlcul de Predicats

3.1.1 Sintaxi (CP1)

El càlcul de predicats o càlcul de primer ordre es diferencia del càlcul proposicional principalment per l‟ús de variables. Aquestes variables poden estar quantificades i per tant una fórmula representa més informació que en el cas de CP0. A continuació donem les definicions bàsiques que defineixen el llenguatge del càlcul de predicats.

Predicats

S‟anomena predicat n-àdic (n>=0) tota funció proposicional de n arguments (representats per termes). Alguns exemples de predicats són: p(X,Y), q(f(S)) i r(X,g(a)). Farem servir, per convenció, com noms de predicats les lletres minúscules: p,q,r...

Termes

Hi ha tres tipus de termes: Constants, són termes representats per valors concrets. No són quantificables. Variables, són termes quantificables (mitjançant un quantificador).

Page 56: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

52

Funcions, són termes que poden contenir altres termes com arguments. No són quantificables. Utilitzarem com noms de funcions f,g,h,..., per notar les variables X,Y,Z,..i per a les constants a,b,c, ... Definició de terme:

i. Una variable és un terme ii. Una constant és un terme iii. Si f és un símbol de funció n-ari i t1,t2,......tn són termes, llavors

f(t1,t2,......tn) és un terme

iv. Tots els termes són generats aplicant les regles anteriors.

Connectors i prioritat

Els connectors utilitzats en CP1 són els mateixos que en CP0:

i,,,

La prioritat serà la mateixa que la donada per CP0.

Quantificadors i abast

Els quantificadors estan representats pels dos símbols:

i Llegits, “per a tot” i “per a algun” respectivament. Són considerats operadors n-aris. El seu efecte s‟estén a la subfórmula que la segueix immediatament (anomenada camp o abast del quantificador).

Fórmula ben formada (fbf)

S‟anomena fórmula tot àtom, o tota expressió, formada de manera iterativa a partir d‟àtoms i connectors segons la següent definició:

i. Un àtom és una fbf.

ii. Si F i G són fbf llavors

G)(F

G)(F

G)(F

G)(F

F

Page 57: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

53

són fbf.

iii. Si F és una fbf i x és una variable en F, llavors ( x)F i ( x)F són fbf

iv. Les fbf són generades solament per un nombre finit d'aplicacions de i, ii i iii.

Direm que les fórmules definides anteriorment són fórmules ben formades (a partir d‟ara fbf).

Alguns exemples de fbf’s

Algunes fórmules ben formades representen informació diversa: Tot número racional és un número real:

r(X)q(X)X

Existeix un número que és primer:

Xp(X)

Per a cada número X existeix un Y de manera que X < Y:

Y)X,Ymespetit(X

Variables lliures i lligades

Les variables poden ser lligades o lliures depenent de si són a l‟abast d‟un quantificador o no respectivament, i de les ocurrències d‟elles. Per a la fórmula:

Y)Xp(X,

les dues ocurrències de X són lligades, la variable X és lligada, l‟ocurrència de Y és lliure i la variable Y és lliure. De totes les fórmules ben formades possibles, ens interessen aquelles que tenen totes les variables lligades.

Exercici

Determineu per la fbf següent i per a totes les variables que hi apareixen, la seva ocurrència i abast i si són variables lliures o lligades:

Y)Xg(X,q(Y)h(Y)YY)g(X,q(X)e(X)X

Page 58: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

54

RESUM

Hem estudiat les definicions bàsiques del llenguatge del CP1.

Page 59: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

55

SESSIÓ 15: Interpretacions,

conseqüència lògica, validesa i

inconsistència.

FITXA DE LA SESSIÓ

Nom: Interpretacions, conseqüència lògica, validesa i inconsistència. Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no

OBJECTIUS

Estudiarem la teoria de models en el càlcul de predicats.

CONTINGUTS

En el càlcul proposicional, una interpretació és un assignació de valors de veritat als àtoms. En el càlcul de predicats, la interpretació serà una atribució de significat a una fórmula.

3.1.2 Interpretacions

Definició d’interpretació

Per donar una interpretació a una fbf, es dóna el domini de les variables i s‟assignen significats a les constants, funcions i predicats. Una interpretació d'una fórmula F en lògica de primer ordre consisteix en un domini no buit D i una assignació de valors a cada constant, símbol de funció i símbol de predicat i per tant ocorre en F com segueix: 1 . A cada constant, assignar-li un element de D

2 . A cada símbol de funció n-ari, assignar-li un mapping Dn a D.

(Dn = {(x1, x2, ...xn) / x1 є D.....xn є D})

4. A cada símbol de predicat n-ari, assignar-li un mapping de Dn a {T,F}

Page 60: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

56

Exemples d’interpretacions

Alguns exemples d‟interpretacions: Exemple 1:

Per a la fórmula: ( x)( y) P(x,y) donem la següent interpretació: D = { 1,2 } P(x,y) = Cert si x = y.

Altrament, P(x,y) = Fals. Exemple 2:

Per a la fórmula: ( x)( y) (P(a,y) P(f(x),f(y)) donem la següent interpretació: D = { 1,2 } a = 1 f(1) = 2, f(2) = 1. P(x,y) = Cert si x = y.

Altrament, P(x,y) = Fals.

Avaluació d’una fórmula des d’una interpretació

Per a cada interpretació d‟una fórmula sobre un domini, la fórmula pot ser avaluada certa o falsa segons les següents regles. Si els valors de veritat de les fórmules H i G són avaluats llavors els valors de veritat de les fórmules:

H)

(H G)

(H G)

(H G)

(H G) són avaluats usant les taules de veritat dels respectius connectors donades per a CP0.

x)H és avaluada a certa (C) si la taula de veritat d'H és avaluada a C per a cada d en D si no és falsa (F).

x)H és avaluada a certa (C) si la taula de veritat d'H és avaluada a C per a almenys un d en D si no és falsa (F). Nota: Les fórmules que contenen variables lliures no poden ser avaluades. S'utilitzaran fórmules que no continguin variables lliures o en què les variables lliures siguin tractades com constants.

Page 61: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

57

Exemple

La fórmula: ( x) P(x) des de la següent interpretació: D = { 1,2 } P(1) = Cert P(2) = Fals Avalua a fals ja que hi ha un x per tal que p(x) és fals.

3.1.3 Consistència, validesa i inconsistència

Els conceptes de consistència, validesa i inconsistència que havíem donat per al càlcul proposicional, els estudiem ara per al càlcul de predicats.

Consistència

Una fórmula és consistent si i només si existeix una interpretació que la faci certa. Si la fórmula es consistent, podem comprovar-ho trobant un model.

Validesa

Una fórmula és vàlida si és veritat per a totes les seves interpretacions. Dit d‟una altra manera, una fórmula és vàlida si i només si totes les seves interpretacions satisfan la fórmula. Ja que hi ha un conjunt infinit d‟interpretacions per a una fórmula donada, no és possible determinar si una fórmula és vàlida avaluant-la sota cada interpretació.

Inconsistència

Una fórmula és inconsistent si i només si no existeix cap interpretació que faci certa la fórmula. Ja que hi ha un conjunt infinit d‟interpretacions per una fórmula donada, no és possible determinar si una formula és inconsistent avaluant-la sota cada interpretació.

Conseqüència lògica

Una fórmula és conseqüència lògica d'un conjunt de fórmules si i només si cada interpretació que fa cert el conjunt, fa certa la fórmula. Els teoremes donats pel càlcul proposicional que relacionen els conceptes de validesa i conseqüència lògica són certs també pel càlcul de predicats.

Page 62: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

58

Exemple

En l‟exemple podem veure com es prova la conseqüència lògica mitjançant el concepte d‟interpretació.

Demostreu que ( x)( D(x) ¬U(x) ) és conseqüència lògica de les fórmules F1 i F2: Sigui I una interpretació qualsevol que satisfaci:

F1 : ( x)( U(x) ¬B(x) ) és certa

F2 : ( x)( B(x) D(x) ) és certa Si F1 és certa per tot x, també ho serà per una x en concret. Acotem x en la constant a i ens queden les fórmules anteriors de la següent forma:

F1‟ : ( U(a) ¬B(a) ) és certa

F2‟ : ( B(a) D(a) ) és certa

F3 : ( D(a) ¬U(a) ) és el que hem d‟avaluar. Si F2‟ és certa, llavors B(a) i D(a) avaluen cert.

Transformem F1‟ en ( ¬U(a) ¬B(a) ). Si B(a) és certa llavors ¬B(a) és falsa. Si ¬B(a) és falsa i F1‟ avalua certa, necessàriament ¬U(a) és certa. Per tant, U(a) és falsa.

Si D(a) és certa (per F2‟) i ¬U(a) és certa (per F1 „), llavors D(a) ¬U(a) avalua cert i,

per tant, existeix un x de manera que D(x) ¬U(x) és certa sempre que F1 i F2 avaluen cert.

Podem dir doncs que ( x)( D(x) ¬U(x) ) és conseqüència lògica de F1 i F2.

RESUM

Hem estudiat els conceptes de validesa, consistència i inconsistència i les seves relacions.

Page 63: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

59

SESSIÓ 16: Problemes

FITXA DE LA SESSIÓ

Nom: Problemes Tipus: de problemes Format: no presencial Durada: 2 hores Treball a lliurar: no

PRECEDENTS

En la sessió anterior hem estudiat la teoria de models per CP1.

OBJECTIUS

Exercitar-nos en l‟avaluació de fórmules sota diferents interpretacions i saber trobar interpretacions que facin certa o falsa una fórmula donada. Utilitzar les interpretacions per provar validesa, inconsistència, consistència o conseqüència lògica.

CONTINGUTS

3.1.4 Problemes

Avaluar una fórmula sota una interpretació

Determineu el valor de veritat de les fórmules de l‟exercici de la referència.

Problemari CP1 (Exercici 5.1)

Donar una interpretació sota la qual el valor d’una

fórmula sigui cert o fals

Feu l‟exercici següent.

Problemari CP1 (Exercici 5.4)

Demostrar que una fórmula és conseqüència lògica d’un

conjunt de fórmules

Feu els exercicis següents.

Problemari CP1 (Exercici 5.5)

Page 64: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

60

Determinar si una fórmula és valida mitjançant

interpretacions

Feu l‟exercici següent.

Problemari CP1 (Exercici 5.8)

Determinar si una fórmula és inconsistent mitjançant

interpretacions

Feu l‟exercici següent.

Problemari CP1 (Exercici 5.9)

Determinar si una fórmula és consistent mitjançant

interpretacions

Feu l‟exercici següent.

Problemari CP1 (Exercici 5.10)

RESUM

Hem proposat un conjunt de problemes per exercitar-nos en el món de les interpretacions.

Page 65: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

61

SESSIÓ 17: Formes normals i clàusules

FITXA DE LA SESSIÓ

Nom: Formes normals i clàusules Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

En aquesta sessió estudiarem les diferents formes normals de les fórmules del càlcul de predicats i aprendrem l‟algorisme per transformar qualsevol fórmula en un conjunt clausal.

CONTINGUTS

El mètode de resolució (Robinson 1965) que veurem en pròximes sessions és un mètode refutatiu que s‟utilitza per demostrar la inconsistència d‟un conjunt de clàusules. Qualsevol fórmula de CP1 es pot transformar en un conjunt de clàusules mitjançant una sèrie de transformacions passant per les formes normals.

3.2 Formes normals i clàusules

3.2.1 Formes normals

A continuació estudiem les diferents formes normals que pot tenir una fórmula ben formada.

Definició de Forma Normal Prenexa (FNP)

Hem estudiat dues formes normals en CP0, la conjuntiva i la disjuntiva. En el càlcul de predicats definirem la forma normal prenexa que agrupa els quantificadors a l‟esquerra. Una fórmula F en lògica de primer ordre està en FNP si i només si la fórmula F és de la forma:

(Q1x1)(Q2x2) ... (Qnxn) (M)

en què cada (Qixi), i 1,2,...n es ( xi) o xi) i M és una fórmula que no conté

quantificadors. (Q1x1)(Q2x2) ... (Qnxn) és anomenat el prefix i M és anomenada la matriu de la fórmula

F.

Page 66: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

62

Hi ha dues formes normals prenexes: la forma normal prenexa conjuntiva (FNPC) i la forma normal prenexa disjuntiva (FNPD) segons la forma de la matriu, conjuntiva o disjuntiva, respectivament.

Exemple: la fórmula ( x)( y)(P(x) Q(y,f(x,y))) està en FNPC.

Transformació de fórmules a formes normals prenexes

Tota fórmula de CP1 es pot transformar mitjançant un algorisme a FNP. Algorisme Pas1. Eliminar les equivalències i les implicacions fent ús de les següents lleis:

F G (F G) (G F)

F G F G Pas2. Eliminar les dobles negacions i col·locar les negacions precedint als àtoms usant les lleis següents:

( F) F

(F G) F G

(F G) F G

(( x)F[x]) x)( F[x])

x)F[x]) ( x)( F[x]) Pas3. Reanomenar, si és necessari, les variables fitades. Pas4. Moure els quantificadors a l'esquerra de la fórmula per obtenir una FNP fent ús de les lleis següents:

(Qx)F[x] G (Qx)(F[x] G)

(Qx)F[x] G (Qx)(F[x] G)

( x)F[x] ( x)H[x] ( x)(F[x]) H[x]) (distr. de sobre )

( x)F[x] ( x)H[x] ( x)(F[x]) H[x]) (distr. de sobre )

(Q1x)F[x] (Q2x)H[x] (Q1x)(Q2z)(F[x] H[z])

(Q3x)F[x] (Q4x)H[x] (Q3x)(Q4z)(F[x] H[z])

En què F[x] y H[x] són fórmules que contenen x com variable lliure i G és una fórmula que no conté a x com variable lliure. Un cop s‟ha fet aquesta transformació tenim el prefix i la matriu separades. La matriu la podem manipular, utilitzant les lleis de l‟Àlgebra de Boole, per arribar a una FNPC o FNPD.

Page 67: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

63

Definició de Forma Normal Prenexa (FNP)

Una fórmula està en Forma Standard de Skolem si la fórmula està en FNP, la matriu en FNC i el prefix conté només quantificadors universals.

Transformació a Forma Standard de Skolem (FSS)

L‟objectiu d‟aquesta transformació és eliminar, sense afectar la propietat d‟inconsistència, els quantificadors existencials. L‟eliminació es fa substituint les variables per funcions de Skolem. Aquesta substitució s‟anomena Skolemització. Algorisme Sigui una fórmula en FNP (Q1x1)(Q2x2) ... (Qnxn) (M) en què la matriu M està en

FNC.

Sigui Qr un quantificador existencial en el prefix (Q1x1)(Q2x2) ... (Qnxn) 1 r n.

Cas A. Cap quantificador universal apareix abans de Qrxr i. S'escull una constant c diferent d'altres constants ocorrent en M ii. Es reemplacen els xr que apareixen en M per c

iii. S'elimina Qrxr del prefix

Cas B. Qs1 Qs2 ....... Qsm són tots els quantificadors universals que apareixen en el

prefix abans de Qrxr 1 s1 s2.... r.

i. S'escull un símbol de funció f n-ària diferent d'altres símbols de funció apareixent en M. ii. Es reemplacen els xr apareixent en M per f(xs1,xs2,....,xsm)

iii. S'elimina Qrxr del prefix

Després d'haver aplicat aquest procés a tots els quantificadors existencials la fórmula obtinguda és una Forma Standard de Skolem o simplement Forma Standard. Les constants i funcions usades per reemplaçar les variables quantificades existencialment són anomenades funcions de Skolem. Exemple

Transformar la fórmula (( x)( y)( z)(( P(x,y) Q(x,z)) R(x,y,z)) en Forma Standard de Skolem.

( x)( y)( z)(( P(x,y) Q(x,z)) R(x,y,z))

distributivitat de

= ( x)( y)( z)(( P(x,y) R(x,y,z)) Q(x,z) R(x,y,z))

eliminació dels quantificadors existencials ( y)( z) con f(x)/y, g(x)/z

= ( x)(( P(x,f(x)) R(x,f(x),g(x))) Q(x,g(x)) R(x,f(x),g(x)))

Page 68: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

64

Revisió del concepte de Clàusula

Si la matriu està en FNC aleshores les disjuncions són clàusules. Un conjunt S de clàusules es pot veure com una conjunció de totes les clàusules de S en què cada variable en S és considerada quantificada universalment. Així, una fórmula en FSS pot ser representada per un conjunt de clàusules.

Sigui la fórmula: x)(( P(x,f(x)) R(x,f(x),g(x))) (Q(x,g(x)) R(x,f(x),g(x))))

Pot ser vista com el següent conjunt de clàusules:

S = { ( P(x,f(x)) R(x,f(x),g(x)), Q(x,g(x)) R(x,f(x),g(x))} Els quantificadors s'han eliminat sense que s‟afecti la propietat d'inconsistència.

Teorema

La inconsistència d‟una fórmula es pot demostrar provant la inconsistència del conjunt de clàusules que la representen. Utilitzarem aquest fet en Resolució.

3.2.2 Problemes

Transformació d’una fórmula en conjunt clausal.

Problema resolt

Transformeu la fórmula a conjunt clausal.

Problemari CP1 (Exercici 2.3, Solució 2.3)

Transformació de fórmules en FNP

Feu els següents exercicis del llibre d‟exercicis.

Problemari CP1 (Exercici 2.1d i e)

Transformació de fórmules en FSS

Fer els següents exercicis del llibre d‟exercicis.

Problemari CP1 (Exercici 2.2)

Page 69: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

65

RESUM

En aquesta sessió s‟han estudiat les diverses formes normals del càlcul de predicats i els procediments per transformar qualsevol fórmula de CP1 en conjunt clausal. Esquemàticament, Fórmula --> Forma Normal Prenexa (FNP) --> Forma Normal Prenexa Conjuntiva (FNPC) --> Forma Standard de Skolem (FSS) --> Conjunt Clausal

Page 70: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

66

Page 71: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

67

SESSIÓ 18: Teoria de la demostració:

Unificació

FITXA DE LA SESSIÓ

Nom: Teoria de la demostració: Unificació Tipus: teòrica Format: no presencial Durada: 4 hores Treball a lliurar: no

OBJECTIUS

Estudi de l‟operació d‟unificació per poder posteriorment estudiar el principi de resolució.

CONTINGUTS

En aquesta sessió estudiarem l‟algorisme de Robinson per trobar un unificador. Donarem les definicions bàsiques per entendre aquest algorisme.

3.3 Teoria de la demostració

3.3.1 Substitucions

En sessions anteriors i dins el context del càlcul proposicional hem estudiat el principi de resolució. Ara volem estendre aquest principi a la lògica de primer ordre (CP1). En CP1 la resolució va acompanyada de dues operacions: la unificació i la factorització. La unificació prepara les clàusules perquè s‟hi pugui fer la resolució. La unificació es fa mitjançant un unificador. Un unificador és una substitució que compleix certs requeriments.

Definició de substitució

Una substitució és un conjunt que relaciona variables i termes. Una substitució és un conjunt finit de la forma {t1/v1, t2/v2,....tn/vn} en què cada vi és

una variable, cada ti és un terme diferent de vi veure i no hi ha dos elements que

tinguin la mateixa variable després de /. Quan t1, t2,....tn són termes ground (és a dir,

que no contenen variables), la substitució és anomenada una substitució ground. La substitució que no consta de cap element és anomenada la substitució buida i

denotada per

Les substitucions es representen amb lletres gregues:

Page 72: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

68

Exemples de substitució

{f(z)/x, y/z}

{a/x, g(r)/y, f(g(b))/z}

Definició d’instància

A partir d‟una expressió (predicat, terme, etc.) i d‟una substitució podem trobar una instància aplicant la substitució a l‟expressió.

Sigui = {t1/v1, t2/v2,....tn/vn} una substitució i E una expressió. Llavors E és una

expressió obtinguda a partir d' E i reemplaçant cada ocurrència de les variables vi , 1

i n, en E pel terme ti. E és anomenada una instància d'E.

Exemple d’instància

Siguin:

E = P(x) Q(y) i = {a/x, f(b)/y}

llavors E P(a) Q(f(b))

Composició de substitucions

La composició de substitucions permet d‟aplicar una substitució a una altra substitució.

Siguin = {t1/x1, t2/x2,....tn/xn} i = {u1/y1, u2/y2,....um/ym} dues substitucions.

Llavors la composició de i és la substitució, denotada per o , que és obtinguda a partir del conjunt:

{t1 /x1, t2 /x2,....tn /xn, u1/y1, u2/y2,....um/ym}

i eliminant d'aquest qualsevol element ti /xi per al qual ti = xi , i qualsevol element

ui/yi de manera que yi estigui entre les {x1, x2,....,xn}

Aquesta operació la utilitzarem en l‟algorisme d‟unificació de Robinson que veurem més endavant.

3.3.2 Unificació

En el mètode de resolució necessitem unificar els literals que es resolen. La unificació és una substitució que fa idèntiques diferents expressions.

Page 73: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

69

Unificador

Un unificador és una substitució que unifica expressions.

Una substitució és anomenada un unificador per a un conjunt {E1, E2,....En} si i

només si = E2 = ..... En . El conjunt és anomenat a ser unificable si existeix un

unificador que ho fa.

Unificador més general

Donades diverses expressions, poden haver-hi diversos unificadors. De tots aquests, destaquem els més generals, és a dir, en què hi ha més variables involucrades.

Un unificador per a un conjunt {E1, E2,....En} d'expressions és un unificador més

general (u.m.g) si i només si per a cada unificador per al conjunt existeix una

substitució de manera que o

Conjunt discrepant

Abans d‟estudiar l‟algorisme d‟unificació, hem de definir el concepte de conjunt discrepant, utilitzat per l‟algorisme. Sigui S un conjunt finit d'expressions. El conjunt discrepant de S és definit com segueix. Localitzeu la posició del símbol més a l'esquerra per al qual no totes les expressions tenen el mateix símbol i extragueu de cada expressió la subexpressió, començant en la posició d'aquest símbol. El conjunt de totes les subexpressions és el conjunt discrepant. Exemple 1. Sigui: S={ P(f(x),h(y),a), P(f(x),z,a), P(f(x),h(y),b)}

El conjunt discrepant és: {h(y),z} Exemple 2. Sigui: S={ P(x,f(y,z)), P(x,a), P(x,g(h(k(x))))}

El conjunt discrepant és: {f(y,z),a,g(h(k(x)))}

Algorisme d’unificació

L‟algorisme d‟unificació definit per Robinson troba un unificador més general, si existeix, per un conjunt d‟expressions. L‟algorisme sempre acaba per un conjunt no buit d‟expressions. Si el conjunt és unificable, l‟algorisme troba un unificador més general. Això és el que expressa el teorema de la unificació. Entrada: S el conjunt d'expressions a unificar

Sortida: Un unificador més general si existeix.

Page 74: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

70

Procés:

Pas1. Sigui k 0, k

Pas2 . Si S k és un "singleton" (és a dir, un conjunt unitari, ja que la substitució

converteix totes les expressions en una sola)

llavors S k és un u.m.g. per a S;

FI

Si no Trobi el conjunt discrepant Dk per a S k

Pas3 . Si existeixen elements v i t en Dk de manera que v és una variable que no està en t

llavors Anar a Pas4 Si no

S no és unificable; Fi

Pas4 . Sigui k+1 = ko{t/v}

k = k + 1 Anar a Pas2

Un exemple

Sigui S = { P(a,x,h(g(z))),P(z,h(y),h(y))}

(a) k 0, o

Do = {a,z}

1 = oo{a/z}

(b) S 1 = { P(a,x,h(g(a))),P(a,h(y),h(y))}

D1 = {x, h(y)}

2 = 1o{h(y)/x} = {a/z, h(y)/x}

(c) S 2 = { P(a,h(y),h(g(a))),P(a,h(y),h(y))}

D2 = {g(a), y}

3 = 2o{g(a)/y} = {a/z, h(g(a))/x, g(a)/y} noteu la composició

(d) S 3 = { P(a,h(g(a)),h(g(a))),P(a,h(g(a)),h(g(a)))}= { P(a,h(g(a)),h(g(a))) }

és un “singleton” i per tant S unificable i 3 = {a/z, h(g(a))/x, g(a)/y} és un

u.m.g.

RESUM

Hem estudiat l‟algorisme de Robinson.

Page 75: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

71

SESSIÓ 19: Teoria de la demostració:

Resolució

FITXA DE LA SESSIÓ

Nom: Teoria de la demostració: Resolució Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 3 hores Treball a lliurar: no

PRECEDENTS

En la sessió anterior hem estudiat la unificació que és l‟operació fonamental per poder aplicar el principi de resolució a clàusules de CP1.

OBJECTIUS

Estudiarem el principi de resolució i l‟operació de factorització en CP1.

CONTINGUTS

3.3.3 Principi de resolució

El principi de resolució és una regla d‟inferència que genera resolvents a partir d‟un conjunt de clàusules. Aquesta regla va ser introduïda per Robinson l‟any 1965. Si el conjunt de clàusules inicial és inconsistent, la resolució trobarà sempre la clàusula buida.

Revisió del concepte de literals complementaris

P i ¬P són literals complementaris.

Definició de factor

La factorització és una unificació d‟àtoms (literals) dins una mateixa clàusula.

Si dos o més literals (amb el mateix signe) d'un clàusula C té un o.m.g , llavors C és

anomenada un factor de C. Si C és unitària, llavors és anomenada un factor unitari de C.

Page 76: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

72

Exemple

Sigui C = P(x) P(f(y)) Q(x)

Els dos literals P(x) i P(f(y)) tenen el u.m.g ={f(y)/x}

C = P(f(y)) Q(f(y)) és un factor de C.

Resolvent binària

Una resolvent binària és el resultat d‟aplicar la resolució a dues clàusules. Sigui C1 i C2 dues clàusules (anomenades clàusules pares) que no tenen variables en

comú. Sigui L1 i L2 literals en C1 i C2 respectivament. Si L1 i ¬L2 tenen un u.m.g llavors la clàusula:

(C1 -L1 ) (C2 -L2 )

és anomenada una resolvent binària de C1 i C2. Els literals L1 i L2 són anomenats els literals resolts. Exemple:

C1= P(x) Q(x)

C2 = P(a) R(x) Ja que x apareix en les dues clàusules reanomenem la x en C2 anomenant-la y, i queda:

C2 = P(a) R(y).

Escollim L1= P(x) i L2= P(a). Ja que L2 = P(a), L1 i L2 tenen el u.m.g = {a/x}. Per tant,

(C1 -L1 ) (C2 -L2 ) =

({P(a), Q(a)}- {P(a)}) ({ P(a), R(y)} - { P(a)}) =

{Q(a)} {R(y)} =

{Q(a), R(y)} = Q(a) R(y)

Q(a) R(y) és una resolvent binària de C1 y C2

P(x) i P(a) són els literals resolts

Resolvent

A partir de dues clàusules podem trobar quatre combinacions possibles de resolvents binàries.

Page 77: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

73

Una resolvent de dues clàusules C1 i C2 és una de les següents resolvents binàries: 1. una resolvent binària de C1 i C2 2. una resolvent binària de C1 i un factor de C2 3. una resolvent binària d'un factor de C1 i C2 4. una resolvent binària d'un factor de C1 i un factor de C2. Nota: Ens interessa primer factoritzar i després resoldre. Exemple: Sigui

C1 = P(x) P(f(y)) R(g(y))

C2= P(f(g(a))) Q(b)

Un factor de C1 és C1'=P(f(y)) R(g(y)).

Una resolvent binària de C1' i C2 és R(g(g(a))) Q(b).

Per tant R(g(g(a))) Q(b) és una resolvent de C1 y C2.

Refutació per resolució

Una deducció per resolució de la clàusula buida a partir d‟un conjunt S de clàusules s‟anomena una refutació de S.

Completesa de la resolució

Un conjunt de clàusules S és insatisfactible (o inconsistent) si i només si hi ha una deducció de la clàusula buida a partir de S. El mètode de resolució, amb factorització, és complet.

Exemples de resolució

Com hem vist, el principi de resolució s‟utilitza per provar que un conjunt de clàusules és inconsistent. Recordeu que, mitjançant les formes normals, podem convertir qualsevol fórmula ben formada en un conjunt de clàusules. En els exemples següents podem veure com s‟aplica el principi de resolució. Exemple 1

1. ( x)(Hombre(x) Mortal(x)) 2. Hombre(confucio) ________________________ ¿Mortal(confucio)?

Page 78: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

74

1. Hombre(x) Mortal(x) 2. Hombre(confucio)

3. Mortal(confucio) 4. 1,2 Res. confucio/x. Mortal(confucio) 5. 3,4 Res.

Exemple 2

1. ( x)(V(x) F(x))

2. ( x) (F(x) D(x)) _________________

¿( x) (D(x) V(x))?

1. V(x) F(x) 2. F(a) 3. D(a)

4. D(x) V(x)

5. 1,2 Res F(x) D(x)

6. 3,5 Res.a/x. F(a) 7. 2,6 Res.

RESUM

Hem estudiat el principi de resolució i hem vist, mitjançant exemples, la seva aplicació.

Page 79: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

75

SESSIÓ 20: Resolució. Problemes

FITXA DE LA SESSIÓ

Nom: Resolució. Problemes Tipus: de problemes Format: no presencial Durada: 2 hores Treball a lliurar: no

PRECEDENTS

En la sessió anterior hem estudiat el principi de resolució.

OBJECTIUS

L‟objectiu d‟aquesta sessió és adquirir pràctica aplicant el principi de resolució i veure els diferents tipus de problemes que es poden resoldre utilitzant-lo.

CONTINGUTS

3.3.4 Problemes

Substitucions

Feu l‟exercici següent.

Problemari CP1 (Exercici 3.1)

Composició de substitucions

Feu l‟exercici següent.

Problemari CP1 (Exercici 3.3)

Unificador més general

Feu l‟exercici següent.

Problemari CP1 (Exercici 3.4)

Page 80: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

76

Algorisme de Robinson

Feu els exercicis següents.

Problemari CP1 (Exercici 3.5d,e,f)

Demostració de conseqüència lògica mitjançant resolució

Demostreu que la següent fórmula:

X)p(X, X

és una conseqüència lògica de les formules:

Y)p(X, YX

Z)p(X,Z))p(Y,Y)(p(X, ZYX

X)p(Y,Y)p(X, YX

Demostració d’inconsistència mitjançant resolució

Demostreu que la següent fórmula:

Z)p(X,X)p(Z, XY)p(Z, ZY

és inconsistent.

Demostració de validesa mitjançant resolució

Demostreu que la següent fórmula:

r(T)p(X)r(T))Y)(q(Z, TY)q(Z,p(X) YZX

és vàlida.

RESUM

Hem proposat alguns exercicis de resolució.

Page 81: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

77

SESSIÓ 21: Estratègies de resolució

FITXA DE LA SESSIÓ

Nom: Estratègies de resolució Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no

PRECEDENTS

En la sessió anterior hem estudiat el principi de resolució.

OBJECTIUS

Estudiarem les diferents estratègies de resolució.

CONTINGUTS

3.3.5 Estratègies de resolució

Quan hem estudiat la resolució no hem donat cap estratègia específica per aplicar-la. Les estratègies de resolució procuren millorar el procés general en ambdós sentits. Per una banda fer sistemàtica la resolució i per una altra generar menys resolvents. Totes les estratègies de resolució poden ser aplicades a clàusules de CP0 o de CP1. Però com ja veurem, no totes les estratègies són mètodes complets. Les diferents estratègies són:

1. Saturació amb esborrat. 2. Semàntica. 3. Lock. 4. Lineal. 5. Unitària. 6. Input.

A continuació estudiarem cadascuna d‟elles.

Estratègia: Saturació amb esborrat

La idea bàsica d‟aquesta estratègia és trobar totes les resolvents per a cada parella de clàusules de S, afegir a S aquestes resolvents i repetir-ne el procés. Amb aquest mètode, es generen moltes clàusules irrellevants i redundants. Les clàusules irrellevants són tautologies i aquestes són sempre certes, per tant, si el conjunt original és inconsistent ho seguirà sent si les eliminem. Les clàusules

Page 82: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

78

redundants són aquelles que ja estan repetides o que són subsumides. El concepte de subsumida es pot consultar a la referència. L‟estratègia de saturació amb esborrat, cada vegada que genera una clàusula, verifica que no sigui ni irrellevant ni redundant abans d‟afegir-la al conjunt de clàusules. En l‟exemple de la referència podem observar que s‟aplica la saturació sense esborrat. Sobre el mateix conjunt de clàusules s‟aplica la saturació amb esborrat i resulta més curta la prova. Aquesta estratègia és completa.

Estratègia: Semàntica

L‟objectiu d‟aquesta estratègia és dividir el conjunt de clàusules S aplicant un cert criteri i restringir la resolució sobre clàusules de diferents conjunts. La divisió en dos conjunts es fa utilitzant una interpretació. Un altre aspecte de la resolució semàntica és que per reduir les resolucions s‟estableix un ordre sobre els predicats inhibint-ne alguns. Aquesta estratègia és completa.

Estratègia: Lock

Aquesta estratègia utilitza el concepte d‟índex per limitar la resolució entre literals. Dos literals només es poden resoldre si tenen els índexs més petits de cada clàusula. Els literals en les resolvents hereten els índexs de les seves clàusules pares. Els índexs poden ser arbitraris, i diferents ocurrències d‟un literal poden tenir índexs diferents. Aquesta estratègia és completa.

Estratègia: Lineal

L‟objectiu d‟aquesta estratègia és simplificar el procés. La idea és començar amb una clàusula anomenada top , aplicar resolució per obtenir una nova resolvent i agafar de nou aquesta resolvent per trobar-n‟hi una altra. A cada pas es queda amb la darrera resolvent. Esquemàticament és un raonament encadenat. Aquesta estratègia és completa.

Page 83: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

79

Estratègia: Input

Aquesta estratègia és un subcas de resolució lineal. És més fàcil d‟implementar i més eficient que la lineal però no és completa. L‟objectiu d‟aquesta estratègia és utilitzar, cada vegada que es busca una resolvent, obligatòriament una de les clàusules originals del conjunt inicial S.

Estratègia: Unitària

L‟objectiu d‟aquesta estratègia és utilitzar, cada vegada que es busca una resolvent com clàusula pare almenys una clàusula que sigui unitària, és a dir, que tingui només un literal. L‟exemple que hem vist per l‟estratègia input també és un exemple d‟estratègia unitària ja que a cada pas s‟utilitza una clàusula unitària. Aquesta estratègia no és completa.

RESUM

Hem estudiat les diferents estratègies de resolució. Hem vist que la majoria són completes però que hi ha algunes que no ho són.

Page 84: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

80

Page 85: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

81

SESSIÓ 22: Estratègies de resolució.

Problemes

FITXA DE LA SESSIÓ

Nom: Estratègies de resolució. Problemes Tipus: de problemes Format: no presencial Durada: 1 hora Dedicació: 1 hora Treball a lliurar: no

PRECEDENTS

En la sessió anterior hem estudiat el principi de resolució.

OBJECTIUS

L‟objectiu d‟aquesta sessió és adquirir pràctica tot aplicant el principi de resolució i les estratègies respectives.

CONTINGUTS

3.3.6 Problemes

Resolució lock

Demostreu que el conjunt de clàusules del següent exercici és inconsistent.

Problemari CP1 (Exercici 4.3a)

Resolució lineal

Demostreu que els conjunts de clàusules dels següents exercicis són inconsistents. Digueu si també es pot resoldre utilitzant l‟estratègia input o unitària.

Problemari CP1 (Exercici 4.4a i 4.4d)

RESUM

Hem proposat alguns exercicis de resolució.

Page 86: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

82

Page 87: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

83

SESSIÓ 23: Representació del

coneixement

FITXA DE LA SESSIÓ

Nom: Representació del coneixement Tipus: teòrica Format: no presencial Durada: 3 hores Dedicació: X hores Treball a lliurar: no

OBJECTIUS

Estudiar com representar coneixement utilitzant el llenguatge del càlcul de predicats.

CONTINGUTS

En primer lloc donem conceptes bàsics per representar relacions i funcions. Després es donen alguns exemples de com representar coneixement de diferents àrees.

3.4 Representació del coneixement

3.4.1 Relacions, funcions i quantificadors

Relacions

Les relacions es representen amb predicats. El predicat relaciona arguments. A continuació donem alguns exemples de relacions i mostrem com podem representar-les mitjançant predicats. 1. x és més gran que y: MesGran(x,y), x > y. 2. En Joan estima la Maria: Estimar(x,y), x estima y. Per tant Estimar(joan, maria). 3. En Joan és alt: Alt(x), x és alt. Per tant Alt(joan).

Funcions

Les funcions es representen amb termes. A continuació donem alguns exemples de funcions i mostrem com podem representar-les mitjançant termes. 1. x + y: mas(x,y) 2. El pare d’en Joan: pare(x) representa el pare d‟en x. Per tant, pare(joan).

Page 88: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

84

Les constants són considerades funcions sense arguments. Un exemple en què s‟utilitzen predicats i funcions és el següent: El pare d‟en Joan estima la Teresa: Estimar(pare(joan),teresa).

Formes aristotèliques

Aristòtil va estudiar les diferents classes de raonaments associades amb les següents frases i per a cadascuna va donar la fórmula equivalent en CP1. 1. Tots els P‟s són Q‟s

Q(x)) (P(x)x

2. Alguns P‟s són Q‟s

Q(x)) (P(x)x

3. No hi ha P‟s que siguin Q‟s

Q(x)) (P(x)x

4. Alguns P‟s no són Q‟s

Q(x)) (P(x)x

Aquestes formes ens ajuden a l‟hora de representar informació expressada en llenguatge natural.

3.4.2 Representació del coneixement

Llenguatge natural

Els següents exemples mostren com representar coneixement expressat en llenguatge natural amb CP1.

Tots els estudiants d'informàtica són amics dels aficionats a la lògica.

x y ( I(x) L(y) A(x,y))

A(x,y) x és amic de y,

I(x) x és estudiant d’informàtica,

L(x) x és aficionat a la lògica. Cap home no accepta consells, però tots els homes accepten diners; per tant, els diners són millors que els homes.

( ¬( x) ( H(x) A(x,consells) ) x ( H(x) A(x,diners) ) ) Millor (diners,consells)

Page 89: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

85

H(x) x és home,

A(x,y) x accepta y,

Millor(x,y) x millor que y Hi ha gent que és feliç si a tots els seus amics els agrada la música.

x y ( A(x,y) M(x) F(y) )

A(x,y) x és amic de y,

M(x) a x li agrada la música,

F(x) x és feliç.

Conceptes matemàtics

L‟exemple següent mostra com representar coneixement matemàtic expressat en llenguatge natural amb CP1. Axiomes de nombres naturals

i. Per a tot nombre, hi ha un i només un immediat successor ii. No hi ha cap nombre per al qual 0 és el seu immediat successor iii. Per a tot nombre diferent de 0 hi ha un i només un immediat predecessor

f(x) immediat successor de x g(x) immediat predecessor de x (x,i) x igual a i

i. ( x)( y) (E(y,f(x)) ( z)(E(z,f(x)) E(y,z)))

ii. ( x) (E(0,f(x)))

iii. ( x)( E(x,0) ( y) (E(y,g(x)) ( x) (E(z,g(x)) E(y,z)))))

RESUM

Hem estudiat com representar coneixement de diferents tipus utilitzant el llenguatge del CP1.

Page 90: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

86

Page 91: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

87

SESSIÓ 24: Representació del

coneixement. Problemes

FITXA DE LA SESSIÓ

Nom: Representació del coneixement. Problemes Tipus: de problemes Format: no presencial Durada: 2 hores Treball a lliurar: no

OBJECTIUS

Exercitar-nos en la utilització del llenguatge del càlcul de predicats per a la representació del coneixement en diferents àrees.

CONTINGUTS

A continuació proposem un conjunt de problemes de representació del coneixement, per a algunes de les àrees comentades en la sessió anterior.

3.4.3 Problemes

Representació del llenguatge natural. Problema resolt

Representeu amb el llenguatge del CP1 el coneixement expressat en les següents frases.

Problemari CP1 (Exercici 1.1p,q i r, Solucions 1.1p,q i r)

Representació del llenguatge natural

Representeu amb el llenguatge del CP1 el coneixement expressat en les següents frases.

Problemari CP1 (Exercici 1.1g,m,n)

Representació de conceptes matemàtics

Representeu amb el llenguatge del CP1.

Problemari CP1 (Exercici 1.3, 1.5)

Page 92: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

88

Representació de relacions i bases de dades

Representeu amb el llenguatge del CP1.

Problemari CP1 (Exercicis 1.7 i 1.8)

RESUM

Hem proposat alguns problemes de representació del coneixement.

Page 93: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

89

SESSIÓ 25: Propietats

FITXA DE LA SESSIÓ

Nom: Propietats Tipus: teòrica Format: no presencial Durada: 1 hora Treball a lliurar: no

PRECEDENTS

OBJECTIUS

Donar algunes propietats del CP1.

CONTINGUTS

3.5 Propietats

3.5.1 Propietats

CP1 és complet

Un sistema formal és complet si cada fbf vàlida és demostrable. És a dir: Per a tota fbf A, Si |= A aleshores |- A Teorema (Gödel 1930): CP1 és complet.

CP1 és indecidible

Un sistema formal és decidible si existeix un procediment efectiu (algorisme) per determinar en un temps finit si una fbf és un teorema o no, és a dir, si una fórmula és demostrable o no en el sistema. Teorema (Church i Turing 1936): CP1 és indecidible En realitat, CP1 és semidecidible. Si una fórmula és vàlida aleshores serà detectable en temps finit, però si la fórmula no és vàlida, aleshores cap procediment efectiu no donarà un diagnòstic sobre la invalidesa de la fórmula.

Page 94: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

90

RESUM

Hem estudiat les propietats fonamentals del càlcul de predicats.

Page 95: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

91

SESSIÓ 26: Introducció a la programació

lògica

FITXA DE LA SESSIÓ

Nom: Introducció a la programació lògica Tipus: teòrica Format: no presencial Durada: 2.5 hores Treball a lliurar: no

PRECEDENTS

Fins ara hem estudiat els fonaments de la lògica matemàtica. Hem estudiat el càlcul proposicional i el càlcul de predicats de primer ordre com formalismes per representar i deduir coneixement.

OBJECTIUS

Donar una introducció a la programació lògica.

CONTINGUTS

4 Programació lògica/Prolog

4.1 Introducció

4.1.1 Història

Fins l‟any 1970 la lògica s‟utilitzava per a la demostració de teoremes i per a la representació de coneixements en el camp de la intel·ligència artificial. Al 1970 Colmerauer (França) i Kowalski (Anglaterra) van plantejar la possibilitat d‟utilitzar la lògica com un llenguatge de programació. Al 1973 es va escriure el primer interpretador per al llenguatge de programació lògica PROLOG. Des d‟aleshores, s‟han implementat diferents interpretadors i compiladors. Molts d‟ells han ampliat fins i tot les característiques originals. A Internet podeu trobar moltes pàgines relacionades amb Prolog.

4.1.2 Aplicacions de la programació lògica

La programació lògica es va començar a utilitzar en el camp de la intel·ligència artificial per a la representació de coneixement, en sistemes basats en regles, en sistemes de pattern matching,... Més tard es va utilitzar en aplicacions de llenguatge natural i en sistemes de suport a la presa de decisions.

Page 96: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

92

Pel seu alt nivell d‟abstracció, per l'enfocament declaratiu de programació i per la facilitat i simplicitat a l‟hora de suportar estructures de dades complexes, es pot utilitzar en un gran nombre d‟aplicacions. Sobretot si considerem les noves característiques afegides en la majoria dels compiladors actuals de Prolog.

4.2 De la lògica a la programació lògica

4.2.1 La lògica com un llenguatge de programació

Amb la lògica representem coneixements i demostrem conseqüències lògiques. Amb un llenguatge de programació lògica, com Prolog, programar consisteix a descriure (representar, especificar) els coneixements necessaris (amb una sintaxi apropiada) per resoldre (demostrar) un problema. Trobar la solució serà la tasca de l‟interpretador del llenguatge.

Clàusules enfront d’instruccions

Tota clàusula de Horn es pot expressar com una “instrucció” en programació lògica. Per exemple, la clàusula següent:

s r q p

pot ésser transformada seguint els següents passos:

)r q (p s

s )r q (p

s r q p

Ara la podem escriure, utilitzant una altra sintaxi, en la següent instrucció en programació lògica: s :- p,q,r. En què el símbol de puntuació , representa la conjunció lògica i el símbol :- representa la implicació lògica a la inversa. Aquesta instrucció es llegeix: S si P i Q i R. Diferents autors tenen diferents notacions per a la implicació i per a la conjunció. Nosaltres utilitzarem la notació de Visual Prolog.

Tipus de clàusules de Horn

Recordeu que les clàusules de Horn són clàusules que tenen com màxim un literal positiu. Això determina la següent tipificació de les clàusules de Horn:

Page 97: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

93

1. Clàusules amb un literal positiu i n literals negatius. En programació lògica les anomenem regles. Per exemple:

- Clàusula de Horn: s r q p

- En programació lògica: s :- p,q,r.

2. Clàusules amb un literal positiu i zero literals negatius. En programació lògica les anomenem fets. Per exemple:

- Clàusula de Horn: s - En programació lògica: s.

3. Clàusules amb zero literals positius i n literals negatius. En programació lògica les anomenem objectius. Per exemple:

- Clàusula de Horn: r q p

- En programació lògica: :- p,q,r.

4. Clàusula amb zero literals positius i zero literals negatius. En programació lògica l‟anomenem clàusula buida.

Programa en programació lògica

Un programa en programació lògica és un conjunt de regles i fets. És un conjunt de clàusules que representen coneixement i que poden ser considerades com les necessàries per resoldre un problema. La programació lògica s‟anomena programació declarativa.

Demostració enfront d’execució

L‟execució d‟un programa en programació lògica consisteix en la demostració que el conjunt de clàusules que representa el programa (regles + fets) més la clàusula (objectiu) que expressa el que es vol demostrar és inconsistent. La demostració per refutació utilitza la resolució, per tant en cas d‟haver-hi variables en l‟objectiu, aquestes prenen valors per unificació. Programar, per tant, és donar només el conjunt de regles i fets i expressar l‟objectiu. L‟execució del programa trobarà la solució buscada per resolució i unificació.

Page 98: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

94

A continuació donarem dos exemples que ens introduiran en la programació lògica.

4.2.2 Un exemple en CP0

Per començar a introduir els conceptes de la programació lògica farem un petit exemple en lògica proposicional (CP0). Suposem que volem demostrar en CP0 la següent conseqüència lògica:

q -| p , q p

A continuació explicarem en detall com es faria utilitzant la teoria de la demostració i com ho farem en programació lògica.

De les premisses al programa

En teoria de la demostració, cadascuna de les fbf‟s han de transformar-se en clàusules per poder aplicar resolució. En programació lògica les hem de transformar en clàusules però de Horn. Això no és sempre possible i de fet és una restricció del llenguatge Prolog. Premisses

p

q p

Clàusules

p

q p

Programa lògic q :- p. p.

De la conclusió a l’objectiu

Per poder aplicar resolució, s‟ha de negar la conclusió que es vol demostrar. En programació lògica, aquest serà l‟objectiu. Conclusió q

Conclusió negada

q

Objectiu del programa lògic Goal q.

Page 99: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

95

De la demostració a l’execució

En la teoria de la demostració, utilitzant resolució, la demostració seria:

3,4 5.

q 1,2 4.

q 3.

p 2.

q p .1

En aquest exemple hem utilitzat resolució però sense cap estratègia específica. En programació lògica, l‟interpretador de Prolog quan executa demostra.

En programació lògica també s‟utilitza la resolució però aplicant una certa estratègia que ja estudiarem en detall més endavant. El que avancem de moment és que utilitza resolució lineal prenent com clàusula top l‟objectiu a demostrar. Veurem que el caràcter no determinista de la programació lògica influeix sobre l‟estratègia a seguir.

4.2.3 Un exemple en CP1

Suposem ara que volem demostrar la següent conseqüència lògica en lògica de predicats de primer ordre (CP1).

m(homer) -| h(homer) , m(x)) (h(x)x

En llenguatge natural: Tots els homes són mortals, Homer és un home |- Homer és mortal

De les premisses al programa

En teoria de la demostració, cadascuna de les fbf‟s han de transformar-se en clàusules per poder aplicar resolució. Premisses

h(homero)

m(x)) (h(x)x

Page 100: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

96

Clàusules

h(homer)

m(x) h(x)

Programa lògic m(X) :- h(X). h(homer). En Prolog, els noms dels predicats han d‟anar en minúscules i els noms de les variables en majúscules.

De la conclusió a l’objectiu

Per poder aplicar resolució, s‟ha de negar la conclusió que es vol demostrar. En programació lògica serà l‟objectiu. Conclusió m(homer) Conclusió negada ¬ m(homer) Objectiu del programa lògic goal m(homer).

De la demostració a l’execució

En la teoria de la demostració, utilitzant resolució i unificació, la demostració es faria de la manera següent:

2,4 5.

h(homer) homer/x, 1,3 4.

m(homer) 3.

h(homer) 2.

m(x) h(x) 1.

En programació lògica, l‟interpretador faria:

Page 101: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

97

4.2.4 Programació procedural enfront de programació

lògica

Programació procedural

La programació clàssica fa intervenir d‟una part els coneixements específics del domini i d‟altra part el control que s‟ha de fer sobre aquest coneixement per resoldre el problema que ens interessa. En els llenguatges algorísmics, aquestes dues components de la programació no es distingeixen. Els llenguatges convencionals (C per exemple) són de naturalesa imperativa, és a dir, el programador ha de donar pas a pas les instruccions per resoldre el problema.

Programació lògica

L‟originalitat de la programació lògica, anomenada també programació declarativa, és oferir al programador una eina per a la descripció dels coneixements i del problema a resoldre. El control no és especificat pel programador i es deixa a l‟interpretador del llenguatge. El programador té, no obstant això, un mecanisme per poder, excepcionalment, actuar sobre aquest control (el cut !). La programació lògica es fa difícil per als programadors ja habituats a la programació amb llenguatges algorísmics. Però la programació lògica ofereix noves possibilitats que val la pena conèixer.

Característiques bàsiques

Al llarg del capítol anirem estudiant en detall les característiques de la programació lògica i més específicament les del llenguatge Prolog. De moment donem les següents característiques claus: unificació i resolució. Unificació Les variables utilitzades en les regles o fets són “locals” i considerades quantificades universalment. Els valors que prenen les variables són el resultat de l‟aplicació de l‟unificador trobat durant el procés de la resolució de dues clàusules. En programació lògica no existeix el concepte d‟assignació.

Page 102: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

98

Resolució El procés utilitzat per trobar la solució és la resolució. Com la resolució és un formalisme per demostrar, la solució és l‟unificador trobat per les variables de l‟objectiu. El caràcter no determinista de la lògica fa que puguin haver-hi diferents camins i per tant diferents solucions. Prolog utilitza una estratègia específica per explorar els diferents camins aplicant tècniques de backtracking. Més endavant estudiarem aquesta estratègia i com podem, com a programadors, intervenir-hi.

4.2.5 PROgramming LOGic

El llenguatge PROLOG (PROgramming LOGic) va ser dissenyat als anys 70 per Alain Colmerauer (Marseille) i Philippe Roussel (Marseille) amb la col·laboració de Robert Kowalski (Edimburg) a partir de treballs teòrics sobre la lògica, particularment els de Robinson. Prolog utilitza la lògica com llenguatge de programació. Actualment s‟utilitza en la programació d‟aplicacions d‟intel·ligència artificial i en el desenvolupament d‟interfases en llenguatge natural, bases de coneixements, etc.

Característiques

Les principals característiques són: 1. Llenguatge declaratiu. 2. Llenguatge basat en el càlcul de predicats de primer ordre i que suporta el càlcul proposicional. 3. Restringit a clàusules de Horn. 4. No és un vehicle per ensenyar lògica sinó que amb ell fem ús de la lògica. 5. Programa = {clàusules}. 6. Execució = resolució + unificació

Diferents interpretacions

Com hem dit fins ara en la programació lògica i particularment en Prolog un programa és un conjunt de clàusules i la seva execució correspon a una demostració per resolució. La solució es troba per unificació de les variables. Aquesta manera de veure o d‟interpretar un programa lògic s‟anomena interpretació deductiva. Per persones formades en lògica matemàtica ha de ser molt fàcil veure aquesta similitud i utilitzar-la per programar adequadament. Kowalski va donar a Prolog una interpretació diferent, la interpretació procedural. Aquesta manera de veure un programa serveix sobre tot per ensenyar i/o aprendre Prolog sense coneixements de lògica. En la interpretació procedural, cada predicat és vist com la crida a un procediment i la unificació com pas de paràmetres. Una regla és la definició del procediment en què la part dreta és el cos.

Page 103: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

99

Visual Prolog

Des dels orígens de Prolog s‟han escrit diversos interpretadors i compiladors. Durant el curs i per fer les pràctiques utilitzarem el Visual Prolog. El Visual Prolog és un entorn que ofereix, a més a més de les característiques bàsiques de Prolog, manipulació de finestres, bases de dades, etc.

Instal·lant Visual Prolog

L‟estudiant pot accedir a una còpia personal de Visual Prolog en l‟adreça: http://www.visual-prolog.com

Entorn Visual Prolog

Una vegada instal·lat el Visual Prolog en el vostre ordinador personal o en l‟aula de Pc‟s obriu el Visual Prolog i verifiqueu les següents característiques: - Edició d‟un programa. - Execució d‟un programa. - Finestra de Missatges (error). - Finestra de Goal (en aquesta mateixa finestra és on escriurem i llegirem per defecte).

RESUM

La lògica pot ser utilitzada com llenguatge de programació. El llenguatge Prolog va ser definit en la Universitat de Marsella als anys 70. Prolog està limitat a les clàusules de Horn. L‟execució d‟un programa lògic pot ser vista com una demostració o com una seqüència de crides a procediments. Visual Prolog és un entorn de programació lògica que disposa d‟un compilador de Prolog.

Page 104: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

100

Page 105: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

101

SESSIÓ 27: L’execució d’un programa

FITXA DE LA SESSIÓ

Nom: L‟execució d‟un programa Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Introduir els conceptes bàsics de la programació lògica en el context del Visual Prolog.

CONTINGUTS

En aquesta sessió estudiarem que és un programa i com s‟executa en Visual Prolog.

4.3 L’execució d’un programa

4.3.1 Definicions

Programa en Visual Prolog

Un programa en Prolog és un conjunt de clàusules de Horn. En Visual Prolog hem de distingir les clàusules que defineixen el problema: els fets i les regles de la clàusula objectiu. Aquesta distinció es fa mitjançant diferents seccions. La secció anomenada Clauses i la secció anomenada Goal respectivament. L‟exemple en CP0 utilitzat en la sessió anterior s‟expressaria en Visual Prolog de la manera següent: Clauses q :- p. p. Goal q. En Visual Prolog tots els predicats utilitzats en la secció Clauses han de ser prèviament declarats. La declaració de predicats es fa mitjançant una secció anomenada Predicates. L‟exemple queda doncs:

Page 106: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

102

Predicates p q Clauses q :- p. p. Goal q. Tot programa en Visual Prolog ha de contenir al menys aquestes tres seccions. Més endavant veurem com poden haver-hi altres seccions.

Els fets i les regles

En la secció Clauses estan els fets (clàusules n-àries) i les regles. Els fets representen predicats certs. En Prolog tot allò que no està definit com a cert és fals (hipòtesi de món tancat). En l‟exemple anterior hi ha un únic fet p. Les regles expressen una implicació lògica, és a dir, una relació condicional. Les regles són de la forma: p :- c1, c2, ...cn. Una regla es llegeix: p si c1 i c2 ....i cn. Això significa que p serà cert si són certs els predicats c1, c2,...i cn. Dit d‟una altra manera, per demostrar p hem de demostrar c1, c2, ... i cn. p també s‟anomena el cap de la regla i c1, c2,..., cn el cos de la regla. Les ci són les condicions o premisses per la conclusió p. En l‟exemple anterior hi ha una única regla: q :- p.

L’objectiu

En la secció Goal el programador expressa el que vol demostrar a partir de les clàusules donades. El Goal pot estar format per un o més predicats (objectiu simple o objectiu compost). Sigui el següent objectiu compost: Goal g1, g2, ...gn. Aquest goal expressa que es vol demostrar g1 i g2 ...i gn. Aleshores, g1 i g2 ..i gn són subobjectius a demostrar. El goal s‟anomena també query (pregunta). En l‟exemple anterior el goal és simple.

Page 107: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

103

L’execució

L‟execució d‟un programa Prolog es fa sota demanda del programador. L‟execució és la demostració del goal. El sistema, aplicant resolució, ha de ser capaç de provar-lo. Si el pot demostrar, l‟execució acaba amb èxit i el sistema respon yes en el cas de CP0 o dóna la solució (unificador trobat per les variables del goal) en el cas de CP1. Si no el pot demostrar i l‟execució acaba, el sistema respon no. En alguns casos i sempre a causa de la programació, l‟execució pot ser infinita i entra en cicle. En l‟exemple anterior l‟execució acabaria responent yes.

4.3.2 Execució deductiva

Els programes lògics són executats per un interpretador (anomenat motor d‟inferència) que és capaç d‟aplicar resolució amb unificació partint de l‟objectiu a demostrar. Els passos que fa són: 1. Verifica la sintaxi. 2. Representa internament les clàusules. 3. Inclou l‟objectiu a demostrar. 4. Desenvolupa una estratègia per trobar la clàusula buida. Depenent del programa i de l‟objectiu, l‟interpretador pot: 1. No aturar-se. 2. Aturar-se sense haver demostrat l‟objectiu. Això equival a dir que no hi ha solució. 3. Aturar-se i haver trobat una o més solucions. En aquest cas dóna tots els unificadors (solucions) possibles per a les variables de l‟objectiu. Abans de programar en Prolog hem d‟entendre molt bé l‟estratègia de resolució utilitzada.

Demostrant un objectiu simple en CP0

Sigui el següent programa: Predicates p q r s t Clauses (1) p :- q,r. (2) p :- s. (3) q. (4) q :- s. (5) r. (6) s. (7) s :- t. (8) t

Page 108: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

104

Goal p. Hem enumerat les clàusules per poder referir-nos a elles però no es numeren. Per demostrar l‟objectiu p utilitzant la regla (1) hem de demostrar q i r. En aquest cas la demostració d‟un objectiu simple s‟ha transformat en la demostració d‟un conjunt d‟objectius. Efectivament, Prolog substitueix en la llista d’objectius a provar, un objectiu per uns altres de nous. Aquesta inclusió d‟objectius és el resultat d‟haver aplicat una resolució entre un objectiu i una regla. Quan la resolució s‟aplica entre un objectiu i un fet, no s‟inclou cap nou objectiu ja que es considera provat. L‟execució acabarà, doncs, si la llista d‟objectius és buida. Podem representar gràficament l‟execució d‟un objectiu. Per l‟exemple anterior l‟execució actuaria de la manera següent:

Si ens fixem hem seguit una certa estratègia per fer la demostració. En primer lloc quan volíem demostrar p hem utilitzat la regla (1) però podríem haver utilitzat la regla (2). Hem seleccionat per tant una regla de les possibles. En segon lloc, quan teníem una llista d‟objectius a demostrar (q, r) hem provat primer q i desprès r , és a dir, hem seleccionat el proper objectiu a demostrar.

Exercicis pràctics

Feu els exercicis 1, 2 i 3 de l‟annex: “Exercicis pràctics de Prolog”. Objectius dels exercicis proposats: - Prendre "consciència" que executar un programa Prolog equival a demostrar que un conjunt de clàusules és inconsistent. - Diferenciar entre programa i objectiu. - Conceptes de triomf (YES) i fracàs (NO). - Entendre l'estratègia de resolució utilitzada per Prolog: ordre de les clàusules, cas determinista i cas no determinista.

Page 109: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

105

Estratègia d’execució (el control)

En l‟exemple anterior hem vist que l‟estratègia per l‟execució d‟un programa inclou els següents processos: 1. Incloure objectius en la llista d‟objectius com a resultat de la resolució entre un objectiu i una regla. 2. Seleccionar una regla, entre les possibles, per resoldre un objectiu. 3. Seleccionar el proper objectiu, de la llista d‟objectius a resoldre. Visual Prolog segueix la següent estratègia. Sigui o1, o2,...en què la llista d‟objectius a demostrar en un pas determinat de l‟execució. 1. Seleccionar l’objectiu més a l’esquerra (o1). Efectivament, es demostraran d‟esquerra a dreta. 2. Seleccionar una regla r1 :- p1,p2,...pm. de manera que o1 i r1 tinguin el mateix nom de predicat i els seus termes (arguments) siguin unificables. Com la lògica permet tenir predicats no deterministes, aleshores poden haver-hi diverses regles potencials per resoldre l‟objectiu. Prolog selecciona la primera en l’ordre que apareixen en el programa. Fixeu-vos doncs en la importància de l‟ordre ja que és una manera d‟intervenir en l‟estratègia. 3. Aplicar la regla seleccionada. L‟execució de la regla consisteix en: - unificar els termes de l‟objectiu i del predicat de la part esquerra de la regla. - aplicar l‟unificador als predicats de la part dreta de la regla i els objectius restants de la llista que falten per demostrar. - substituir l‟objectiu que s‟està demostrant per als predicats unificats de la part dreta de la regla. Aquests predicats s’insereixen com a nous objectius en la part esquerra de la llista d‟objectius

Backtracking

En l‟estratègia descrita anteriorment, a l‟hora d‟escollir i aplicar una regla de les possibles per demostrar un objectiu, poden presentar-se dues situacions: 1. Algun o tots els objectius nous introduïts no poden ser provats. 2. Els objectius nous introduïts poden ser provats però hi ha altres regles que també ens portarien a una solució. En els dos casos Visual Prolog aplica la tècnica de backtracking. És a dir, torna enrere desfent el que ha fet per seguir un altre camí aplicant la següent regla possible. En el primer cas és necessari per continuar provant i per esgotar tots el camins per trobar una solució. En el segon cas, es fa per trobar totes les solucions possibles. Aquesta és una característica espectacular de Prolog que fa que sigui un llenguatge de programació molt poderós. En aquesta mateixa sessió donarem exemples per il·lustrar aquest mecanisme.

Page 110: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

106

Controlant la cerca de solucions

L‟estratègia de control estudiada amb backtracking cerca tots les solucions de l‟objectiu. En alguns casos el mecanisme de backtracking pot fer cerques innecessàries i per tant el procés de cerca de solucions es pot tornar ineficaç. Un exemple d‟aquest cas és quan només volem una solució. Com programadors disposem dels predicats cut (!) i fail per actuar sobre l‟estratègia de control. Estudiarem aquests predicats, en més detall, en el proper apartat. Recordeu-vos que també és important l‟ordre de les clàusules per l‟estratègia de control.

4.3.3 L’espai de solucions

El caràcter no determinista d‟un programa lògic i la utilització de variables en l‟objectiu juntament amb l‟estratègia utilitzada per Prolog fa que l‟espai de solucions possibles sigui un arbre. Aquest arbre, evidentment, no es construeix tot, sinó que es va construint/explorant a mesura que s‟executa el programa.

Arbre d’objectius

L‟estratègia de control amb backtracking, construeix un arbre de solucions per a l‟objectiu demanat que anomenarem arbre d‟objectius. Podem distingir diferents tipus de camins en l‟arbre: - el camí que ens porta a l’èxit, és a dir, el camí on arribem amb la llista d‟objectius buida. En aquest cas, hem arribat a la clàusula buida i per tant tenim una solució. - el camí que ens porta al fracàs, és a dir, on arribem amb una llista d‟objectius en què el primer no pot ser demostrat. En aquest cas, no tenim una solució i per tant hem de tornar enrere (fer backtracking) per explorar una altra possibilitat per l‟últim objectiu demostrat. - el camí infinit, és a dir, el camí genera de forma cíclica nous objectius a demostrar. En aquest cas, el programa no s‟atura i és a causa d‟una mala programació.

Trobant una solució amb backtracking.

Si executem l‟exemple ch04e02.pro amb l‟objectiu likes(bill,What), veurem que el motor de Prolog ha de fer backtracking per trobar una solució. L‟arbre d‟objectius per l‟objectiu donat és:

Page 111: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

107

[Prolog2001]

Trobant totes les solucions amb backtracking.

Si executem l‟exemple ch04e03.pro amb l‟objectiu compost: player(Person1,9),player(Person2,9),Person1 <> Person2 veurem que el motor de Prolog ha de fer backtracking per trobar totes les solucions. Consulteu el document Arbrech04e03.pdf en el directori Documents en què es mostra l‟arbre d‟objectius per aquest objectiu.

[Prolog2001]

Exercicis pràctics

Feu l‟exercici 4 de l‟annex: “Exercicis pràctics de Prolog”.

4.3.4 Intervenint en el control

En aquest apartat estudiem els predicats cut i fail que ens permeten, com a programador, intervenir en el procés de cerca de solucions. És a dir, en l‟arbre d‟objectius.

Page 112: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

108

El cut !

El predicat cut està representat pel símbol !. És a dir, en lloc d‟utilitzar el nom cut com nom de predicat, s‟utilitza el símbol !. La missió del ! és prevenir el backtracking. És a dir, és impossible anar enrere (fer backtracking) sobre el predicat !. El ! es pot utilitzar en la part dreta de les regles com un predicat més, separat per comes.

Utilització del cut

Per prevenir el backtracking a un subobjectiu previ: r:- a, b, !, c. Consulteu l‟exemple ch04e07.pro en què es mostra un exemple d‟utilització del predicat !. Consulteu el document Arbrech04e07.pdf en el directori Documents en què es mostra l‟arbre d‟objectius per l‟objectiu buy_car(corvette,Y). Per prevenir el backtracking a la pròxima clàusula: r(1):- !, a, b, c. r(2):- !, d. r(3):- !, c. r(_):- write(“aquesta clàusula es la que s‟executa en últim cas”). Consulteu l‟exemple ch04e08.pro en què es mostra un exemple d‟utilització del predicat !. Consulteu el document Arbrech04e08.pdf en el directori Documents en què es mostra l‟arbre d‟objectius.

[Prolog2001]

Exemples

Consulteu els exemples ch04e014.pro i ch04e013.pro.

[Prolog2001]

Page 113: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

109

El predicat fail

El backtracking es fa quan hi ha un predicat que falla. Prolog disposa d‟un predicat predefinit: fail, que sempre falla i per tant força el backtracking. Consulteu l‟exemple ch04e06.pro.

[Prolog2001]

El predicat not

Prolog disposa d‟un predicat predefinit: not(objectiu) que és cert quan l‟objectiu que té com argument no pot ser provat. Consulteu els exemples ch04e010.pro i ch04e011.pro.

[Prolog2001]

RESUM

El backtracking és el mecanisme que utilitza Prolog per provar més solucions. Prolog disposa de tres eines per controlar la cerca de solucions: el fail, el not i el cut(!).

Page 114: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

110

Page 115: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

111

SESSIÓ 28: Dominis simples i

operacions

FITXA DE LA SESSIÓ

Nom: Dominis simples i operacions Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Estudiar l‟ús i la declaració de dominis simples en Prolog.

CONTINGUTS

4.4 Dominis

4.4.1 Dominis simples

Els dominis són els tipus dels arguments dels predicats. Recordeu que en CP1, els arguments poden ser termes. Els termes poden ser constants o funcions. Per exemple, el predicat p(a) té un únic argument i és una constant. El predicat g(h(a),b) té dos arguments, el primer és una funció d‟un argument i el segon és una constant. Les constants són de tipus simple (dominis simples) i les funcions són de tipus compost (dominis compostos). Les funcions són les utilitzades en la lògica de primer ordre i no impliquen cap operació. Si us en recordeu, també poden tenir com argument una variable, per exemple, q(X). En aquest cas la variable es pot unificar amb una constant o una funció.

Variables

Les variables utilitzades en els fets i en les regles d‟un programa en Visual Prolog han de començar amb lletra majúscula o underscore (_). Les variables s‟unifiquen durant el procés de resolució. Un underscore (_) sol, representa una variable anònima, això vol dir que la unificació no ens importa. Les variables utilitzades en una regla són locals a ella.

Page 116: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

112

Tipus predefinits

Visual Prolog té definits els següents dominis simples: char integer real string symbol Els tipus char, integer, real i string són els que tradicionalment podem trobar en un llenguatge de programació convencional. I com veurem més endavant en aquesta mateixa sessió hi ha un conjunt d‟operacions definides sobre els dominis simples. El tipus symbol representa, com el string , cadenes de caràcters però només poden contenir lletres, dígits, underscore (_) i començar amb una lletra minúscula. Hi ha conversió entre strings i símbols. Els símbols són des del punt de vista de CP1 les constants simbòliques.

Declaració de dominis

Podem declarar nous dominis a partir de dominis predefinits o definits anteriorment. La declaració de nous dominis es fa en una secció especial anomenada Domains. La declaració de dominis és necessària en Visual Prolog ja que aquest el codi es compila. En les primeres versions de Prolog, però més lligades a la lògica, no era necessari.

Exemples utilitzant dominis predefinits

En els exemples ch03e04.pro i ch03e05.pro podeu veure que si els dominis utilitzats en la declaració de predicats són els predefinits, la secció domains no és necessària.

[Prolog2001]

Exemple utilitzant dominis definits

La definició de nous dominis simples a partir d‟altres simples ja predefinits equival a un canvi de nom. La finalitat d‟això és donar un significat al domini. Mireu-vos l‟exemple ch03e06.pro.

[Prolog2001]

4.4.2 Operacions

Els dominis simples tenen un conjunt d‟operacions i de predicats predefinits per operar.

Page 117: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

113

Operacions aritmètiques

Els dominis simples integer i real disposen d‟un conjunt d‟operadors predefinits. Els operadors són els clàssics +, - , * , / , div i mod. Les expressions aritmètiques poden ser utilitzades o bé en la definició de constants, en la part dreta o esquerra d‟un operador de comparació o bé en la part dreta del predicat d‟igualtat (=). Mai no podeu utilitzar una expressió aritmètica com un argument de predicat. Recordeu que en Prolog no s‟utilitza el concepte d‟assignació. Podeu consultar les operacions aritmètiques i les conversions possibles en el manual a què es fa referència.

[Prolog2001]

Funcions i predicats predefinits

Visual Prolog disposa d‟un conjunt de funcions i predicats predefinits per operar sobre sencers i reals.

[Prolog2001]

Comparacions

Visual Prolog pot comparar expressions aritmètiques, caràcters, strings i símbols. És a dir, pot comparar dominis simples. Les comparacions es fan mitjançant operadors relacionals, com en els llenguatges clàssics, però poden ser vistos com predicats. Si en les expressions a comparar hi ha variables, aquestes han d‟estar unificades.

[Prolog2001]

Igualtat

Per programar sense errors i poder utilitzar la potència de Prolog hem d‟assumir que l‟assignació no existeix i que el que tenim en el seu lloc és el predicat d‟igualtat(=). El predicat d‟igualtat té la següent forma: variable = expressió que indica una relació entre objectes serà cert si els objectes són els mateixos. Si la variable no està afitada, és a dir, no està unificada, aleshores s‟avalua l‟expressió i després s‟unifica la variable amb aquest valor. Si la variable està unificada, avalua l‟expressió i comprova que els valors són els mateixos. Per tant, la igualtat X = X + 1 no té sentit en Prolog.

[Prolog2001]

Page 118: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

114

Exemples

Consulteu els exemples ch09e01.pro i ch09e02.pro en què trobareu utilitzacions de la igualtat (=), de funcions predefinides (random), expressions aritmètiques i comparacions.

Exercicis pràctics

Feu els exercici 5, 6, 7 i 8 del document: “Exercicis pràctics de Prolog”.

RESUM

Els tipus predefinits simples són: char, integer, real, string i symbol. Cada domini simple disposa d‟un conjunt d‟operadors predefinits així com d‟un conjunt de funcions. El predicat d‟igualtat funciona com una unificació.

Page 119: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

115

SESSIÓ 29: Dominis compostos i

operacions

FITXA DE LA SESSIÓ

Nom: Dominis compostos i operacions Tipus: teòrica Format: no presencial Durada: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Estudiar l‟ús i la declaració de dominis compostos en Prolog.

CONTINGUTS

4.4.3 Dominis compostos

Els dominis compostos corresponen als termes de la forma f(t1,t2,..tn) del càlcul de predicats CP1. En Visual Prolog podem utilitzar-los com arguments de predicats sempre que els haguem declarat prèviament.

Declaració de dominis compostos

Podem declarar dominis compostos a partir de dominis predefinits o dominis definits anteriorment siguin aquests simples o compostos. És a dir, com argument d‟un terme compost podem tenir un terme compost. La declaració de nous dominis es fa en una secció especial anomenada Domains. Els dominis compostos permeten tenir informació agrupada. Per exemple, una data té tres informacions: el dia, el mes i l‟any. Aquestes tres peces d‟informació poden ser mantingudes i manipulades juntes de la manera següent: Domains mes,dia,any = integer nom = string data = d(dia,mes,any) Aleshores podríem tenir un predicat aniversari(nom,data), que relaciona el nom d‟ una persona amb la seva data de naixement.

Page 120: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

116

Unificació d’objectes de dominis compostos

Dos arguments de predicats de dominis compostos poden unificar-se en els següents casos: 1. Si l‟un és una variable i l‟altre un terme qualsevol. Per exemple, els predicats aniversari(josep,d(12,10,1975)) i aniversari(josep,X) són unificables amb {d(12,10,1975)/X}. 2. Si els dos són termes compostos amb el mateix nom de funció i els seus arguments són unificables. Per exemple, els predicats aniversari(josep,d(12,10,1975)) i aniversari(josep,d(12,X,Y)) són unificables amb {10/X , 1975/Y}.

Utilitzant la igualtat amb dominis compostos

En l‟exemple ch05e01.pro es mostra la utilitat de la unificació d‟objectes de dominis compostos. Com podeu observar les variables de la part esquerra s‟unifiquen amb termes compostos.

Un exemple

Consulteu l‟exemple ch05e03.pro. Fixeu-vos en la declaració dels dominis i en la seva utilització com arguments de predicats. L‟explicació detallada d‟aquest exercici es troba en la referència.

[Prolog2001]

Dominis compostos dins de dominis compostos

Recordeu que un domini compost es defineix utilitzant un nom de funció i utilitzant com arguments altres dominis. Aleshores qualsevol dels dominis dels arguments pot ser un domini compost. Consulteu la declaració del dominis articles en el programa ch05e04.pro.

Dominis compostos recursius

Atès que podem tenir com arguments dels dominis compostos altres dominis compostos, en particular podríem definir un domini recursiu. És a dir, com argument d‟un domini compost, podríem utilitzar el nom de domini que estem definint. Per exemple, sigui la següent definició: Domains conjunt = c(integer,conjunt) Aquesta definició especifica que un conjunt és un sencer i un conjunt més, així és que el segon conjunt és un sencer i un conjunt més, ... .Estem davant d‟una estructura recursiva.

Page 121: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

117

Evidentment la declaració està incompleta ja que estem obligats a posar fi a la recursió, si no no podríem especificar la fi de l‟estructura. La declaració és doncs: Domains conjunt = c(integer,conjunt) ; res en què ; vol dir o, és a dir, una alternativa i res és una mena de constant especificant la fi. res és qualsevol nom escollit pel programador. El terme c(1,c(2,c(3,res))) pertany al domini conjunt declarat i està representant el conjunt {1,2,3}. En la referència donada hi ha l‟exemple de com podem declarar l‟estructura de dades arbre. Els programes ch06e10.pro i ch06e11.pro implementen algunes operacions sobre arbres. El programa ch06e11.pro utilitza predicats de lectura i escriptura que estudiarem en pròximes sessions.

[Prolog2001]

Exercicis pràctics

Feu els exercici 9, 10, 11 i 12 del document: “Exercicis pràctics de Prolog”.

RESUM

La declaració de dominis compostos es fa a partir d‟altres dominis definits o de dominis predefinits. En particular podem definir dominis recursius. Prolog defineix la unificació entre dominis compostos.

Page 122: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

118

Page 123: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

119

SESSIÓ 30: Llistes

FITXA DE LA SESSIÓ

Nom: Llistes Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Estudiar en detall el domini llista que ofereix Prolog.

CONTINGUTS

4.4.4 Llistes

Les llistes són estructures de dades que poden contenir un nombre arbitrari d‟elements. Són considerades recursives ja que una llista pot ser definida recursivament de la següent manera: - la llista buida és una llista - una llista és un element (el primer) i una llista (la resta d‟elements) Una llista podria definir-se utilitzant dominis compostos de la següent manera: Domains llista = l(integer,llista);buida La llista l(3,l(5,l(1,buida))) es representa gràficament:

Prolog proporciona una manera de definir les llistes i una notació específica sense la necessitat d‟utilitzar noms de funcions (en l‟exemple l).

Page 124: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

120

Què és una llista en Prolog?

Les llistes en Prolog ens ajuden a definir dominis compostos que poden ser utilitzats com arguments de predicats. Una llista és una col·lecció d‟un nombre arbitrari d‟elements. En particular, una llista pot contenir 0 elements. En aquest cas s‟anomena llista buida. La declaració de llistes es fa utilitzant l‟operador predefinit *. La llista que hem definit abans, utilitzant la funció l, pot definir-se de la manera següent: Domains llista = integer* El domini llista defineix una llista de sencers. Aquest domini inclou la llista amb 0 elements. La llista l(3,l(5,l(1,buida))) d‟abans, ara s‟escriu [3,5,1]. Gràficament, podríem representar-la de la manera següent:

Fixeu-vos que ara no tenim nom de funció ja que de fet no s‟utilitza.

Notació

Una llista s‟escriu utilitzant els claudàtors ([]) com delimitadors. Els elements es posen dins separats per comes. La llista buida s‟escriu []. A causa del caràcter recursiu del domini llista, Prolog distingeix el cap (head) de la llista de la resta (tail) de la llista. El cap és sempre un element i la resta és una llista. Per exemple, en la llista [3,5,1], el cap és 3 i la resta és la llista [5,1]. Aquests conceptes són molt importants a l‟hora d‟unificar variables amb llistes.

Unificació

La unificació de llistes es fa tenint en compte els conceptes de cap i resta. Com en el cas dels dominis compostos, les variables poden ser utilitzades per unificar tot un objecte, en aquest cas tota una llista, o per unificar parts d‟un objecte. Una notació especialment interessant i imprescindible per a la manipulació de llistes és la que fa referència al cap i resta de la llista. Aquesta notació és de la forma [X|Y].

Page 125: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

121

L‟operador | indica que volem unificar el primer element de la llista (el cap) amb la variable X i la resta de la llista amb la variable Y. A continuació en donem alguns exemples: - la llista [3,5,1] s‟unifica amb la llista [X|Y] amb l‟unificador {3/X , [5,1]/Y} - la llista [3,5,1] s‟unifica amb la llista [X,Y|Z] amb l‟unificador {3/X, 5/Y , [1]/Z} - la llista [3,5,1] s‟unifica amb la llista [3|Y] amb l‟unificador {[5,1]/Y} - la llista [3,5,1] NO s‟unifica amb la llista [2|Y]

Recorrent una llista

La majoria dels algorismes per operar sobre llistes necessiten “recórrer” la llista. És a dir, per processar una llista hem de recórrer els seus elements un a un fins al final de la llista. Aquest algorisme s‟implementa, en la majoria del casos, utilitzant dues clàusules: una clàusula definint què és fa quan la llista és buida i una altra que defineix el cas general quan tenim una llista que es pot dividir en cap i resta. Proposem el programa ch07e01.pro per estudiar-lo en detall ja que és molt simple però ens dóna les bases per poder escriure altres algorismes que operin sobre llistes. Aquest programa imprimeix els elements d‟una llista de sencers. Fixeu-vos bé com tracta el cas particular (llista buida) i com tracta el cas general (llista amb elements). El cas particular serveix en dues ocasions, quan la llista del goal original és buida o quan en un subobjectiu generat la llista sigui buida. En l‟últim cas és quan estem al final del recorregut de la llista original. Per aquest programa val la pena que intenteu dibuixar l‟arbre d‟objectius que es genera durant la prova del goal.

[Prolog2001]

Comptant els elements d’una llista

El programa ch07e02.pro és altre exemple interessant per entendre el funcionament dels algorismes sobre llistes. Aquest exemple utilitza variables anònimes ja que la unificació amb els elements de la llista no ens interessa: el que volem és comptar-los.

[Prolog2001]

Membre d’una llista

El programa ch07e06.pro verifica si un element donat pertany a una llista donada.

[Prolog2001]

Construint una llista a partir d’una altra

Alguns algorismes necessiten, a més de recórrer la llista, crear una altra llista. Un cas específic és quan volem, per exemple, inserir un element nou a una llista. Això no és

Page 126: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

122

possible en Prolog. L‟única alternativa és crear una altra llista a partir de l‟original i inserir-hi l‟element que volem. El programa ch07e05.pro mostra com es crea una nova llista a mesura que es recorre l‟original. Aquest programa crea, en particular, una llista nova amb només els sencers positius de l‟original. Recomanem fer l‟arbre d‟objectius pel goal que proposa el programa.

[Prolog2001]

Altres operacions

Estudieu-vos el programa ch07e07.pro que concatena dues llistes i produeix una tercera llista.

[Prolog2001]

El predicat Findall

Prolog ofereix un predicat predefinit anomenat findall per construir llistes a partir de fets. La sintaxi és la següent: findall(VarNom, fet, VarLlista) El findall considera com a goal el fet donat com segon argument, aleshores construeix una llista amb totes les solucions per a aquest goal. En la llista posa les unificacions trobades per la variable VarNom. La variable VarNom especifica quin argument del fet donat és el que es guardarà en la llista anomenada VarLlista. El fet indica de quin predicat s‟agafaran els valors que es posaran en la llista. Aquest predicat és molt útil per escriure algorismes sobre fets dinàmics que estudiarem en pròximes sessions. Per entendre com funciona el predicat findall, estudieu-vos el programa ch07e08.pro.

[Prolog2001]

Exercicis pràctics

Feu els exercici 13 i 14 de l‟annex: “Exercicis pràctics de Prolog”.

Page 127: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

123

4.4.5 Problemes

Arbre d’objectius

Per l‟exercici ch07e02.pro dibuixeu l‟arbre d‟objectius pel següent goal: Goal length_of([3,4,1],L).

Arbre d’objectius

L‟exercici proposat ens planteja un goal diferent pel programa ch07e02.pro. Per contestar les preguntes que us fan, construïu el possible arbre d‟objectius.

[Prolog2001]

RESUM

Les llistes poden ser utilitzades com arguments de predicats. Són termes compostos. Prolog disposa d‟una notació predefinida ([]) per la utilització de llistes. Una llista és una estructura recursiva en què distingim el cap de la llista de la resta de la llista. El cap d‟una llista és un element i la resta és una llista. Visual Prolog disposa del predicat findall que permet construir una llista de solucions de l‟objectiu que té com argument.

Page 128: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

124

Page 129: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

125

SESSIÓ 31: Lectura i escriptura

FITXA DE LA SESSIÓ

Nom: Lectura i escriptura Tipus: teòrica Format: no presencial Durada: 1.5 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Estudiar els predicats que permeten llegir i escriure.

CONTINGUTS

4.5 Lectura i escriptura

4.5.1 Lectura

Dispositiu estàndard de lectura

El dispositiu estàndard de lectura és el teclat (stdin). En Visual Prolog podem veure l’eco del terminal en la finestra en què s‟executa el goal. La tecla enter indica a Prolog la fi de l‟escriptura i per tant li indica que ja pot llegir la dada.

Predicats per llegir

Visual Prolog proporciona els següents predicats estàndards per: - llegir una línia (string) de caràcters readln(X) X és una variable que s'unificarà amb la línia llegida - llegir un valor d’un domini simple sencers: readint(X) reals: readreal(X) caràcters: readchar(X)

Page 130: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

126

En els tres casos X és una variable que s‟unificarà amb el valor sencer, real o caràcter llegit. - llegir un valor de domini compost readterm(Domini,X) Aquest predicat permet de llegir termes, és a dir, valors de dominis compostos. El Domini indica el tipus(domini) del terme que s‟ha de llegir. Tots aquests predicats poden ser redirigits per llegir de fitxer.

[Prolog2001]

Exemples

Consulteu els programes ch12e07.pro i ch12e08.pro que mostren la utilització dels predicats de lectura.

[Prolog2001]

4.5.2 Escriptura

Dispositiu estàndard d’escriptura

El dispositiu estàndard de sortida és la pantalla (stdout). En Visual Prolog és la finestra en què s‟executa el goal. Els predicats d‟escriptura són molt simples i sempre escriuen en el dispositiu assignat com a sortida. Més endavant veurem que, per programa i amb un predicat predefinit, podem canviar-lo per tal que sigui un fitxer determinat.

Predicats per escriure

Visual Prolog proporciona tres predicats estàndards per escriure: write(Param1, Param2,..Paramn) nl writef(FormatString, Arg1, Arg2,....ArgN) Ja hem utilitzat el predicat nl (new line) en exemples anteriors. No té arguments i escriu un salt de línia en la sortida. El predicat write accepta qualsevol nombre d‟arguments i de qualsevol domini. Els arguments poden ser constants o variables. Si són variables, aquestes han d‟estar unificades.

Page 131: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

127

El predicat writef és igual que el predicat write però permet formatar la sortida.

Exemples

En alguns dels programes estudiats amb anterioritat hem vist la utilització dels predicats d‟escriptura. Consulteu ara els programes específics ch12e01.pro, ch12e02.pro, ch12e03.pro, ch12e04.pro, ch12e05.pro i ch12e06.pro que mostren la potencialitat d‟aquests predicats.

[Prolog2001]

4.5.3 Sistema de fitxers

Visual Prolog posa a la disposició del programador un conjunt de predicats per manipular fitxers en disc. Es poden definir i utilitzar fitxers de lectura, d‟escriptura, per afegir i per modificar.

Especificant el directori del fitxer

A l‟hora d‟utilitzar fitxers hem d‟especificar el directori en què es troben. Atès que el caràcter “\” és un caràcter escape, el camí (path) d‟un fitxer ha d‟expressar-se utilitzant “\\” en lloc de “\”. Per exemple: “c:\\prolog\\exemples\\exemple.pro”.

Canviant els estàndards d’escriptura i de lectura

Visual Prolog disposa de dos predicats: writedevice i readdevice per canviar o per saber quin és el dispositiu estàndard de sortida o d‟entrada respectivament. Els predicats read i write actuen sobre el dispositiu que estigui assignat com a estàndard. A l‟hora d‟utilitzar fitxers, aquests predicats són de gran utilitat.

Obrint i tancant fitxers

Prolog disposa dels següents predicats per obrir i tancar els diferents tipus de fitxer que podem manipular. openread openwrite openappend openmodify filemode closefile

Page 132: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

128

Predicats per manipulació de fitxers

A més a més dels predicats per escriure, llegir, obrir i tancar fitxers, disposem d‟un conjunt de predicats predefinits per fer diferents operacions sobre fitxers. Algunes són: renamefile copyfile deletefile existfile eof

RESUM

El dispositiu estàndard de lectura és el teclat (stdin) i el d‟escriptura la pantalla (stdout). Prolog proporciona un conjunt de predicats per llegir valors de dominis simples i de dominis compostos: readln, readint, readreal, readchar i readterm. Prolog proporciona un conjunt de predicats per escriure: write i writef. Prolog també permet manipular fitxers en disc mitjançant un conjunt de predicats.

Page 133: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

129

SESSIÓ 32: Fets dinàmics

FTXA DE LA SESSIÓ

Nom: Fets dinàmics Tipus: teòrica Format: no presencial Durada: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Estudiar l‟ús i la declaració de fets dinàmics, és a dir, de predicats que poden ser manipulats en temps d‟execució.

CONTINGUTS

4.6 Bases de dades internes

4.6.1 Fets dinàmics

Un fet és una clàusula unitària. Els fets que hem estudiat fins ara es declaren en la secció Predicates ja que són predicats. Aquest fets són certs durant tota l‟execució del programa i no poden ser manipulats dinàmicament. Visual Prolog dóna una altra alternativa per manipular fets i considerar-los dinàmics: la secció Facts o Database. Els fets declarats en aquesta secció poden ésser esborrats (deixen de ser certs ja que no hi són) o afegits (ara són certs ja que abans no hi eren). Els fets dinàmics són considerats com si fossin una base dades interna que pot actualitzar-se en temps d‟execució.

Fets dinàmics enfront de fets estàtics

Els noms dels predicats dels fets estàtics estan definits en la secció Predicates i els predicats estan especificats en la secció Clauses. Els noms del predicats dels fets dinàmics estan definits en la secció Facts i els predicats poden estar especificats en la secció Clauses i/o a través dels predicats assert i consult que permeten afegir fets durant l‟execució del programa. Els fets dinàmics poden ser utilitzats com els fets estàtics.

Page 134: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

130

Declaració de la secció Facts

La secció Facts o Database (són dos noms equivalents per a la secció i s‟han mantingut per compatibilitat de versions) permet declarar predicats que seran considerats fets dinàmics durant l‟execució del programa. Tots els predicats definits en aquesta secció formen part de la mateixa base de dades. Això és important ja que l‟operació save, que veurem més endavant, guarda a fitxer tots els predicats de la base de dades. Visual Prolog permet tenir diferents bases de dades, és a dir, diferents grups de predicats relacionats. És possible tenir doncs diverses seccions facts cadascuna amb un nom diferent. A continuació es mostra l‟estructura d‟un programa amb una sola secció Facts i amb diverses. Exemple amb una única secció facts: Domains ..... Facts ...... Predicates ..... Clauses ..... Exemple amb diverses seccions facts: Domains ..... Facts - nom1 ...... Facts - nom2 ...... Facts - nom3 ..... Predicates .... Clauses ......

Restriccions

Hi ha les següents restriccions en la utilització i declaració de facts: - Els noms dels predicats utilitzats en les diferents seccions facts han de ser únics. - La secció facts només admet fets i no regles. - Els fets dinàmics que afegim no poden contenir variables lliures.

Page 135: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

131

Operacions sobre facts

Els fets que formen part d‟una base dades poden estar especificats en temps de compilació (estàticament) en la secció clauses i després, durant l‟execució, se n‟hi poden afegir de nous o esborrar-ne. Visual Prolog permet mitjançant predicats predefinits fer les següents operacions: - Afegir nous fets (assert) - Esborrar fets (retract) - Llegir un conjunt de fets de fitxer (consult) - Guardar un conjunt de fets a fitxer (save) Fixeu-vos que per actualitzar alguna informació d‟un fet, hem d‟esborrar i afegir. És a dir, no existeix cap operació d‟actualització.

Predicats assert. Afegint-hi fets

Podem afegir fets a qualssevol de les bases de dades internes a través dels predicats assert o a través dels predicats consult. Hi ha tres predicats assert que permeten d‟afegir-hi un fet en temps d‟execució: asserta(El fet que hi volem afegir) asserta(El fet que hi volem afegir, NomDatabase) assertz(El fet que hi volem afegir) assertz(El fet que hi volem afegir, NomDatabase) assert(El fet que hi volem afegir) assert(El fet que hi volem afegir, NomDatabase) Com podeu observar cadascun dels predicats té dues sintaxis, una en el cas de tenir una sola base dades sense nom i l‟altra en el cas de tenir diverses bases de dades perquè puguem especificar on volem afegir. Recordeu que l‟ordre dels fets és important a l‟hora d‟executar el programa, per tant, el programador pot escollir introduir el fet de primer (asserta) o d‟últim (assertz). Assert es comporta com assertz.

Predicat consult. Llegint fets

Una altra manera d‟afegir-hi fets, és llegir-los d‟un fitxer. Això permet tenir fitxers (tipus text) amb fets que poden ser introduïts durant l‟execució del programa. Restriccions sobre el fitxer de fets: 1. No poden haver-hi caràcters en majúscules ni espais. Només si són en strings. 2. No poden haver-hi comentaris ni línies buides. 3. No poden haver-hi symbols sense dobles cometes. 4. Un fet per línia i acabant amb un punt. Els predicats que permeten llegir són:

Page 136: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

132

consult(NomFitxer) consult(NomFitxer, NomDatabase)

Predicat retract. Esborrant fets

Podem esborrar fets en qualssevol de les bases de dades internes a través dels predicats retract. Hi ha quatre predicats retract que permeten d‟esborrar-ne un o més fets en temps d‟execució: retract(El fet que volem esborrar) retract(El fet que volem esborrar, NomDatabase) retractall(El fet que volem esborrar) retractall (El fet que volem esborrar, NomDatabase) Com podeu observar cadascun dels predicats té dues sintaxis, una en el cas de tenir una sola base de dades sense nom i l‟altra en el cas de tenir diverses bases de dades perquè puguem especificar de quina volem esborrar. El predicat retract esborra un únic fet: el primer fet (en l‟ordre) que pot unificar-se amb l‟argument que passem. El predicat retractall esborra un conjunt de fets: tots els que s‟unifiquen amb l‟argument que passem.

Predicat save. Guardant fets

Durant l‟execució podem guardar els fets en un fitxer. save(NomFitxer) save(NomFitxer, NomDatabase)

Exemples

Els programes ch08e01.pro i ch08e02.pro mostren la utilització de les operacions estudiades sobre fets dinàmics. En la referència podeu trobar explicacions detallades d‟aquests programes.

[Prolog2001]

Exercicis pràctics

Feu els exercici 15, 16, 17 i 18 de l‟annex: “Exercicis pràctics de Prolog”.

Page 137: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

133

RESUM

Amb la secció facts podem declarar predicats representant fets i que poden ser manipulats en temps d‟execució. Amb els predicats predefinits assert, asserta, assertz i consult podem afegir fets dinàmicament. Amb els predicats predefinits retract i retractall podem esborrar fets dinàmicament.

Page 138: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

134

Page 139: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

135

SESSIÓ 32: Altres característiques

FITXA DE LA SESSIÓ

Nom: Altres característiques Tipus: teòrica Format: no presencial Durada: 1 hora Treball a lliurar: no Material:

o Bibliografia bàsica: [Prolog2001]

OBJECTIUS

Comentar altres característiques que té Prolog.

CONTINGUTS

4.7 Altres característiques

4.7.1 Altres característiques

A continuació enumerem algunes de les característiques que té Prolog que no estudiarem en profunditat però que val la pena saber que existeixen per a aplicacions futures.

Bases de dades externes

Prolog disposa d‟un conjunt de predicats per treballar amb bases de dades externes. Aquestes bases de dades suporten arbres B+.

[Prolog2001]

Manipulació de finestres

El Visual Programming Interface (VPI) proporciona les eines per manipular finestres, menús, cursors i la resta d‟elements visuals que es necessiten per un aplicació visual. Podeu consultar el document VPI en el directori Documents.

Page 140: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

136

Manipulació de strings

Visual Prolog disposa d‟un conjunt de predicats per la manipulació de strings de forma eficient.

[Prolog2001]

Objectes

Visual Prolog permet d‟utilitzar, a la vegada, la programació lògica i la programació orientada a objecte.

[Prolog2001]

RESUM

Hem vist altres característiques que té el llenguatge Visual Prolog: bases de dades externes, programació orientada a objecte, manipulació de finestres, ...

Page 141: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

137

Annexos

I Problemari CP0

Problemes

1 Representació en CP0

Exercici 1.1

Representeu les sentències següents en CP0: a) Si hi ha molta humitat, aquesta tarda plourà. b) El càncer no és curarà tret que la causa sigui determinada i es trobi un nou medicament. c) Una relació és una relació d‟equivalència si i només si és reflexiva, simètrica i transitiva.

Exercici 1.2

Representeu les sentències següents en CP0:

a) Si plou no surtis al carrer. b) Hi ha aigua fresca a la nevera i natural dins l‟armari. c) Odiava tot aquell qui es creuava en el seu camí o qui li duia la contrària. d) Si tens gana menja‟t la cama i si tens set beu a galet. e) Si tens fred i gana vols agafar, aleshores posa‟t a ballar. f) El Port Aventura s‟obrirà tret que plogui. g) Pots escriure amb bolígraf o amb llapis però mai amb ambdues coses alhora. h) El Barça guanyarà la Lliga i la Copa d‟Europa només si es produeix algun

miracle o l‟entrenador no fa de les seves. i) Si es vol ubicar apropiadament el nou palau de justícia, s‟haurà de situar en el

cor de la ciutat; i si es vol que compleixi adequadament les seves funcions, és necessari que es construeixi de dimensions bastant grans per tal que hi càpiguen totes les oficines de l‟ajuntament.

j) Resoldre els exercicis i assistir a classe seria suficient per aprovar l‟assignatura si en fóssim pocs.

Exercici 1.3

a) Tots els nens petits trenquen algunes de les seves joguines. b) Un cavall més noble que Babieca ha de ser molt noble.

Page 142: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

138

c) L‟únic ideal de molts homes són els diners però els diners no ho són tot en la vida.

2 Teoria de la Demostració: Deducció Natural

Exercici 2.1

Enuncieu les regles utilitzades a partir de les premisses per arribar a la conclusió:

( A B ) C ├ ( A B ) ( ( A B ) C )

( ¬( B C ) ( D E ) ) , ¬( B C ) ├ D E

( S T ) ( ( U V ) ( U W ) ) , ¬ ( S T ) ├ ( U V ) ( U W )

¬( H ¬I ) ( H I ) , ( I H ) ¬( H ¬I ) ├ ( I H ) ( H I )

Exercici 2.2

Cadascuna de les següents proves és una prova formal de validesa per als raonaments indicats en deducció natural. Enuncieu la justificació per a cada una de les línies que no siguin una premissa i digueu per quin mètode se‟n fa la demostració.

a) ( A B ), ( A C ) D ├ ( A D )

1. Hip ( A B )

2. Hip ( A C ) D 3. A

4. A C 5. D

6. A D

b) ( F ¬G ), ¬F ( H ¬G ), ( ¬I ¬H ) ¬¬G, ¬I ├ ¬H

1. Hip ( F ¬G )

2. Hip ¬F ( H ¬G )

3. Hip ( ¬I ¬H ) ¬¬G 4. Hip ¬I 5. Hip ¬¬H

6. ¬I ¬H 7. ¬¬G 8. ¬F

9. H ¬G 10. H

11. ¬G 12. G 13. ¬¬¬H 14. ¬H

Page 143: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

139

c) ( P Q ) R , P R , Q R ├ R

1. Hip P Q R

2. Hip P R

3. Hip Q R 4. Hip ¬R

5. ¬( P Q ) R

6. ¬P ¬Q R 7. Q 8. P

9. ¬Q R 10. ¬Q 11. ¬¬R 12. R

Exercici 2.3

Demostreu els següents raonaments per reducció a l‟absurd.

a) S T , T P , S ¬W, W ├ P

b) ( P ( Q R ) ) ├ ( P Q R )

c) ¬( 3<y ) x>y i x>y ( ¬( x>y ) 3<y ). Per tant, 3<y x>y

d) P ( Q R ) , P ¬R ├ P ¬Q

Exercici 2.4

Demostreu els següents teoremes:

a) |- A ( B A )

b) |- ( A B ) (( A ( B C)) ( A C))

c) |- ( A B) (( A ¬B) ¬A)

d) |- ¬ ¬A A

e) |- ¬(A B) (¬A ¬B)

Exercici 2.5

Demostreu les següents equivalències deductives:

a) ¬ ( A -||- ¬ A ¬ B

b) ¬ (A B) -||- ¬ A ¬ B

c) A B -||- ¬ B ¬ A -||- ¬ A -||- ¬ ( A ¬ B)

d) ¬ ( A B) -||- A ¬ B

e) A B C -||- ¬ A ¬ B C

f) A ( B C) -||- B ( A C)

g) A B C D -||- ¬ A ¬ B C D -||- A ¬ C ¬ B D

h) ¬ ( A C) -||- ¬ C

Page 144: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

140

i) ¬ A -||- ¬ A

Exercici 2.6

Demostreu:

A C, A B, B D├A D

Exercici 2.7

Demostreu:

( ¬ Q ¬ R ) ( T ( Q ( R S ))) ├ T S

Exercici 2.8

Demostreu les següents regles derivades:

a) l‟eliminació feble del negat b) el sil·logisme hipotètic c) el sil·logisme disjuntiu

Exercici 2.9

Demostreu els següents teoremes:

a) el principi d‟identitat b) el principi de no contradicció c) el principi del tercer exclòs

3 Sistema Axiomàtic-Deductiu

Exercici 3.1

Demostreu cadascun dels teoremes següents ( podeu utilitzar teoremes demostrats anteriorment per fer les demostracions ):

a) ¬¬A

b) A ¬¬A

c) ( A B ) ( ¬B ¬A )

Page 145: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

141

d) ¬A ( A B )

e) (A ¬¬ (¬¬A

Exercici 3.2

Demostreu:

a) A , B ├ ¬( A ¬ B )

b) A B C , A B , A├ C

c) ¬ (A ¬ B ) ├ B

d) ¬ (A ¬ B ) ├ A

e) A ├ ¬¬ (A ¬ B ) ¬B

Exercici 3.3

Es vol demostrar que la fórmula ( C S ) (( R S ) ( C R S )) és un teorema fent servir el mètode axiomàtic. A continuació proposem una demostració però està incompleta. Completeu-la.

1.Hip C S

2.Hip R S

3.Hip C R

4.3, Eq: ¬C R

5.2, 4 ? ¬C S

6.Th. C/ , S/ ( ) ( ¬ ¬ ): :( C S ) ( ¬S ¬C )

7.1, 6 ? ¬S ¬C 8.Th. ?

9.Th. C/ ¬¬ : ¬¬C C 10.5, 8 Mp: ?

11.9, 10 ? ¬S C 12.? ? 13.12, 7 Mp: ? 14.? ? 15.? ? 16.? ? ...........

Exercici 3.4

Demostreu la regla d‟inferència “modus tollens“ ( A B, B |- A ) utilitzant el Sistema Axiomàtic Deductiu estudiat.

Page 146: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

142

Exercici 3.5

Demostreu que la fórmula ( ( P Q) R) ( P ( R Q)) és un teorema utilitzant el Sistema Axiomàtic Deductiu estudiat.

Exercici 3.6

Demostreu:

a) A S , S F , ¬F ├ ¬A

b) A , B , C ├ (¬A C) B

utilitzant el Sistema Axiomàtic Deductiu estudiat.

Exercici 3.7

Demostreu A ,B ,C ├ (B ¬A) (¬C ¬A) utilitzant el Sistema Axiomàtic Deductiu

estudiat. A continuació proposem una demostració però està incompleta. Completeu-la. 1.Hip. A 2.Hip. B 3.Hip. C 4.Ax1 5.2,4 MP 6.LN 7.6,TH 8.5,7 MP

9.Ax1 ¬A/ , ?/

10.8,9 LT ? (¬C ?)

11.Ax3 ¬B/ , ¬A/12.11,Th 13.Ax1 14.1,13 MP 15.12,14 MP 16.........

4 Àlgebra de Boole i Formes Normals

Exercici 4.1

Demostreu per Boole:

a) A C, A B, B D |= A D

b) ¬P Q , Q R , R W , R ¬P , Q ¬W |= Q R

c) |= [(¬P Q) (R (S v T)) (S ¬R) (P ¬T)] (R Q)

d) A B C, B (A ¬C) , A C |= A ¬B

Page 147: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

143

Exercici 4.2

Demostreu l‟equivalència, en cas que siguin equivalents, de les fbf següents en Àlgebra de Boole:

a) ¬P Q ¬Q P

b) P Q ( ¬P ¬Q ) ¬P ¬Q ( P Q )

c) A ( B ( C D) ) A ( B ( D C ) )

d) ¬( A B ) ( ¬A ¬B )

e) (P Q) (P Q) (¬P Q) (Q P)

f) P (P (P Q)) ¬P ¬Q (P Q)

Exercici 4.3

Determineu la validesa o invalidesa dels següents raonaments. Si són vàlids aleshores demostreu-ho utilitzant l‟Àlgebra de Boole.

a) ¬B ( ( C D ) ( E D ) ) , B ( C E ) ├ D

b) A B, B C , A B C, ¬( A B ), D A B, ¬( D C ) ├ ¬D ¬C

c) Si continua plovent, llavors el riu creixerà. Si continua plovent i el riu creix, llavors el pont serà arrossegat per les aigües. Si només la pluja fa que el pont sigui arrossegat per les aigües, llavors un únic camí no serà suficient per anar a casa de la bruixa. O bé un únic camí és suficient per anar a casa de la bruixa o bé els enginyers han comès un greu error. Per tant, els enginyers han comès un greu error.

Exercici 4.4

Transformeu les següents fbf a FNC:

a) ¬( A B ) ( A B C ) ¬( C D A )

b) ( ¬P ( Q R ) ¬Q ) ( R P ¬( P S ) )

c) P (¬P Q R)

d) ¬(P Q) (P Q)

e) ¬(P Q)

f) (P Q) R

g) (¬P Q) (P ¬Q)

Exercici 4.5

Transformeu les següents fbf a FND:

a) ( A ¬B ) (( A B) C ) ( ¬( ¬D (B A) ) ¬( C A ) )

b) ¬( P Q ) ( P Q )

c) (¬P Q) R

d) P ((Q R) S)

e) ¬(P ¬Q) (S T)

f) (P Q) R

Page 148: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

144

5 Teoria De Models: Interpretacions, Taules De

Veritat I Quine

Exercici 5.1

Determineu quines de les següents afirmacions són correctes:

a) Una fórmula és invàlida si i només si hi ha almenys una interpretació en què la fórmula és falsa.

b) Tota fbf vàlida és satisfactible. c) Tota fbf invàlida és insatisfactible. d) Donada una fbf, si hi trobem un model, aquesta és satisfactible però no

necessàriament és una tautologia. e) Donada una fbf, si hi trobem un model, aquesta és satisfactible i tautologia

alhora. f) Si una fórmula és vàlida llavors és consistent però no a l‟inrevés. g) Una fórmula és vàlida si i només si la seva negació és inconsistent.

Exercici 5.2

Construïu les taules de veritat i indiqueu els models existents per a les següents fbf:

a) (A B) ( B (A B ))

b) ( ¬P (Q P )) Q

c) P ( ¬( Q R ) (P ¬R ))

Exercici 5.3

Demostreu si les següents expressions són tautologies o no:

a) (P ¬Q) ( P ¬Q )

b) (¬P Q) (¬Q P)

c) (x<>y x<5) (¬( x<5 ) y<6) (x=y y<6) d) Si no és veritat que la lluna està feta de formatge verd o que les vaques no

tenen quatre potes, llavors les delicades vaixelles xineses es trenquen fàcilment si i només si es fan servir culleres per a menjar.

e) A B ( B A B )

Exercici 5.4

Determineu si els següents raonaments són vàlids (per definició de conseqüència lògica, per teorema de validesa i per teorema d‟inconsistència) mitjançant taules de veritat.

Page 149: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

145

a) ( ( A B C ) ( A B ) A ) ╞ C

b) (I J) (I J), ¬( I J ) ╞ ¬( I J )

c) (P Q) ╞ P

Exercici 5.5

Completeu la demostració del següent raonament mitjançant l‟arbre de Quine:

( A ¬B ) ( C B ) ¬B C ¬( (C A) B ) ╞

C = ? C = ?

............ ............

A = ? A = ?

............. ...........

Exercici 5.6

Demostreu la validesa o la invalidesa del següents raonaments utilitzant l‟arbre de Quine:

a) ╞ ( ( P Q ) R ) ( P R ¬Q )

b) ( Q ¬S ) T, ¬Q R, P ¬S, T S ╞ P R

c) ( P Q ) ( R S ), ¬( ¬P ¬R ), ¬T ¬( P S ) ╞ T

d) ╞ ( x<3 ) ( x>4 ) ( ( x<3 ) ( x>4 ) ( ¬(x=y) (x=y) x>4 ) )

e) ( A B ) ( ¬A C ) ╞ B C

f) Si el carnisser fos l'assassí hauria saltat per la finestra i, si ho hagués fet, tindria fang a la sabata. Però no n‟hi té, de fang. Per tant, no és l'assassí.

Exercici 5.7

Suposeu que som capaços d‟executar les següents reaccions químiques:

MgO + H2 Mg + H2O

C + O2 CO2

CO2 + H2O H2CO3

i suposeu també que disposem de MgO, H2 , O2 i C. Demostreu que estem en

condicions de fabricar H2 CO3.

Page 150: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

146

Demostreu-ho utilitzant l‟arbre de Quine.

Exercici 5.8

Demostreu que la fbf A D és una conseqüència lògica de A C, A B i B D utilitzant Taules de Veritat.

Exercici 5.9

Demostreu que la següent fórmula és vàlida

( ¬P ¬Q ) (( ¬P Q ) P )

a) utilitzant Taules de Veritat b) utilitzant l‟algorisme de Quine

Exercici 5.10

Demostreu que la següent fórmula és inconsistent:

( P Q ) ( P R ) ¬( P ( Q R ))

a) utilitzant Taules de Veritat b) utilitzant l‟algorisme de Quine

6 Teoria de la Demostració: Resolució

Exercici 6.1

Busqueu una resolvent del següent conjunt:

¬P S R, R S, ¬( Q S R)

Exercici 6.2

Demostreu que les següents fórmules són teoremes per Resolució.

Page 151: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

147

a) ├ ( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) )

b) ├ ( ( ¬R ¬( P Q ) ) ( S P ) ) ( ( S Q ) R )

c) ├ ( ( P Q ) R ) ( ( P ¬R Q ) ¬Q )

Exercici 6.3

Demostreu que (A B) (C D) és una conseqüència lògica del següent conjunt de premisses tot utilitzant Resolució.

A B, C D, A C

Exercici 6.4

Indiqueu, per cadascun dels següents conjunts, quins són inconsistents utilitzant Resolució. Si no ho són, doneu-ne una prova formal.

a) {F ¬G, ¬F ( H ¬G ), ( ¬I ¬H ) ¬¬G, ¬I, ¬¬H }

b) {((O P) Q) ¬(C D),(C D) ((O P) Q),¬((C D ) ¬(C D))}

c) {¬P S, ¬S U, P, U }

7 Estratègies de Resolució

Exercici 7.1

És cert que tot raonament del qual es demostri la seva inconsistència seguint l‟estratègia de Resolució Semàntica, es pot demostrar per a qualsevol de les altres estratègies de Resolució que coneixeu? Per què? (És a dir, podem demostrar la inconsistència per a qualsevol estratègia?).

Exercici 7.2

Demostreu les següents fórmules utilitzant Semantic Resolution:

a) S = { ¬P ¬Q R, P R, Q R, ¬R } amb I={¬P, ¬Q, ¬R} i P <R<Q

b) S = { P, Q ¬R, R ¬P, ¬P ¬Q ¬R } amb I={¬P,¬Q,¬R} i R<Q<P

c) S = { P, Q ¬R, R ¬P, ¬P ¬Q ¬R } amb I={P,Q,R} i R<P<Q

d) S = { P, Q ¬R, R ¬P, ¬P ¬Q ¬R } amb I={¬P,¬Q,R} i P<Q<R

Page 152: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

148

Exercici 7.3

Considereu el conjunt S de clàusules següent. Deduïu la clàusula buida a partir de S tot utilitzant Lock Resolution.

(1) 1 ¬F 2 ¬G (2) 3 F 4 ¬H 5 ¬G

(3) 6 I 7 G (4) 8 H 9 G

(5) 10 ¬I (6) 11H

Exercici 7.4

Utilitzeu Linear Resolution per provar que el següent conjunt de clàusules són insatisfactibles:

a) S = {A B C, ¬E, ¬D ¬A, ¬B, ¬C E, ¬A D E }

b) S = { ¬B ¬D ¬C, ¬B D ¬E, B, ¬C E, ¬D, E } Mireu si, particularment, els heu resolt tot utilitzant Input Resolution i/o Unit Resolution.

Exercici 7.5

Sigui S = { ¬P ¬Q ¬R, P, Q, R }

a) Utilitzeu l‟estratègia de Semantic Resolution per demostrar que S és insatisfactible.

b) Utilitzeu la mateixa estratègia però sense tenir en compte el concepte d‟ordenació de clàusules.

c) Compareu el nombre de clàusules generades en cada cas. Utilitzeu com interpretació I = {P, Q, R}. En l‟apartat a indiqueu l‟ordre que heu decidit.

Exercici 7.6

Demostreu, si podeu, utilitzant Semantic, Lock, Linear, Unit i Input Resolution el següent raonament: Si el carnisser fos l‟assassí hauria saltat per la finestra i, si ho hagués fet, tindria fang a la sabata. Però no n‟hi té, de fang. Per tant, no és l‟assassí.

Exercici 7.7

Demostreu la validesa del següent raonament tot utilitzant Linear Resolution:

(P ¬Q R) S, T, (S T) U, P ( U ¬W ), W ├ (P R) Q

Page 153: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

149

Exercici 7.8

Demostreu C utilitzant una estratègia de Resolució a partir de les fórmules:

A B F), B C, D A E), E F, (E F) K L), F G, G C, H I ,I E J), H

Exercici 7.9

Demostreu aplicant Resolució amb l‟estratègia de Saturació: Si el carnisser fos l‟assassí hauria saltat per la finestra i, si ho hagués fet, tindria fang a la sabata. Però no n‟hi té, de fang. Per tant, no és l‟assassí.

Exercici 7.10

Verifiqueu que el següent raonament és vàlid per dues estratègies de Resolució que coneixeu.

P ¬Q, Q R, R S, ¬( Q S ) ├ P

8 Complementaris

Exercici 8.1

Els dracs són serps i vomiten foc. Per tant, hi ha serps que vomiten foc. Expresseu el raonament anterior en CP0 i determineu si la conclusió és correcta.

Exercici 8.2

El capomafiós, en Sinistro Calabrese, arriba a l'aeroport de Girona o al de Barcelona. Si arriba al primer, truca al seu amic Spaguetti Joe; però aquest resulta ésser un confident que avisa la policia, que es presenta i deté en Sinistro. Per altra banda, si arriba a Barcelona truca a Johnny Macheroni, però aquest acaba d‟ésser arrestat i té el telèfon intervingut, i per tant la policia intercepta el missatge i es presenta a l'aeroport per detenir en Sinistro. Conseqüència: la policia deté en Sinistro Calabrese. Però, i si no se sap que passa per Barcelona?

Page 154: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

150

Exercici 8.3

Les regles d'admissió de socis del club LaSalle són les següents:

1. Els socis que no siguin escocesos portaran mitjons de color taronja 2. Tot soci portarà faldilla o no portarà mitjons de color taronja 3. Els socis casats no sortiran els diumenges 4. Els qui surtin els diumenges seran justament els escocesos 5. Els qui porten faldilles seran els escocesos casats 6. Els escocesos portaran faldilles

Quants socis hi ha en el club La Salle?

Exercici 8.4

Determineu si els raonaments següents són correctes:

1. Si l'Albert viu a St. Cugat és que no té cotxe. Però no té cotxe. Per tant no viu a St. Cugat.

2. Avui és dissabte o diumenge. Ara bé, si fos diumenge, el correu no funcionaria. Funciona. Per tant, avui és dissabte.

3. Si el fiscal és deshonest i el gerent és un estafador, el president és un lladre. Per tant, si el gerent és un estafador però el president no és cap lladre, el fiscal no és un deshonest.

4. Si la despesa pública augmenta sense que augmentin els impostos hi ha inflació. Si hi ha inflació, molts polítics perdran el càrrec en les properes eleccions. Per tant, si augmenten els impostos no hi haurà gaires polítics que perdin el càrrec, oi?

5. L'Albert marxarà de l'empresa si no el promocionen, i si l'Albert no se'n va en Bernat demanarà el trasllat. Per altra banda, si l'Albert se n'anés, en Carles també se n'aniria si no contractessin cap altre dependent. Què passarà quan l'Albert se'n vagi? I si no se'n va?

Exercici 8.5

En un mercat de fruites i verdures arriben tres camions, un carregat de peres A, un altre carregat de pomes B i un tercer carregat de préssecs C. Els camions van marcats amb les inicials A, B i C, però se sap que cap de les lletres no es correspon amb el contingut del camió. Se‟ns ha permès d‟examinar-ne un: el B, i resulta que porta peres. La pregunta és: què contenen els altres dos camions?

1. Representeu-ho en CP0 2. Simplifiqueu-lo si cal 3. Resoleu-lo per Resolució Lineal 4. Deduïu-lo per Deducció Natural

Page 155: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

151

Exercici 8.6

De tres amigues que conec: l‟Anna viu a Vilassar i sopa sovint a ca la Berta (que no és la metgessa), mentre que la Carme sempre juga a tennis amb la informàtica. La que viu a Pedralbes treballa a Sant Cugat, però la que viu a Sant Cugat no és la que treballa a Girona. En canvi, la jutgessa no és la que ha d‟anar a treballar a Lleida, sinó que treballa al mateix lloc on viu la informàtica. Què fa, on viu i on treballa cadascuna d‟elles? Feu-ho primer intuïtivament i, després, formalment.

Exercici 8.7

Demostreu que (¬Q ¬P) és una conseqüència lògica de (P Q) per Resolució.

Exercici 8.8

Suposeu el raonament següent:

P ¬Q, Q R, R S, ¬( Q S ) ├ P

Verifiqueu que és vàlid pels següents mètodes: 1. Quine. 2. Resolució lineal (Linear Resolution) 3. Resolució semàntica (Semantic Resolution) 4. Taules de Veritat per teorema de l‟inconsistència. 5. Taules de Veritat per teorema de la validesa. 6. Taules de Veritat per definició de conseqüència lògica.

Després de contestar les sis qüestions de l‟apartat anterior us heu d‟haver adonat que el raonament proposat és més aviat patològic. Podeu explicar (en una sola línia) què hi passa de particular? És a dir, hi ha cap explicació teòrica que en doni raó? Ara ja segurament podeu fer la deducció natural en menys de 10 línies, oi?

Exercici 8.9

Tenim el següent raonament:

C B (D R) L,

L P,

D B G R,

A B E F G,

├ A (D F) (B E (C P))

Page 156: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

152

a) Resoleu-lo per saturació (Level-Saturation Method). b) Resoleu-lo utilitzant l‟estratègia d‟esborrat (Deletion Strategy). c) Resoleu-lo linealment (Linear Resolution). d) Deduïu-lo naturalment. e) Valideu-lo per Quine (seguint l‟ordre alfabètic).

Exercici 8.10

Demostreu que la fórmula (A B) (¬B (¬A D)) és un teorema.

a) Per Boole b) Per Deducció Natural c) Per Sistema Axiomàtic

Exercici 8.11

Determineu si cada formula és vàlida, invàlida, satisfactible i/o insatisfactible.

a) ¬¬P P

b) P P Q

c) ¬(P Q) ¬Q

d) P Q P

e) (P Q) (¬Q ¬P)

f) (P Q) (Q P)

g) P (P Q)

h) P (Q P) P

i) P (Q ¬P)

j) (P ¬Q) (¬P Q)

k) ¬P (¬(P Q))

l) P ¬P

m) ¬P P

Exercici 8.12

Demostreu:

a) P Q, Q R ├ P Q R

b) P (Q R) ├ Q (P R)

c) P (Q P) ├ (P Q) P

d) P (Q R) ├ P Q R

e) (P Q) R ├ P Q R

f) P Q ├ P R Q R

g) P Q ├ (P Q) Q

Page 157: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

153

Exercici 8.13

Completeu la taula de veritat donada a continuació per demostrar que la llei del sil·logisme hipotètic és una bona regla.

P Q R P Q Q R (P Q) (Q R) P R

F C

F F F

F

F F

C C

C C F

Exercici 8.14

Identifiqueu les premisses i conclusions en els següents raonaments:

a) En una democràcia, els pobres tenen més poder que els rics, perquè en són més, i la voluntat de la majoria és suprema.

b) Venus i Mercuri deuen girar al voltant del Sol perquè mai no s‟hi allunyen i perquè tan aviat se‟ls veu d‟un costat del Sol com de l‟altre.

c) La matèria és activitat i, per tant, un cos està allà on actua; puix que tota partícula de matèria actua sobre tot l‟univers, tot cos està a tot arreu.

d) Un mestre que formula una pregunta està sintonitzat amb la resposta correcta, disposat a sentir-la, ansiós de sentir-la, perquè aquesta li dirà que la seva ensenyança és bona i que pot passar al tema següent. Suposarà que tot allò que li soni similar a la resposta correcta és la resposta correcta. Així, un estudiant que no està segur de la resposta, un murmuri serà el millor que pot fer.

e) La institució dels aprenentatges llargs no tendeix a la formació de joves per a la indústria. És probable que un jornaler que treballa molt sigui laboriós, perquè obté un benefici amb totes les aplicacions de la seva laboriositat. Però és probable que l‟aprenent sigui peresós, i gairebé sempre ho és, perquè no té cap interès immediat a ser d‟una altra manera.

Exercici 8.15

Representeu les sentències següents en CP0:

a) Si tenim dues peres en una caixa i tres en una altra, llavors tenim cinc peres en total.

b) És fals que en Pere és immortal. c) Que en Joan presenti una queixa és una condició necessària i suficient perquè

en Pere sigui desqualificat. d) Fes tot el que ell et mani si no vols perdre el treball. e) Sorgirà un nou brot d‟epidèmia tret que els dirigents prenguin mesures

preventives i els ciutadans hi col·laborin. f) No és cert que per guanyar el trofeu hagis de ser el millor. g) Només anirem al zoo si també anem al museu.

Page 158: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

154

h) No és cert que estudiar molt sigui necessari per ser llest. i) Si el Parlament es nega a actuar, la vaga no s‟acabarà tret que duri més d‟un

any i el president de l‟empresa dimiteixi, i si el Parlament actua o la vaga no s‟acaba aleshores la vaga durarà més d‟un any.

j) Sempre que hi ha foc i els bombers estan ocupats, es cremen moltes hectàrees de bosc.

k) Per tal de conviure junts cal que hi hagi companyonia i comprensió entre tots. l) Menjar és necessari per viure. m) Per fer el pastís cal tenir farina, ous i sucre. n) Mai no passarà excepte si tu vols.

Exercici 8.16

Expressa els raonaments següents en CP0 i determina la validesa o invalidesa de cadascun d‟ells tot aplicant-hi algun dels mètodes de demostració que saps.

a) Si el presoner coix no coneix el color del seu barret, llavors el presoner cec no pot tenir un barret vermell. El presoner coix no coneix el color del seu propi barret. Per tant, el presoner cec no pot tenir un barret vermell.

b) Si el primer nadiu és un polític, llavors el tercer nadiu diu la veritat. Si el tercer nadiu diu la veritat, llavors el tercer nadiu no és un polític. Per tant, si el primer nadiu és un polític, llavors el tercer nadiu no és un polític.

c) Els dracs són serps, i vomiten foc. Per tant, hi ha serps que vomiten foc.

Exercici 8.17

Utilitzeu taules de veritat per determinar la validesa o invalidesa de cadascun dels següents raonaments. Feu servir els diversos mètodes de demostració amb taules de veritat que coneixeu.

a) ( M ( N ¬N ) ) M ╞ ¬( N ¬N )

b) ( U ( V W ) ) ( V W ¬U ) ╞ ¬U

c) Si en Gonzàlez es retira del certamen, llavors en López guanyarà el títol o en Sànxes quedarà decebut. En López no guanyarà el títol. Per tant, si en Gonzàlez es retira del certamen, llavors en Sànxes quedarà decebut.

d) x=2 x<y, y=4 ( x=y y=2 ). Per tant, x<>y e) Si en Joan aconsegueix robar un cotxe, llavors, si agafa la supercarretera,

arribarà abans a lloc. En Joan arribarà abans a lloc. Per tant, si en Joan aconsegueix robar un cotxe, llavors agafarà la supercarretera.

Exercici 8.18

Resoleu l‟exercici anterior utilitzant Quine.

Page 159: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

155

Exercici 8.19

Per a cadascun dels següents raonaments enuncieu la regla d‟inferència utilitzada per la qual la conclusió es dedueix de les seves premisses en Àlgebra de Boole:

a) Z ( A B ) ╞ Z ( ¬¬A B )

b) ( H ¬I ) ( ¬I ¬J ) ╞ ( H ¬I ) ( J I )

c) ( ¬T ¬U ) ( ( W ¬V ) ¬T ) ╞ ( T ¬U ) ( W ( ¬V ¬T ) )

Exercici 8.20

Demostreu utilitzant Àlgebra de Boole la validesa dels següents raonaments:

a) ( Z Z ) ( A A ) , ( A A ) ( Z Z ) ╞ A A

b) ( Y Z A ) ( Y B C ), ( B Z ) Y ╞ A C

c) Si un home es guia pel seu sentit del deure, ha de renunciar al goig de molts plaers; i si es guia sempre pel seu desig de plaer, sovint s‟oblidarà del seu deure. O bé un home es guia pel seu sentit del deure o bé es guia sempre pel seu desig de plaer. Si un home es guia sempre pel seu sentit del deure, no s‟oblidarà sovint del seu deure, i si sempre es guia pel seu desig de plaer, no renunciarà al goig de molts plaers. Llavors, un home pot renunciar al goig de molts plaers si i només si no s‟oblida sovint del seu plaer.

Exercici 8.21

Demostreu l‟equivalència o no del següent raonament utilitzant Àlgebra de Boole:

A ( B ( C D ) ) ╞ A ( B C D )

Exercici 8.22

╞ ( ( P Q ) R ) ( ( P ¬R ) ¬Q )

És una tautologia?. Demostreu-ho per deducció natural.

Exercici 8.23

Indiqueu per a cadascun dels següents raonaments quins són vàlids i quins no ho són. En cada cas doneu una prova formal.

a) S Q ├ ( P ( Q R ) ) ( P ( S R ) )

b) ( P ¬Q R ) S, T , ( S T ) U , P ( U ¬W ) , W├ ( P R ) Q

c) ( x<3 y<3 ) ( x<>y x 3 ), ( y=7 x<>y ),( ¬(x+2<>y) y=7 ), ( x<>y

y 3 ) y<3 ├ x+2=y

Page 160: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

156

d) Si el carnisser fos l‟assassí hauria saltat per la finestra i, si ho hagués fet, tindria fang a la sabata. Però no n‟hi té, de fang. Per tant, no és l‟assassí.

e) Es presentarà un informe complet només si en Gonzàlez va a la reunió; però si en Gonzàlez no va a la reunió, llavors serà necessari fer-ne una elecció especial. L‟inici d‟una investigació serà necessària per a la presentació d‟un informe complet. No es començarà la investigació. Si en Gonzàlez va a la reunió, es presentarà un informe complet, i la presentació d‟un informe complet implica que es començarà una investigació. Llavors, o bé en Gonzàlez va a la reunió i es comença una investigació o alguns membres compareixeran davant dels tribunals. Però l‟organització es desintegrarà molt ràpidament si en Gonzàlez no va a la reunió i no es comença una investigació. Per tant, o bé alguns membres hauran de comparèixer davant dels tribunals o bé

l‟organització es desintegrarà molt ràpidament. (on P Presentar-se un informe

complet , R En Gonzàlez va a la reunió , E Fer una elecció especial , I

Començar una investigació , M Alguns membres compareixeran davant dels

tribunals , D L‟organització es desintegrarà molt ràpidament. )

Exercici 8.24

Per a cadascun dels casos següents doneu una fbf en CP0 que ho compleixi. Justifiqueu la vostra resposta:

a) satisfactible però no vàlida b) vàlida c) insatisfactible

Exercici 8.25

Demostreu la validesa del raonament següent utilitzant quatre mètodes diferents en la seva elecció:

P, P Q, (R Q) S |- Q (R S)

Exercici 8.26

Demostreu utilitzant Quine i per Resolució que la fbf següent és vàlida:

((P (Q (R S))) ( Q R )) (P S)

Exercici 8.27

Per a cadascuna de les afirmacions següents indiqueu si és Certa o Falsa. Justifiqueu vostra resposta formalment:

a) ((F Q) Q) F és un teorema.

b) (( P Q) ( Q P)) té un model.

Page 161: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

157

c) El conjunt de clàusules { P Q, P Q, R Q, R Q } és insatisfactible.

d) S Q |- (P (Q R)) (P (S R)) és un raonament vàlid

Exercici 8.28

Demostreu que A D és una conseqüència lògica de A C, A B i B D

a) per Deducció Natural Directa b) amb les Taules de Veritat ( utilitzant la definició de conseqüència lògica) c) per Quine.

Algunes solucions

Solució 2.8

a) l’eliminació feble del negatA ¬A ├ B

1. hip A 2. hip ¬A 3. hip ¬B 4. 1 it A (iteració de hipòtesi) 5. 2 it ¬A 6. 3,4,5 i¬ ¬¬B 7. 6 e¬ B

b) el sil·logisme hipotètic

A B, B C ├ A C

1.hip A B

2.hip B C 3.hip A

4.1,3 e

e C

6.3,5 i A C c) el sil·logisme disjuntiu

A B, ¬A ├ B

1. hip A B 2. hip ¬A 3. hip ¬B 4. hip A (prova per casos) 5. 2,3,4 i¬ ¬¬B 6. 5 e¬ B 7. hip B (prova per casos) 8. 3,7,3 i¬ ¬¬B

Page 162: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

158

9. 8 e¬ B

Solució 2.9

a) el principi d’identitat

├ A A

1. hip A 2. 1 it A

3. 1,2 i A A b) el principi de no contradicció

├ ¬ (A ¬A)

1. hip ¬¬(A ¬A)

2. 1 e¬ (A ¬A)

3. 2 e A

4. 2 e ¬A

5. 1,3,4 i¬ ¬¬¬(A ¬A)

6. 5 e¬ ¬(A ¬A) c) el principi del tercer exclòs

├ A ¬A

1. hip ¬ (A ¬A)

2. 1 eq ¬A ¬¬A (equivalència deductiva)

3. 2 e ¬A

4. 2 e ¬¬A 5. 4 e¬ A

6. 1,3,5 i¬ A ¬A

Solució 3.1a

├ ¬¬A

1. hip ¬¬A

2. ax1 ¬¬A/ , ¬A/ ¬¬A ¬ ¬¬A)

3. 1,2mp ¬ ¬¬A

4. ax3 A/ , ¬A/ ¬ ¬¬A) ¬ ¬A)

5. mp ¬ ¬A)

6. lema ¬A/ ¬ ¬A 7. 5,6 mp A

8. 1,7 td ¬¬A

Page 163: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

159

Solució 3.1c

├ ( A B ) ( ¬B ¬A )

1. hip A B

2. th ¬¬ A/ ¬¬A

3. lemaT ¬¬A

4. th ¬¬ B/ B ¬¬

5. lemaT ¬¬A ¬¬

6. lema N ¬A/ ¬B/ ¬¬A ¬¬ ¬B ¬

7. 5,6 mp ¬B ¬

8. td A B ¬B ¬

Solució 3.6

A S , S F, ¬F ├ ¬A

1. hip A S

2. hip S F 3. hip ¬F

4. ax3 ¬A/ , F/ (¬¬A ¬F ¬¬ F ¬

5. ax1 ¬F/ ¬¬A/ ¬F ¬¬ ¬F

mp ¬¬ ¬F

mp ¬¬ F ¬

lema T A F

9. 7 th ¬¬ F ¬

mp ¬

Solució 4.2b

Dues fórmules són equivalents si tenen la mateixa taula de veritat. Abans de demostrar rés per Boole hem d‟estar segurs que són equivalents.

P Q P Q ( ¬P ¬Q ) ¬P ¬Q ( P Q )

C C F F

C F F F

F C F F

F F F F

Tenen la mateixa taula de veritat aleshores les fbf són equivalents. Ara ho provarem mitjançant l‟àlgebra de Boole

P Q ( ¬P ¬Q ) ¬P ¬Q ( P Q )

assoc.: P ( Q ( ¬P ¬Q ) assoc.: ¬P ( ¬Q ( P Q )

distrib.:P ( ( Q ¬P ) ( Q ¬Q ) distrib.: ¬P ( ( ¬Q P ) ( ¬Q Q)

compl.:P ( ( Q ¬P ) ) compl.: ¬P ( ( ¬Q P ) )

Page 164: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

160

ínfim: P ( Q ¬P ) ínfim: ¬P ( ¬Q P )

com.: ( Q ¬P ) P com.: (¬ Q P ) ¬P

assoc.: Q ( ¬P P ) assoc.: ¬Q ( P ¬P )

ínfim: Q ínfim: ¬Q

compl.: compl.: Hem arribat a la mateixa fbf aleshores són equivalents.

Solució 4.3a

¬B ( ( C D ) ( E D ) ) , B ( C E ) ├ D

(¬B ( ( C D ) ( E D ) )) B ( C E ) ¬D

B C D E (¬B ( ( C D ) ( E D ) )) B ( C E ) ¬D

X X C X F

F X F X F

C C F X F

C F F F F

C F F C F

El raonament es vàlid, ara ho provarem mitjançant l‟àlgebra de Boole.

(¬B ( ( C D ) ( E D ) )) B ( C E ) ¬D

eq. (¬B ( (¬C D ) (¬ E D ) )) B ( C E ) ¬D

dis. (¬B ¬C D ) (¬B ¬ E D ) )) B ( C E ) ¬D

conm. (¬B ¬C D ) B (¬B ¬ E D ) )) ( C E ) ¬D

dis. ((¬B B) (¬C B) D B) ) (¬B ¬ E D ) )) ( C E ) ¬D comp./infim

((¬C B) D B) ) (¬B ¬ E D ) )) ( C E ) ¬D conm/dist

((¬C B ¬D) D B ¬D) ) (¬B ¬ E D ) )) ( C E ) conm/comp./infim.

¬C B ¬D (¬B ¬ E D ) ( C E ) com/dis

((¬C C) (¬C E)) B ¬D (¬B ¬ E D ) comp./infim

¬C E B ¬D (¬B ¬ E D )

dis ¬C E B ((¬D ¬B) ¬D ¬ E) ¬D D) ) comp./infim

¬C E B ((¬D ¬B) ¬D ¬ E) )

dis ¬C E ((B ¬D ¬B) B ¬D ¬ E) ) conm/comp./inf

¬C E B ¬D ¬ E

conm/inf

Page 165: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

161

Solució 5.6a

╞ ( ( P Q ) R ) ( P R ¬Q )

Pel th. de validesa.

( ( P Q ) R ) ( P R ¬Q )

| P |

| |

( ( Q ) R ) ( R ¬Q)

( R) ■

■ ■ ■

( ( ■ Q ) R ) ( ■ R ¬Q)

( Q R) ( R ¬Q)

| Q |

| |

( R) (R ¬ )

(■) ( R ■ )

■ ■ ■

( ■ R) (R ¬■)

R ( R )

R R

| R |

| |

■ ■ ■

El raonament és vàlid.

Solució 5.10a

( P Q ) ( P R ) ¬( P ( Q R )) Utilitzant Taules de Veritat

P Q R ( P Q ) ( P R ) ¬( P ( Q R ))

F X X F

C X F F

C C C F

C F C F

la fbf és inconsitent

Page 166: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

162

Utilitzant l‟algorisme de Quine:

( P Q ) ( P R ) ¬( P ( Q R ))

| P |

| |

( Q ) ( R ) ¬( ( Q R ))

( ■ ■ ) ¬ ■

(■ Q ) (■ R ) ¬( ■ ( Q R ))

Q R ¬( Q R )

| Q |

| |

R ¬( R )

■ R ¬( ■ R )

R ¬R

| R |

| |

¬

■ ¬■

la fbf és inconsitent

Solució 6.2a

Demostreu que les següents fórmules són teoremes tot utilitzant la regla d‟inferència de Resolució.

├ ( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) )

Si és teorema, llavors el seu negat ha de ser inconsistent:

¬( ( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) ) ) Transformem a forma clausal:

¬( ¬( ( P R ) ( Q S ) ) ( ( P Q ) ( R S ) ) )

¬¬( ( P R ) ( Q S ) ) ¬( ( P Q ) ( R S ) )

( ( P R ) ( Q S ) ) ¬( ( P Q ) ( R S ) )

( ( P R ) ( Q S ) ) ¬( ¬( P Q ) ( R S ) )

( P R ) ( Q S ) ¬¬( P Q ) ¬( R S )

( P R ) ( Q S ) ( P Q ) ¬( R S )

( ¬P R ) ( ¬Q S ) ( P Q ) ¬( R S )

( ¬P R ) ( ¬Q S ) ( P Q ) ( ¬R ¬S )

( ¬P R ) ( ¬Q S ) P Q ( ¬R ¬S )

Page 167: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

163

Demostrem la inconsistència de:

( ¬P R ) ( ¬Q S ) P Q ( ¬R ¬S )

1. ¬P R

2. ¬Q S 3. P 4. Q

5. ¬R ¬S 6. 1,3 R 7. 5,6 ¬S 8. 2,7 ¬Q

9. 4,8

És inconsistent. Per tant, hem demostrat que és un teorema.

Page 168: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

164

Page 169: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

165

II Problemari CP1

Càlcul de Predicats (CP1)

1. REPRESENTACIÓ DEL CONEIXEMENT EN CP1

Exercici 1.1

Representeu en CP1 les frases següents: a) Alguns centaures són bonics. b) Existeix almenys una cosa de manera que si és un centaure és bonic. c) En tota parella de veïns existeix algun tafaner. d) Tots els veïns s'odien entre ells. e) No existeix ningú que sigui ric i no tingui un cotxàs. f) Tots els estudiants d'informàtica són amics dels aficionats a la lògica. g) Alguns estudiants d'informàtica tenen amics aficionats a la lògica. h) Alguns estudiants d'informàtica només són amics dels aficionats a la lògica. i) Només els futbolistes admiren els futbolistes. j) Tots els futbolistes admiren solament els futbolistes. k) Els homes alts són atractius si són rossos i ben plantats. l) Hi ha periodistes que són tafaners i hi ha tafaners que no són dones. m) Els duaners escorcollaven a tothom qui entrava al país tret dels diplomàtics. n) Hi ha gent que és feliç si a tots els seus amics els agrada la música. o) Cap home accepta consells, però tots els homes accepten diners; per tant, els diners són millors que els homes. p) Tots els nens petits trenquen algunes de les seves joguines. q) Un cavall més noble que Babieca ha de ser molt noble. r) L’únic ideal de molts homes són els diners però els diners no ho són tot en la vida.

Exercici 1.2

Tenim els següents predicats: P(X): X és racional i Q(X): X és real. Representeu amb ells els següents enunciats: a) Alguns reals són racionals. b) No tot real és racional.

Page 170: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

166

Exercici 1.3

Representeu en CP1 els enunciats matemàtics següents: a) Existeix un sencer que és més gran que tot sencer diferent d'ell. b) Si el producte de dos sencers és parell, almenys un d'ells és parell. c) Tot sencer parell més gran que 4 és la suma de dos nombres primers. d) Tot sencer més gran que 1 és divisible per algun primer.

Exercici 1.4

Si P(X), R(X), Pa(X,Y,Z) i I(X,Y) representen "X és un punt", "X és una recta", "Z passa per X i Y" i "X igual a Y" respectivament, traduïu-hi la següent frase: Donats dos punts arbitraris, només hi ha una recta que hi passa.

Exercici 1.5

Definiu la funció de Fibbonacci en CP1. Fib(n) = Fib(n-1) + Fib(n-2) Fib(1) = Fib(0) = 1

Exercici 1.6

Definiu la funció exponencial en CP1 per a exponents tant positius com negatius.

Exercici 1.7

L'arbre genealògic següent es descriu amb els següents predicats: Home(pere),Home(manel),Home(artur),Dona(maria),Pare(pere,manel),Pare(pere,artur), Pare(pere,maria). A partir d'aquests formuleu els següents predicats: Nen(X,Y): X és fill o filla de Y. Fill(X,Y): X és fill de Y. Filla(X,Y): X és filla de Y. Germà_o_germana(X,Y): X és germà o germana de Y. Germà(X,Y): X és germà de Y. Germana(X,Y): X és germana de Y. Recordeu que un individu no pot ser germà ni germana d'ell mateix.

Page 171: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

167

Exercici 1.8

Una agència de viatges proposa als seus clients viatges d'una o de dues setmanes a Roma, Londres o Tunis. El catàleg de l'agència conté, per a cada destinació, el preu del transport (amb independència de la duració) i el preu d'una setmana d'estada que varia segons la destinació i el nivell de comoditat escollit (hotel, hostal o càmping). a) Escriviu el conjunt de declaracions que descriuen aquest catàleg (el preus es deixen a la vostra elecció). De cadascun de les tres destinacions hi ha d'haver els tres nivells de comoditat existents. b) Expresseu la relació Viatge(C,S,H,P) que s'interpreta com el viatge a la ciutat C durant S setmanes amb estança a H costa P euros. c) Expresseu també Viatge_econòmic(C,S,H,P,P_màx) com aquell viatge que té un cost menor que P_màx. Indiqueu també els predicats aritmètics que us facin falta.

Exercici 1.9

Representeu el problema següent en CP1: Tenim dues caixes i hi ha un plàtan només en una de les dues. Molt a prop d'allà, hi ha un mico afamat que sent l'olor de plàtan però no sap on està si no s'atansa a una de les caixes i ho mira. Utilitzeu la representació en CP1 per determinar què faria el mico. Sigui P(x,y,s): l'estat s en el qual es troba el mico quan es troba davant la caixa x i el plàtan està a la caixa y. Sigui trobat(s): l'estat s en el qual el mico troba el plàtan. Sigui walk(x,s): el nou estat al qual s'arriba després que el mico camina cap a x des de l'estat s.

2. FORMES NORMALS

Exercici 2.1

Transformeu les següents fórmules a Forma Normal Prenexa:

a) ( x)( P(z,x) v Q(x,y) ) ( ( x)P(z,x) v ( x)Q(x,y) )

b) ( x)( P(x) ( y)Q(x,y) )

c) ( x)( y)( ( z)P(x,y,z) ˄( ( u)Q(x,u) ( v)Q(y,v) ) )

d) ( x)( P(x,y) ( ( y)( z)( P(y,z) P(z,y) ) ) )

e) ( x)( ¬( ( y)P(x,y) ( ( z)Q(z) R(x) ) ) )

Page 172: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

168

Exercici 2.2

Transformeu les fórmules anteriors a Forma Stàndard d'Skolem.

Exercici 2.3

Transformeu la fórmula :

V)))Vq(Y,U)Uq(X,(Z)Y,Zp(X,Y(X a conjunt clausal.

3. SUBSTITUCIONS I UNIFICACIÓ

Exercici 3.1

Digueu quines de les afirmacions següents són correctes i quines no i digueu-ne el perquè. a) Una funció es pot substituir per una constant. b) Una variable es pot substituir per qualsevol terme. c) No sempre una variable es pot substituir per qualsevol funció. d) Dos predicats ground poden ser unificables.

Exercici 3.2

Tenim una substitució = { a/X, f(X,Y,Z)/Y } i una expressió E = { P(X, g(a,f(a,c)), f(X,b), g(a,f(a,b,c))), P(X,g(X,X),g(X,b),Y) }, doneu una instància d'E tot aplicant-hi la substitució donada. Què succeeix?

Exercici 3.3

Feu la composició de les següents substitucions:

a) 1 = { f(b)/X, g(b,Z)/T } 2= { g(a,X)/Y, a/Z }

b) 1 = { a/X, h(a,Y,Z)/W , V/Y } 1 = { f(Y)/Z, g(a,b)/X, h(a,b,c)/V }

Exercici 3.4

Identifiqueu en els següents conjunts de substitucions quin és un unificador més general i quin no (si n'hi ha algun que no ho sigui) i demostreu-ho tot seguint la definició d'unificador més general (u.m.g.).

Page 173: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

169

a) 1= {X/Y, f(a,g(b,h(X,a,c)))/Z}

2= {Y/X, f(a,g(b,h(Y,a,c)))/Z}, que unifiquen els predicats { P(X, f(a,g(b,h(X,a,c)))) , P(Y, f(a,g(b,h(X,a,c)))) }

b) 1= {a/X, f(a,b,g(T))/Y, g(f(a,b,c))/Z}

2= {a/X,(a,b,g(f(a,b,c)))/Y,g(f(a,b,c))/Z,f(a,b,c)/T}, que unifiquen els predicats {P(a,f(a,b,g(T)),Z), P(X,Y, g(f(a,b,c)))}

Exercici 3.5

Quins dels següents conjunts de clàusules són unificables? Si ho són, doneu un unificador més general i un que no ho sigui. Utilitzeu l'algorisme d'unificació de Robinson per trobar un unificador més general. a) { Q(a,X), Q(a,a) } b) { Q(a,X,f(X)), Q(a,Y,Y) } c) { Q(X,Y,Z), Q(U,h(V,V),U) } d) { P(a,X,h(g(Z)), P(Z,f(X),h(a)) } e) { Pare(X,Y), Pare(fill(jordi,anna),jordi) } f) { P(X,g(Y),Z,h(Y,Z),W,k(X,Y,W)), P(R,S,e(S),T,f(S,T),U) } g) { P(X,g(X,f(a,b),Z)), P(Z,g(f(a,b),X,Z)) }

Exercici 3.6

Doneu un unificador més general per a cadascun dels següents parells de termes. Si no n'hi ha cap, digueu-ne el perquè. a) h(X,f(a,X)) h(b,Y) b) h(X,f(g(a,X),Z)) h(b,f(g(a,f(W,c)),h(Y,X))) c) f(a,f(b,f(c,X))) f(a,Y) d) h(X,f(g(a,Y),Z),Z) h(b,f(g(a,f(W,c)),b),h(Y,X)) e) f(X,f(a,f(Y,c))) f(Z,f(Z,f(f(a,c),W)))

4. RESOLUCIÓ I ESTRATÈGIES

Exercici 4.1

Determineu quines de les següents clàusules tenen factors. Si en tenen, digueu-ne quins.

a) P(X) Q˅(Y) ˅P(f(X))

b) P(X) ˅P(a) ˅Q(f(X)) ˅Q(f(a))

c) P(X,Y) ˅P(a,f(a))

d) P(X) ˅P(f(Y)) ˅Q(X,Y)

Page 174: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

170

Exercici 4.2

Trobeu totes les possibles resolvents (si n'hi ha) dels següents parells de clàusules:

a) C = ¬P(X) ˅Q(X,b) D = P(a) ˅Q(a,b)

b) C = ¬P(X) ˅ Q(X,X) D = ¬Q(a,f(a))

c) C = ¬P(X,Y,U) ˅¬P(Y,Z,V) ˅¬P(X,V,W) ˅P(U,Z,W) D = P(g(X,Y),X,Y)

d) C = ¬P(V,Z,V) ˅ P(W,Z,W) D = P(W,h(X,X),W)

Exercici 4.3

Demostreu la inconsistència tot utilitzant l'estratègia lock resolution dels següents conjunts de clàusules S:

a) S = {5P(y,a) 1˅P(f(y),y), 6P(y,a) 2˅P(y,f(y), 8¬P(x,y) 3˅P(f(y),y), 9¬P(x,y) 4˅P(y,f(y)),

10¬P(x,y) ˅7¬P(y,a) }

b) S = { 1¬E(x) ˅2S(x) ˅3S(x,f(x)), 4¬E(x) ˅5V(x) ˅6C(f(x)), 2P(a), 8E(a), 9¬S(a,y)

1˅0P(y), 11¬P(x) ˅12¬V(x), 13¬P(x) ˅14¬C(x) }

c) S = { 1P(g(x,y),s,y), 2¬P(x,h(x,y),y), 3¬P(x,y,u) ˅4P(y,z,v) ˅5¬P(x,v,w) ˅6P(u,z,w),

7¬P(k(x),x,k(x)) }

Exercici 4.4

Demostreu la inconsistència tot utilitzant l'estratègia linear resolution dels següents conjunts de clàusules S. Digueu per cada cas si és input o unit, si ho pot ser.

a) S = { ¬E(x) ˅V(x) ˅S(x,f(x)), ¬E(x) ˅V(x) ˅C(f(x)), P(a), E(a), ¬S(a,y) ˅P(y),

¬P(x) ˅¬V(x), ¬P(x) ˅¬C(x) }

Useu l'última clàusula com a clàusula top.

b) S = { P(x,i(x),e), ¬S(x) ˅¬S(y) ˅¬P(x,i(x),z) ˅ S(z), S(a), ¬S(e) }

Useu l'última clàusula com a clàusula top. c) S = { P(i(x),x,e), P(e,x,y), ¬P(x,y,u) ˅¬P(y,z,v) ˅¬P(u,z,w) ˅ P(x,v,w), ¬P(v,y,u) ˅

¬P(y,z,v) ˅¬P(x,v,w) ˅P(u,z,w), ¬P(a,x,e) }

Resoleu-lo utilitzant input i unit resolution.

d) S = { D(x,x), ¬D(x,y) ˅¬D(y,z) ˅D(x,z), P(x) D˅(g(x),x), P(x) ˅L(b,g(x)), P(x) ˅

L(g(x),x), L(b,a),¬P(x) ¬˅D(x,a),¬L(b,x) ˅¬L(x,a) ˅P(f(x)),¬L(b,x) ¬˅L(x,a) ˅D(f(x),x) }

Resoleu-lo utilitzant input i unit resolution.

Page 175: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

171

Exercici 4.5

Tenim les dues premisses següents:

Tots els acudits són per riure: ( X)( Acudit(X) Riure(X) )

Cap acte de congrés és un acudit: ( X)( Acte(X) ¬Acudit(X) ) Podem respondre amb aquestes dades a la pregunta següent?

Llavors, cap acte de congrés no és per riure? ( X)( Acte(X) ¬Riure(X) ) Raoneu-ho i demostreu-ho en el cas que es pugui respondre.

Exercici 4.6

Estem realitzant en CP1 la carta del Bar del Lluçanès. El menú que podria correspondre a un dia es pot composar d'un primer plat, un segon plat de carn o peix i les postres. Imaginem-nos que tenim representats tots els plats possibles que pot arribar a cuinar el nostre xef: PrimerPlat(sopa_de_ceba), PrimerPlat(macarrons), SegonPlat(carn, pollastre),

SegonPlat(carn,entrecotte),SegonPlat(peix,sardina), SegonPlat(peix,mariscada), Postres(poma), Postres(pastís_de_poma), Postres(flam), Postres(iogurt)

I el menú és la composició de tots aquests plats:

XYZS (PrimerPlat(X) ˅SegonPlat(Y,Z) ˅Postres(S) Menu(Y,X,Z,S))

Demostreu formalment, tot aplicant Resolució, les següents preguntes: a) és un primer plat macarrons? b) existeix un menú de peix? c) quina carn podem menjar si escollim de menú macarrons de primer i iogurt de postres?. d) hi ha algun menú de carn que inclogui sopa de ceba i de postres mousse de xocolata? e) quines són les opcions de menú que podem escollir si sabem segur que volem mariscada de segon plat? Significat dels predicats: PrimerPlat(X): X és un primer plat. SegonPlat(X,Y): Y és un segon plat de X. Postres(X): X és plat de postres. Menú(Y,X,Z,S): El menú de Y (carn o peix en aquest cas) es composa d'un

primer plat X, un segon plat Z i uns postres S.

Page 176: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

172

Exercici 4.7

Demostreu que la següent fórmula:

X)p(X, X és una conseqüència lògica de les formules:

Y)p(X, YX

Z)p(X,Z))p(Y,Y)(p(X, ZYX

X)p(Y,Y)p(X, YX

Exercici 4.8

Demostreu que la següent fórmula:

Z)p(X,X)p(Z, XY)p(Z, ZY

és inconsistent.

Exercici 4.9

Demostreu que la següent fórmula:

r(T)p(X)r(T))Y)(q(Z, TY)q(Z,p(X) YZX

és vàlida.

Exercici 4.10

Utilitzeu la funció de Fibbonacci que vam proposa en el exercici 1.5 per poder respondre a les següents preguntes formalment tot utilitzant Resolució. Si us cal, definiu els predicats addicionals que us facin falta per a resoldre-ho: a) Quin és el Fibonnaci que dóna 1? b) Quant dóna el Fibbonaci de 3? c) El Fibbonaci de 2 és 5? d) El Fibbonaci de 4 és 5?

Page 177: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

173

5. TEORIA DE MODELS EN CP1

Exercici 5.1

Donada la següent interpretació: D = { 1,2 } a = 2 P(x,y) = Cert si x = y. Altrament, P(x,y) = Fals. determineu el valor de veritat de les fórmules següents:

a) ( x)( y) P(x,y)

b) ( x)( y) P(x,y)

c) ( x)( y) P(x,y)

d) ( x)( y) P(x,y)

e) ( x) P(x,a)

f) ( x) ¬P(a,x)

g) ( x)( y) ( P(x,y) P(y,x) )

Exercici 5.2

Donada la següent interpretació: D = { 1,2 }.

a = 1, b = 2. f(1) = 2, f(2) = 1.

P(x,y) = Cert si x = y. Altrament, P(x,y) = Fals. determineu el valor de veritat de les fórmules següents:

a) P(a,f(a)) P(b,f(b))

b) ( x)( y) P(y,x)

c) ( x)( y) (P(x,y) P(f(x),f(y))

Exercici 5.3

Considereu les següents fórmules:

a) ( x)( y) ( P(x,y) Q(x) )

b) ( x)( y) ( P(x,y) Q(x) )

c) ( x)( y) ( P(x,y) Q(x) )

d) ( x) ( Q(x) Q(f(x)) )

e) ( x)( y) P(x,y) ( y)( x) P(x,y) amb la interpretació següent: Domini = Tots els enters. P(x,y) significa que x = y. Q(x) significa que x > 1. f(x) significa x+1.

Page 178: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

174

determineu quines de les fórmules anteriors avaluen cert des d‟aquesta interpretació i quines avaluen fals.

Exercici 5.4

Per a cada una de les següents fórmules:

a) ( x)( y) ( P(x,y) Q(x) )

b) ( x)( y) ( P(x,y) Q(x) )

c) ( x)( y) ( P(x,y) Q(x) )

d) ( x) ( Q(x) Q(f(x)) )

e) ( x)( y) P(x,y) ( y)( x) P(x,y) doneu una interpretació per a la qual avaluï fals i un altre per a la qual avaluï a cert.

Exercici 5.5

Demostreu que ( x)( D(x) ˄ ¬U(x) ) és conseqüència lògica de les fórmules F1 i F2 utilitzant interpretacions:

F1 : ( x)( U(x) ¬B(x) )

F2 : ( x)( B(x) ˄D(x) )

Exercici 5.6

Demostreu que si: Els atletes són forts. Tot el qui és fort i intel·ligent, triomfarà en la vida. En Pere és atleta. En Pere és intel·ligent.

llavors, "en Pere triomfarà en la vida", és una conseqüència lògica tot utilitzant interpretacions.

Exercici 5.7

Demostreu el següent raonament tot utilitzant interpretacions: Sant Francesc és estimat per tothom qui estima algú. No hi ha ningú que no estimi ningú. Per tant, tothom estima Sant Francesc.

Exercici 5.8

Determineu si la fórmula següent és vàlida mitjançant interpretacions:

r(T)p(X)r(T))Y)(q(Z, TY)q(Z,p(X) YZX

Page 179: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

175

Exercici 5.9

Determineu si la fórmula següent és inconsistent mitjançant interpretacions:

Z)p(X,X)p(Z, XY)p(Z, ZY

Exercici 5.10

Determineu si la fórmula següent és consistent mitjançant interpretacions: Q(x) )

6. Complementaris

Exercici 6.1

Considereu la fórmula següent:

( X)P(X) X)P(X) a) Proveu que la fórmula és sempre vertadera si el domini D conté un únic element. b) Sigui D={a,b}. Trobeu una interpretació sobre D en la qual la fórmula és avaluada a F.

Exercici 6.2

Sigui F1 i F2 les següents fórmules:

X)(P(X) Q(X)) ¬Q(a)

Proveu que ¬P(a) és una conseqüència lògica de F1 i F2.

Exercici 6.3

Demostreu la invalidesa dels raonaments següents: a) Els anarquistes tenen barba i els comunistes també. Per tant, els anarquistes són comunistes (A(X),B(X),C(X)). b) No hi ha cap diplomàtic que sigui extremista, però hi ha fanàtics que ho són. Per tant, hi ha diplomàtics no fanàtics (D(X),E(X),F(X)). c) Hi ha gent descontenta que fa soroll i hi ha funcionaris que no en fan. Per tant, no hi ha cap funcionari que faci soroll (D(X),R(X),F(X)). d) Ningú més que els estudiosos mereix aprovar l'assignatura. Tot alumne és estudiós. Per tant, ningú més que els alumnes mereix aprovar-la (E(X),M(X),A(X)).

Page 180: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

176

e) Res que no estigui fet d'or deixa de ser car. Cap arma no és feta de platí. No totes les armes són cares. Per tant, no tot és fet d'or o de platí (O(X),C(X),A(X),P(X)).

Exercici 6.4

Considereu el problema següent: Tenim tres caixes: 1, 2 i 3. La caixa 1 conté A, la caixa 2 conté B i la caixa 3 no conté res. Només podem moure allò que hi ha d'una caixa a una altra a través d'una caixa buida. Useu les tècniques de demostració de teoremes per a mostrar que es poden canviar els continguts de les caixes 1 i 2.

Exercici 6.5

Tenim els fets següents:

i.Tothom qui entra en aquest país i no té carnet, és buscat per la policia. ii.En Jordi és un narcotraficant. iii.En Jordí és buscat únicament pels narcotraficants. iv.Cap narcotraficant porta carnet.

Trobeu una persona que sigui narcotraficant i policia a la vegada.

Exercici 6.6

Tenim els fets següents: Sabem que, en un cert poblet, tots els veïns del poble, quan estan malalts, van al metge del poble. Si el metge del poble es posa malalt, a on es va a visitar? Raoneu-ho.

Exercici 6.7

Tot astre digne de menció és un estel, un planeta o un cometa. Venus és un astre però no és un estel. Els cometes tenen cua quan s'atansen al sol. Venus és a prop del sol, però no té cua. Venus és un planeta? Demostreu-ho mitjançant Resolució.

Exercici 6.8

No hi ha cap drac que visqui en un zoo i que sigui feliç. Un animal que coneix gent amable és feliç. La gent que visita zoos és amable. Els animals que viuen en zoos coneixen gent que visita zoos. Per tant, no hi ha cap drac que visqui en un zoo.

Page 181: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

177

Hi falta res?

Exercici 6.9

Suposeu que ens donen el següent raonament: Tots els lectors no incultes coneixen algun escriptor. Hi ha artistes que són lectors i que només coneixen artistes. No hi ha cap artista inculte. Doncs: hi ha artistes que són escriptors. a) Formalitzeu-lo (L(X),I(X),C(X,Y),E(X),A(X)). b) Valideu-lo per resolució lineal. c) La conclusió diu que hi ha artistes escriptors. Però, qui?

Exercici 6.10

Determineu per a les fbf següents i per a totes les variables que hi apareixen, la seva ocurrència i abast i si són variables lliures o lligades.

a) ( x) ( ( (E(x) ˅F(x)) ˅( (G(x,y) ˅( ( y) ( H(y) F(y) ) ) ˅( ( x) G(x,y) ) ) ) ) )

b) ( x)( y)( z) ( ( P(x,y,z) ( t) (Q(x,t) ˅Q(x,f(y)))) ˅R(t,u) ˅( u) R(x,u))

Page 182: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

178

Algunes solucions

Exercici 1.1

a) x (C(x) B(x))

C(x) x és centaure, B(x) x és bonic.

b) x (C(x) B(x))

C(x) x és centaure, B(x) x és bonic.

c) x y (V(x,y) (X(y) X(x))

V(x,y) x i y són veïns, X(x) x és tafaner.

d) x y ( V(x,y) O(x,y) O(y,x) )

V(x,y) x i y són veïns, O(x,y) x odia y.

e) x ( R(x) C(x) ) o bé ¬( x) ( R(x) ¬C(x) )

R(x) x és ric, C(x) x té un cotxàs.

f) x y ( I(x) L(y) A(x,y))

A(x,y) x és amic de y, I(x) x és estudiant d‟informàtica, L(x) x és aficionat a la lògica.

g) x y ( I(x) L(y) A(x,y))

h) x y ( I(x) ( A(x,y) L(y) ) )

i) x ( F(x) A(x,y) F(y) )

A(x,y) x admira a y, F(x) x és futbolista.

j) x ( F(x) ( A(x,y) F(y) ) )

k) x ( H(x) A(x) R(x) B(x) At(x) )

H(x) x és home, A(x) x és alt, R(x) x és ros, B(x) x és ben plantat, At(x) x és atractiu.

l) y ( P(x) T(x) ) ¬( y) ( T(y) D(y) )

P(x) x és periodista, T(x) x és tafaner, D(x) x és dona.

m) x y ( ( D(x) ¬Dipl(y) E(x,y) ) ( D(x) Dipl(y) ¬E(x,y) ) )

D(x) x és duaner del país, Dipl(x) x és diplomàtic, E(x,y) x escorcolla a y.

n) x y ( A(x,y) M(x) F(y) )

A(x,y) x és amic de y, M(x) a x li agrada la música, F(x) x és feliç.

o) ( ¬( x) ( H(x) A(x,consells) ) x ( H(x) A(x,diners) ) ) Millor (diners,consells)

H(x) x és home, A(x,y) x accepta y, Millor(x,y) x millor que y.

p) Tots els nens petits trenquen algunes de les seves joguines. N(x) x és un nen petit T(x,y) x trenca y J(x,y) y és una joguina de x

))),(),(()(( YXTYXJYXNX

Exercici 2.3

Transformeu la fórmula :

V)))Vq(Y,U)Uq(X,(Z)Y,Zp(X,Y(X

Page 183: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

179

a conjunt clausal.

V)))Vq(Y,U)Uq(X,(Z)Y,Zp(X,Y(X

V)))Vq(Y,U)Uq(X,(Z)Y,Zp(X,Y(X

V)))Vq(Y,U)q(X,U(Z)Y,Zp(X,Y(X

V)))q(Y,U)q(X,(Z)Y,V(p(X,UZYX f(X,Y)/Z, g(X,Y,U)/V

U))))Y,g(X,q(Y,U)q(X,(Y))f(X,Y,U(p(X,YX

U))}Y,g(X,q(Y,U)q(X,,Y))f(X,Y,{p(X,

Exercici 3.1

Digueu quines de les afirmacions següents són correctes i quines no i digueu-ne el perquè. a) Una funció es pot substituir per una constant.

No perquè de fet una constant és una funció de grau zero i, per tant, són símbols diferents de funcions que no es poden unificar.

b) Una variable es pot substituir per qualsevol terme.

Per qualsevol terme excepte una funció que inclogui la mateixa variable. c) No sempre una variable es pot substituir per qualsevol funció. Per qualsevol funció excepte una funció que inclogui la mateixa variable. d) Dos predicats ground són sempre unificables. No si no són idèntics en tots els paràmetres.

Exercici 3.2

Donada una substitució = { a/X, f(X,Y,Z)/Y } i una expressió E = { P(X, g(a,f(a,c)), f(X,b)), g(a,f(a,b,c))), P(X,g(X,X),g(X,b),Y) }, doneu una instància d'E tot i aplicant-hi la substitució donada. Què succeeix?

No es pot donar cap instància d‟E donat que tindrem infinites substitucions de la variable Y per f(X,Y,Z).

Exercici 3.3

Feu la composició de les següents substitucions:

a) 1 = { f(b)/X, g(b,Z)/T } 2= { g(a,X)/Y, a/Z }

1 º 2 = { f(b)/X, g(b,a)/T, g(a,X)/Y, a/Z }

b) 1 = { a/X, h(a,Y,Z)/W , V/Y } 2 = { f(Y)/Z, g(a,b)/X, h(a,b,c)/V }

1 º 2 = { a/X, h(a,Y,f(Y))/W, h(a,b,c)/Y, f(Y)/Z, h(a,b,c)/V }

Page 184: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

180

Exercici 3.4

Identifiqueu en els següents conjunts de substitucions quin és un unificador més general i quin no (si n'hi ha algun que no ho sigui) i demostreu-ho tot seguint la definició. d'unif. més general.

a) 1= {X/Y, f(a,g(b,h(X,a,c)))/Z} 2= {Y/X, f(a,g(b,h(Y,a,c)))/Z}, que unifiquen els

predicats { P(X, f(a,g(b,h(X,a,c)))) , P(Y, f(a,g(b,h(X,a,c)))) } Tots dos són unificadors més generals.

b) 1= {a/X, f(a,b,g(T))/Y, g(f(a,b,c)/Z} 2= {a/X, f(a,b,g(f(a,b,c)))/Y,g(f(a,b,c)/Z,

f(a,b,c)/T}, que unifiquen els predicats {P(a,f(a,b,g(T)),Z), P(X,Y, g(f(a,b,c)))}

1 és un unificador més general i 2 un unificador qualsevol.

2 = { a/X, f(a,b,g(T))/Y, g(f(a,b,c)/Z} º { f(a,b,c)/T) } = { a/X, f(a,b,g(f(a,b,c)))/Y,

g(f(a,b,c)/Z, f(a,b,c)/T }}

Exercici 3.5

Quins dels següents conjunts de clàusules són unificables? Si ho són, doneu un unificador més general i un que no ho sigui. Utilitzeu l'algorisme d'unificació de Robinson per a trobar un unificador més general. a){ Q(a,X), Q(a,a) }

És unificable.

1= { a/X } no hi ha un unificador que no sigui general b){ Q(a,X,f(X)), Q(a,Y,Y) }

No és unificable perquè substituiríem una variable per una funció en què la variable ocorre dins la funció.

c) { Q(X,Y,Z), Q(U,h(V,V),U) } És unificable.

1= { U/X, h(V,V)/Y, U/Z } és un unificador més general.

2= { U/X, h(a,a)/Y, U/Z, a/V} no és un unificador més general. d) { P(a,X,h(g(Z)), P(Z,f(X),h(a)) }

No és unificable perquè substituiríem una variable per una funció en què la variable ocorre dins la funció.

e) { Pare(X,Y), Pare(fill(jordi,anna),jordi) } És unificable.

1= { fill(jordi,anna)/X, jordi/Y } no hi ha un unificador que no sigui general f) { P(X,g(Y),Z,h(Y,Z),W,k(X,Y,W)), P(R,S,e(S),T,f(S,T),U) }

És unificable.

1= { R/X, g(Y)/S, e(g(Y))/Z, h(Y,e(g(Y)))/T, f(g(Y),h(Y,e(g(Y))))/W, k(R,Y,f(g(Y),h(Y,e(g(Y))))))/U } és un unificador més general.

g) { P(X,g(X,f(a,b),Z)), P(Z,g(f(a,b),X,Z)) } És unificable.

Page 185: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

181

1= { f(a,b)/Z, f(a,b)/X } no hi ha un unificador que no sigui general.

Exercici 3.6

Doneu un unificador més general per a cadascun dels següents parells de termes. Si no n'hi ha cap, digueu-ne el perquè. a) h(X,f(a,X)) h(b,Y)

= { b/X, f(a,b)/Y } b) h(X,f(g(a,X),Z)) h(b,f(g(a,f(W,c)),h(Y,X))) No són unificables perquè no es pot unificar una constant amb una funció. c) f(a,f(b,f(c,X))) f(a,Y)

= { f(b,f(c,X))/Y } d) h(X,f(g(a,Y),Z),Z) h(b,f(g(a,f(W,c)),b),h(Y,X)) No són unificables perquè no es pot unificar una constant amb una funció. e) f(X,f(a,f(Y,c))) f(Z,f(Z,f(f(a,c),W)))

= { a/X, a/Z, f(a,c)/Y, c/W }

Page 186: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

182

Page 187: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

183

III Exercicis pràctics de Prolog

Exercici 1

Demostreu la següent conseqüència lògica: p q , p q Programa en Prolog: predicates q p clauses q:-p. p. goal q. Implementeu-lo i mireu com funciona. Notes:

1. Els noms dels predicats han de ser en minúscula. 2. Tots els predicats utilitzats han de ser declarats en la secció “predicates”.

Exercici 2

Donat el següent programa en Prolog: predicates p q r s t w clauses p:-s,t. p:-q. q. q:-r. r:-w. r. s. t:-w. w. goal p.

Page 188: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

184

a) Executar-ho i dibuixar l'arbre d‟execució. b) Canviar l'ordre per a millorar el temps que triga a trobar una solució. c) És millor posar les clàusules unitàries (els fets) abans?

Exercici 3

La implementació en Prolog de les següents premisses (vigileu amb la definició dels dominis).

1. ( x) (Home (x) Mortal (x)) 2. Home (Confuci) és

predicates mortal(symbol) home(symbol)

clauses

mortal(X):-home(X). home(confuci).

a) Proveu ara que "Confuci és mortal". b) Afegiu ara els següents fets al vostre programa:

home (plató). home (sòcrates).

c) Proveu ara si y mortal (y) ? o quins són mortals? Notes:

1. Noteu el caràcter versàtil de la pregunta/demostració usant constants o variables.

2. Les variables han de ser escrites en majúscules. 3. Els termes constants en minúscules.

Exercici 4

Sigui el següent programa en Prolog:

predicates td(symbol,symbol) dd(symbol,symbol)

clauses td (X,Z) :- dd (X,Z). td (X,Z) :- td (X,Y), dd(Y,Z). dd (john,mark). dd (john,paul). dd (paul,tom). edat (john,57). edat (mark,25).

Page 189: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

185

edat (paul,36). edat (tom,15).

dd(X,Y) : Y és descendent direct de X td(X,Y): Y és descendent de X si és compleixen les condicions de la regla a) Implementeu un objectiu per a demostrar que en John té descendents (directes o no) i que cadascun d'ells té una determinada edat. Això és el mateix que "preguntar" al nostre programa: quins són tots els descendents d‟en John i quines són les seves edats? b) Es podria modificar l'objectiu per obtenir un sol descendent i la seva edat? c) Implementeu un objectiu per a demostrar que en John té 2 descendents que difereixen en 10 anys. d) El programa dóna “Program error...”. Modifiqueu-lo per que funcioni sense que doni l‟error.

Exercici 5

Implementeu en Prolog un programa per a calcular el factorial d'un nombre. Per tant, heu de donar les premisses que defineixen el factorial.

1. ( x)( y)( z)( t1) (Menys (x,1,t1) Fac (t1,z) Producte (z,x,y) Fac (x,y)) 2. Fac (0,1) Vigileu amb l'ordre ja que pot donar alguns problemes. Quins? a) Proveu ara els següents objectius: fac (0,X) (quin és el factorial de 0?) fac (1,X) fac (2,X) fac (3,X) fac (-3,X) fac (1,0) fac (X,6) (quin és el número que el seu factorial és 6?) Funcionen tots? Dibuixeu en un paper a part l'arbre de crides. Enteneu el mecanisme? b) Carregueu el següent programa en el vostre ordinador: Predicates fac (integer, integer) bufac (integer, integer, integer, integer) Clauses fac (U,FU) :- bufac (0,1,U,FU). bufac (X,FX,X,FX). bufac (X,FX,U,FU):- NX=X+1, FNX=NX*FX,bufac (NX,FNX,U,FU).

Page 190: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

186

Proveu ara fac(X,6). Funciona? Quina és l'explicació? Noteu que fac(X,6) intenta trobar més d'una solució. Per a "tallar" la cerca s'usa un predicat especial anomenat cut i que s'escriu ! . Proveu ara com a objectiu fac(X,6),!.

Exercici 6

Es defineix la sèrie de Fibonacci: 0 1 1 2 3 5 8 ... Fibonacci (n) = Fibonacci (n-1) + Fibonacci (n-2) a) Definiu-la i implementeu-la en Prolog. b) Proveu-la amb diferents objectius. c) Afegiu els predicats que necessiteu per a poder demanar com a objectiu els n primers nombres de la sèrie.

Exercici 7

Es defineix una seqüència S de números de la manera següent: - 1 està en S - si X està en S aleshores Y = 2X+1 i Z=3X+1 també estan en S. Escriure un programa en Prolog que defineixi la seqüència per poder determinar si un número pertany a la seqüència.

Exercici 8

Implementar en Prolog la funció d‟Ackermman definida de la manera següent: Si x = 0 aleshores Ack(x,y)=y+1 Si y = 0 aleshores Ack(x,y)=Ack(x-1,1) En altres casos Ack(x,y)=Ack(x-1,Ack(x,y-1)) De de manera que donats X i Y (>=0) torni el valor de la funció d‟Ackermman.

Page 191: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

187

Exercici 9

Tenim els següents dominis: domains element = integer colleccio = col (element, colleccio) ; fi Implementeu els següents predicats: a) insertarprimer (L,E,L1) insereix l'element E en la col·lecció L de primer, la col·lecció resultant és L1. b) imprimir(L) imprimeix (per pantalla) tots els elements de la col·lecció L. c) insertarultim(L,E,L1) insereix l‟element E en la col·lecció L d‟últim, la col·lecció resultant és L1. d) concat(L1,L2,L3) concatena els elements del la col·lecció L2 a la col·lecció L1 i produeix la col·lecció L3 com resultat. e) eliminar (L,E,L1) retorna en L1 la col·lecció que resulta d'eliminar l'element E de la col·lecció L1. f) elim_neg(L,L1) retorna en L1 la col·lecció que resulta d'eliminar els elements negatius de la col·lecció L.

Exercici 10

Tenim els següents dominis: Domains element = integer arbre=a(arbre, element, arbre);buit Escriviu els següents predicats en Prolog: a) comptar(A,N) : Donat l'arbre A ens diu quants elements N té. b) ordenat(A) : Verifica que A és un arbre ordenat. Hom entén que un arbre està ordenat quan l'element d'un node qualsevol és més gran que tots els elements del seu arbre esquerre però més petit que els del seu arbre dret. c) sumar(A,S) : Suma tots els elements de l‟arbre A i torna la suma en S. d) igual(A1,A2): Verifica que els dos arbres són iguals e) Inserir_ordenat(A1,E, A2): Donat un arbre ordenat A1 insereix l‟element E de forma que l‟arbre A2 que en resulti sigui també ordenat.

Page 192: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

188

f) parells(A,L) (i,o) donat un arbre construeix una llista amb els elements parells de l‟arbre. (modificar la definició del dominis)

Exercici 11

Tenim el següent domini: domains num_elem=integer vector=v(num_elem,collecio) Escriviu els següents predicats en Prolog: a) element (V, I, X): Retorna en X l'element que es troba a la posició I del vector V. b) suma (A, B, C): Retorna un nou vector C que és la suma (element a element) dels vectors A i B. c) ordenat (V): Triomfa si V esta ordenat. d) supervector(V1,V2,V3): Crea un vector V3 ordenat a partir dels vectors V1 i V2 ordenats.

Exercici 12

Tenim els següents dominis i predicats: domains nom = symbol edat = integer persona=persona(nom,edat) assignatura = symbol llista = l(nom,llista);buit predicates clase(assignatura,persona) Implementar en Prolog els següents predicats: a) mitjana(A,M) : Calcula la mitjana d‟edat M dels estudiants que cursen l‟assignatura donada A. b) duesassig : Imprimeix per pantalla els noms dels estudiants que cursen dues assignatures. c) duesassig(L) : Construeix una llista L amb els noms dels estudiants que cursen dues assignatures

Page 193: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

189

Exercici 13

Una col·lecció d'enters pot ser representada amb una llista de Prolog: Domains colleccio = integer* Exemple: La col·lecció 6,8,9 pot ser representada per la llista [6,8,9] Escriviu els següents predicats en Prolog: a) inserirprimer (L,E,L1) inserir l'element E en la col·lecció L de primer, la col·lecció resultant és L1. b) imprimir(L) imprimeix tots els elements de la col·lecció L. c) inserirultim(L,E,L1) inserir l‟element E en la col·lecció L d‟últim, la col·lecció resultant és L1. d) concatenar(L1,L2,L3) concatena els elements del la col·lecció L2 a la col·lecció L1 produint la col·lecció L3 com resultat. e) eliminar (L,E,L1) que retorna en L1 la col·lecció resultant d'eliminar l'element E de la col·lecció L1. f) elim_neg(L,L1) que retorna en L1 la col·lecció resultant d'eliminar els element negatius de la col·lecció L. g) element (L, I, X) retorna en X l'element que es troba a la posició I de la col·lecció L h) llegir(L) llegeix de fitxer els elements de la col·lecció L i) capicua(L) verifica que la llista sigui cap i cua

Exercici 14

Una matriu d'enters (vector de dues dimensions) pot ser representada amb el terme (domini ) següent: matriu (NF, NC, LF) on NF és el nombre de files de la matriu NC és el nombre de columnes de la matriu LF és una llista de files, on cadascuna de les files és una llista d'enters. Exemple: La següent matriu:

1 8 3 6 5 7 9 1

Page 194: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

190

es representaria pel terme següent: matriu (2, 4, [[1, 8, 3, 6], [5, 7, 9, 1]]). La definició dels dominis és la següent: domains num_files, num_col = integer fila = integer * llista_files = fila * tipus_matriu = matriu (num_files, num_col, llista_files) Escriviu els següents predicats en Prolog: a) llegir(M) llegeix els elements de la matriu i les demana a l‟usuari. b) element (I, J, M, X) que retorna l'element X que es troba a la fila I i columna J de la matriu M. És a dir, retorna l'element M (I,J). c) suma (M, S) que retorna la suma S dels elements de la diagonal principal de la matriu M, sempre que aquesta sigui quadrada. En cas contrari, retorna un zero. d) triangular(M) (i) verifica que la matriu és triangular superior e)diagonal(M1, M2 ,L): Suma els elements de les dues diagonals (dos a dos) de les dues matrius i construeix una llista amb els resultats

Exercici 15

Un vector d'una dimensió es pot representar amb el següent fact: vector (nom, num, llista) on: nom és el nom del vector num és el nombre d'elements que té el vector llista és la llista d'elements (enters) Exemple: El vector A= [1,5,8] es representaria pel predicat següent: vector (a, 3, [1, 5, 8]) on A(1) és 1, A(2) és 5 i A(3) és 8 Domains llista = integer* nom = symbol num = integer Database vector(nom,num,llista)

Page 195: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

191

Implementeu en Prolog les següents operacions sobre vectors: a) inserir(Nv,I,E) insereix l‟element E a la posició I del vector anomenat Nv. Aquesta operació ha de modificar el vector. b) eliminar(Nv,I) elimina l‟element que es troba a la posició I del vector anomenat Nv. Aquesta operació ha de modificar el vector. c) sumar(Nv1,Nv2,Nv3) crea un nou vector anomenat Nv3 que és el resultat de sumar els vectors Nv1 i Nv2. Aquesta operació crea un nou vector. d) supervector(Nv) crea un nou vector anomenat Nv que té tots els elements de tots els vectors que són a la base de dades interna. Aquesta base de dades de vectors ha de ser llegida d‟un fitxer. L‟ordre no importa. e) osupervector(Nv) crea un nou vector anomenat Nv que té tots els elements de tots els vectors que són a la base de dades interna. Aquesta base de dades de vectors ha de ser llegida d‟un fitxer. La construcció s‟ha de fer de forma ordenada segons el número d‟elements dels vectors. Ex: Siguin els vectors:

vector (v1, 2, [6, 8]) vector (v2, 5, [1, 2, 0, 3, 7]) vector (v3, 3, [4, 9,5]) vector (v4, 1, [10]) osupervector(“v5”) construeix el vector: vector (v5,11, [10, 6, 8, 4, 9,5, 1, 2, 0, 3, 7])

Exercici 16

Una llista es pot representar amb el següent fact::

llista (nom,pos,element) on,

nom és el nom del vector pos és la posició de l‟element element és l‟element Domains nom = symbol pos,element=integer Database llista (nom,pos,element)

Page 196: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

192

long(nom,integer) Exemple: La llista B= (1,5,8,3) es representaria pels predicats següents

llista(b,1,1). llista(b,2,5). llista(b,3,8). llista(b,4,3). long(b,4).

Implementeu en Prolog les següents operacions sobre vectors: a) primer(L,X) (i,o) torna el primer element de la llista L. b) ultim(L,X) (i,o) torna l‟últim element de la llista L. c) inserirf(L,X) (i,i) insereix l‟element X en l‟ultima posició de la llista d) inserirI(L,I,E) (i,i,i) insereix l‟element X en la posició I de la llista e) eliminar(L,I) (i,i) elimina l‟element que es troba a la posició I de la llista f) sumar(L1,L2,L3) (i,i,o) crea una nova llista L3 que és el resultat de sumar els elements de les llistes L1 i L2. g) imprimir(L) (i) imprimeix els elements de la llista Feu tots els exercicis, primer utilitzant el predicat long i després sense.

Exercici 17

El conjunt de enters A = {3,5,1,8} pot ser representat pels facts :

conjunt(a,3) conjunt(a,5) conjunt(a,1) conjunt(a,8)

domains

nom=symbol element=integer

facts conjunt(nom,element)

Implementeu en Prolog les següents operacions: a) crearconjunt, crea els facts en memòria corresponents al conjunt. El nom i els elements es tenen que llegir del input estàndard. Els conjunts poden ser de qualsevol cardinalitat. Utilitzeu el predicat readterm b) pertànyer(element,nom) (i,i) determina si l‟element donat pertany al conjunt.

Page 197: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

193

c) unio(nom,nom,nom) (i,i,o), crea un tercer conjunt que és la unió de dos conjunts. El conjunt generat no ha de contenir elements repetits. Feu un “save” a fitxer al final per verificar que els conjunts originals han quedat com estaven i que el nou conjunt ha sigut ben generat. d) interseccio(nom,nom,nom) (i,i,o), crea un tercer conjunt que és la intersecció de dos conjunts. Feu un “save” a fitxer al final per verificar que els conjunts originals han quedat com estaven i que el nou conjunt ha sigut ben generat. e) diferencia(nom,nom,nom) (i,i,o), crea un tercer conjunt que és la diferencia dels dos primers conjunts. Feu un “save” a fitxer al final per verificar que els conjunts originals han quedat com estaven i que el nou conjunt ha sigut ben generat.

Per exemple el goal

diferencia(a,b, c)

i els facts:

conjunt (a, 4). conjunt (a, 5). conjunt (a, 6). conjunt (b, 4). conjunt (b, 8).

generaria els fets:

conjunt (c, 5). conjunt (c, 6).

Exercici 18

Volem representar la nostra llista de la compra mitjançant el següent fact: producte (Descripció,Preu,Oferta) en què:

descripció: és el nom del producte que hem comprat preu: és el preu en euros (un valor enter) del producte oferta: ens indicar si el preu era rebaixat o era normal

domains oferta = rebaixat ; normal database producte (string, integer, oferta) clauses producte(“Enciam”,2,normal). producte(“Llet”,1,rebaixat). producte(“Formatge”,5,normal). ... Implementeu en Prolog les següents operacions:

Page 198: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

194

a) CalculaImport (I) (o) Calcula l‟import total I de la nostra compra. b) EnOferta(L)(o) Troba tots els productes de la llista de la compra que han estat comprats rebaixats i els torna en una llista L.

b.1 Sense fer ús del findall b.2 Usant el predicat findall

c) VerificarCompra(L) (i) Verifica que hem comprat tot el que teníem apuntat a la llista L.

Exercici 19

Un amic afeccionat a la muntanya enregistra mitjançant el següent fact les muntanyes del Pirineu que coneix:

muntanya (Nom, Mesos, Quants, Altitud) en què:

Nom és el nom de la muntanya Mesos és una llista amb el nom dels mesos en els quals es recomana fer cim Quants és el nombre de mesos diferents de la llista Altitud és l’alçada de la muntanya

domains llista = string* facts muntanya (string, llista, integer, integer) clauses muntanya (“Aneto”, [“Juliol”,”Agost”], 2, 3404). muntanya (“PicaDEstats”, [“Agost”], 1, 3141). muntanya (“Tibidabo”,[“Juliol”,”Agost”,”Setembre”,”Octubre”], 4, 512). .... Implementeu en Prolog els següents predicats: a) AfegirMes (Nom, Mes) Afegeix un Mes a la muntanya amb nom Nom. b) EliminaAltes (Altitud) Elimina totes les muntanyes que superen l‟altitud indicada. c) BuscaCimsAFer (Mes, L, Quants) /* i,o,o */ Genera la llista L amb el nom de tots els cims que poden ser visitats en el Mes que passem com a entrada. A Quants ens retorna el nombre d‟elements de la llista de sortida. c.1) Amb findall c.2) Sense findall d) LlegirDades Llegeix de teclat totes les dades necessàries de totes les muntanyes que l‟usuari vulgui entrar.

Page 199: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

195

Exercici 20

Sigui els següents dominis: Domains raiz = integer arbol=nodo(arbol, raiz, arbol);fi lista=raiz* superlista = lista* Implementar els següents predicats: a)contari(arbol,lista,integer) (i,o,o) construeix una llista amb els elements que són fills esquerres i compta el nombre qui hi ha. b)nodosprof(arbol,superlista) (i,o) construeix una llista de llistes (superllista) de manera que la i-esima llista té els nodes de l‟arbre que estan en profunditat i.

Exercici 21

Sigui la següent definició: database fitxa(integer,integer) Cada fitxa representa una fitxa del joc del dòmino. El “blanc” esta representat per 0. En un fitxer FITXES.TXT hi ha un conjunt de fitxes. Volem determinar mitjançant un predicat Prolog si amb el conjunt de fitxes donat podem “fer un dòmino”, és a dir, podem posar totes les fitxes de manera “legal” segons les regles del dòmino. Si és possible aleshores donarem la seqüència corresponent. Si no és possible el predicat fallarà. Exemple 1: fitxa(2,3). fitxa(1,2). fitxa(0,5). fitxa(3,4). fitxa(0,1). fitxa(6,0). fitxa(2,5). fitxa(4,2). Amb aquest conjunt de fitxes podem fer un dòmino: (0,1)(1,2)(2,3)(3,4)(4,2)(2,5)(5,0)(0,6)

Page 200: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

196

Exemple 2: fitxa(2,3). fitxa(1,2). fitxa(3,1). fitxa(3,4). fitxa(0,1). fitxa(6,0). fitxa(2,5). fitxa(4,2). Amb aquest conjunt de fitxes NO podem fer un dòmino.

Exercici 22

Sigui la següent definició: domains id=symbol node=integer llista= symbol* database arbre(id,id,node,id) El primer id és el nom de l‟arbre, el segon id és el nom de l‟arbre esquerra, el node és l‟element de l‟arbre i l‟últim id és el nom de l‟arbre dret. Implementeu en Prolog els següents predicats: a)frontera(Nom,L) Construeix una llista L amb els elements fulla de l‟arbre anomenat Nom. (sense utilitzar findall) b)profunditat(Nom,N) Donar en la variable N la profunditat de l‟arbre anomenat Nom

Page 201: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

197

Glossari

Abast L‟abast d‟un quantificador que ocorre en una fórmula és la fórmula per a la qual el quantificador aplica.

Àlgebra de Boole Tot reticulat distributiu en el qual a cada element li correspon un complementari.

Algorisme de Quine És un formalisme per a avaluar fbf que consisteix en la construcció d'un arbre binari en què els nodes són fbf . Dos arcs d'un mateix nivell tenen una etiqueta amb el mateix àtom interpretat amb un dels possibles valors (V o F).

Àtom, Àtoms CP0 Són els símbols P, Q usats per denotar proposicions atòmiques.

Àtom, Àtoms CP1 Si P és un símbol de predicat n-ari i t1,t2...tn són termes llavors P(t1,t2...tn) és un àtom.

Axioma Proposició que s'admet sense demostració.

Càlcul de Predicats Càlcul de primer ordre. Lògica de primer ordre. CP1.

CP1

Càlcul de primer ordre. Lògica de primer ordre. CP1.

Càlcul de Primer Ordre Càlcul de predicats. Lògica de primer ordre. CP1.

Càlcul Proposicional, CP0 Càlcul de predicats d'ordre 0 (CP0). Lògica proposicional. Es basa en les proposicions.

CP0

Càlcul de predicats d'ordre 0 (CP0). Lògica proposicional. Es basa en les proposicions.

Clàusula És una disjunció finita de 0 o més literals.

Clàusula de Horn Clàusula que té tots els literals negatius excepte un de positiu.

Clàusula irrellevant

Page 202: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

198

No ens ajuda a fer una demostració. És una tautologia (sempre és certa independentment de la interpretació).

Clàusula redundant Són les clàusules repetides, o bé, subsumides.

Clàusula subsumida A subsumeix a B si i només si els literals d‟A són un subconjunt dels literals de B.

Complementaris Si A és un àtom llavors els 2 literals A i ¬A són anomenats complementaris.

Complet Un Sistema Formal és complet si tota fbf que és vàlida és demostrable.

Conjunt discrepant Sigui S un conjunt finit d‟expressions. El conjunt discrepant de S és definit de la següent manera: s‟ha de localitzar la posició del símbol més a l‟esquerra per al qual no totes les expressions tenen el mateix símbol i s‟ha d‟extreure de cada expressió la subexpressió començant en la posició d‟aquell símbol. El conjunt de totes les subexpressions és el conjunt discrepant.

Connectors S‟usen per construir proposicions compostes. Els connectors són: el negat, el o, el y, l‟implica i l‟equivalència.

Conseqüència lògica Donades F1, F2 ... Fn fbf‟s i una fórmula G, G és una conseqüència lògica de F1...Fn si i només si

1- Per a tota interpretació I per a la qual F1 y F2 y ... y Fn és certa, G també és certa.

2- (F1 y F2 y ... y Fn) --> G és vàlida.

3- (F1 y F2 y ... y Fn y ¬G) és inconsistent.

Consistent Un Sistema Formal és consistent si no conté una fbf A de manera que A i ¬A poden ser provades.

Una fbf és consistent quan existeix almenys una interpretació per la qual la fbf avalua a V.

Deducció Natural , DN Sistema de regles d'inferència que permet construir deduccions.

Significat de la sigla o acrònim.

DN

Deducció Natural

Page 203: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

199

Decidible Un Sistema Formal és decidible si existeix un algorisme que determini per a qualsevol fbf del sistema quan o no aquesta fbf és demostrable en el sistema.

Domini El domini d‟una variable és la classe d‟objectes admissibles com a valors de les variables.

Equivalències deductives Un enunciat A és deductivament equivalent a B si i només si partint d'A es pot deduir B i si partint de B es pot deduir A.

Saturació amb esborrat Estratègia de resolució. Es tracta de llistar les clàusules dels nivells (S0 ... Sn-1) en ordre i llavors calcular resolvents comparant cada clàusula C1 pertanyent a (S0 ... Sn-1) amb una clàusula C2 pertanyent a Sn-1 que està llistada més tard que C1. Quan es troba una resolvent, aquesta només s‟afegirà a la llista generada fins el moment en cas que no sigui una clàusula irrellevant ni redundant, si no serà esborrada.

Estratègia completa Estratègia que per tot conjunt de clàusules inconsistent es pot demostrar la seva inconsistència.

Estratègia de Saturació Estratègia de resolució. Aquesta estratègia consisteix a trobar totes les resolvents de tots els parells de clàusules de S, afegir les noves resolvents al conjunt S i tornar a aplicar el mètode fins que es trobi la clàusula buida.

Input Estratègia de resolució. Una resolució Input és una resolució en què una de les dues clàusules pare és una clàusula input (és a dir, clàusula del conjunt inicial S).

Lineal Estratègia de resolució. La idea de la resolució Lineal és començar amb una clàusula (anomenada top), resoldre-la amb una altra clàusula, i llavors resoldre la resolvent obtinguda amb alguna clàusula fins a obtenir la clàusula buida.

Lock Estratègia de resolució. Es fan servir índexs per a ordenar els literals de les clàusules de S. Només es permet resoldre sobre els literals amb menor índex en les dues clàusules.

Semàntica Estratègia de resolució. Aquesta estratègia introdueix els mecanismes de partició de les clàusules i ordenació dels predicats. Es divideix el conjunt de clàusules en dos grups segons la interpretació i s'ordenen tots els símbols de predicat. Es tracta de resoldre segons l'àtom menor de la clàusula negativa.

Page 204: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

200

Unitària Estratègia de resolució. Una resolució Unitària és una resolució en la qual cada resolvent és obtinguda usant almenys una clàusula pare unitària (que tingui un sòl literal).

Estratègies de resolució Són diferents estratègies d'aplicació del Principi de Resolució, les quals mecanitzen el procés de demostració: estratègia de Saturació, de Esborrat, Lock, Semàntica, Lineal, Input i Unitària.

Expressió Una expressió és un terme, un conjunt de termes, un àtom (predicat), un conjunt d‟àtoms, un literal, una clàusula o un conjunt de clàusules.

Expressió ground Quan l‟expressió no conté variables.

Factor Si dos o més literals (amb el mateix signe) d‟una clàusula C tenen un unificador més general (u.m.g) llavors C és anomenat un factor de C.

Forma Normal Conjuntiva Una fbf F està en FNC si i només si F té la forma F1 y F2 y ... y Fn en què cada Fi és una disjunció de literals. És a dir, és una conjunció de disjuncions.

FNC

Forma Normal Conjuntiva.

Forma Normal Prenexa Conjuntiva És una forma normal prenexa amb la matriu en forma conjuntiva.

FNPC

Forma Normal Prenexa Conjuntiva.

Forma Normal Prenexa Disjuntiva És una forma normal prenexa amb la matriu en forma disjuntiva.

FNPD

Forma Normal Prenexa Disjuntiva.

Forma Normal Disjuntiva Una fbf F està en FND si i només si F té la forma F1 o F2 o ... o Fn en què cada Fi és una conjunció de literals. És a dir, és una disjunció de conjuncions.

FND

Forma Normal Disjuntiva

Fórmula ben formada de CP0 En la lògica proposicional estan definides recursivament de la següent manera:

1- Un àtom és una fbf.

Page 205: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

201

2- Si G és una fbf llavors (¬G) és una fbf.

3- Si G i H són fbf llavors (G y H), (G o H), (G --> H) i (G <--> H) són fbf.

4- Totes les fbf són generades aplicant les regles 1, 2 i 3.

fbf: Fórmula ben formada

Fórmula ben formada de CP1 En càlcul de primer ordre estan definides recursivament de la següent manera:

1- Un predicat és una fbf.

2- Si G i H són fbf llavors (¬G), (G y H), (G o H), (G -->H) i (G <--> H) són fbf.

3- Si G és una fbf i x una variable lliure a G, (PerTot x) G i (Existeix x) G són fbf.

4- Totes les fbf són generades aplicant les regles 1, 2 i 3.

fbf: Fórmula ben formada

Fórmula consistent Una fórmula G és consistent si i només si existeix una interpretació I de manera que G avalua cert des de I.

Fórmula inconsistent Una fórmula G és inconsistent, si i només si no existeix cap interpretació que satisfaci a G.

Fórmula Standard de Skolem Una fórmula F està en FNS si la F està en FNP, la matriu està en FNC i el prefix només conté quantificadors universals.

FSS

Fórmula Normal de Skolem

Fórmula Normal Prenexa Una fórmula F en CP1 està en FNP, si i només si, F és de la forma: (Q1x1)(Q2x2)...(Qnxn) M, en què cada Qi és PerTot xi o Existeix xi i M és una fórmula que no conté quantificadors.

FNP

Fórmula Normal Prenexa.

Fórmula satisfactible Una fórmula G és satisfactible, si i només si existeix una interpretació I de manera que G avalua cert des de I.

Fórmula vàlida Una fórmula G és vàlida, si i només si tota interpretació satisfà a G.

Inconsistent Insatisfactible.

Page 206: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

202

Insatisfactible Una fbf A és insatisfactible si i només si és fals des de totes les interpretacions.

Instància Sigui l ={t1/v1,t2/v2,...tn/vn} una substitució i E una expressió. Llavors El és una expressió obtinguda a partir d‟E i reemplaçant cada ocurrència de les variables vi 1<= i <= n en E pel terme ti. El és una instància de E.

Interpretació CP0 Donada una fbf en CP0 G, sigui A1...An els símbols atòmics ocorreguts en G. Una interpretació de G és una assignació de valors de veritat als A1...An en la qual a cada Ai se li assigna V o F però no tots dos alhora.

Interpretació CP1 Una interpretació d‟una fórmula F en CP1 consisteix d‟un domini no buit D i una assignació de valors a cada constant, símbol de funció i símbol de predicat ocurrent a F com segueix:

1- Assignar a cada constant un element del domini.

2- A cada símbol de funció n-ari assignar-li un mapping de Dn a D en què Dn = {(x1,x2,...,xn)/xi pertanyent a D}.

3- A cada símbol de predicat n-ari assignar-li un mapping Dn a {V,F}.

Literal És un àtom o la negació d‟un àtom.

Lògica de primer ordre Càlcul de predicats. Càlcul de primer ordre. CP1.

Lògica proposicional Càlcul de predicats d'ordre 0. Càlcul proposicional. Es basa en les proposicions.

Model Interpretació per la qual la fbf avalua V, satisfà la fórmula.

Ocurrència lligada Una ocurrència d‟una variable en una fórmula és lligada, si i només si l‟ocurrència està dintre de l‟abast d‟un quantificador usant la variable o l‟ocurrència que està en aquest quantificador.

Ocurrència lliure Una ocurrència d‟una variable en una fórmula és lliure si i només si aquesta ocurrència no és lligada.

Predicat Si P és un símbol de predicat n-ari i t1,t2...tn són termes llavors P(t1,t2...tn) és un predicat.

Page 207: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

203

Premissa, premisses Enunciat del que es parteix per a fer una deducció.

Principi de Resolució CP0 Per qualssevol 2 clàusules C1 i C2 , si hi ha un literal L1 en C1 que és complementari d‟un literal L2 en C2 llavors s‟eliminen L1 i L2 de C1 i C2 respectivament i es construeix la disjunció dels literals restants de cada clàusula.

Principi de Resolució CP1 Sigui C1 i C2 dues clàusules que no tenen variables en comú. I siguin L1 i L2 literals en C1 i C2 respectivament. Si L1 i ¬L2 tenen un unificador més general, llavors la clàusula (C1s- L1s) o (C2s- L2s) és una resolvent binària de C1 i C2.

Principi de Substitució En qualsevol punt d‟una deducció es pot substituir un enunciat per un altre que sigui deductivament equivalent.

Prova Seqüència finita de fbf P1 P2 ...Pn de manera que

1. Pi és un axioma, o

2. Pi és una fbf del conjunt de premisses i hipòtesis o

3. Pi és una conseqüència directa de les anteriors mitjançant una regla d'inferència.

Proposició Sentència declarativa que és certa o falsa però no les dues alhora.

Proposició atòmica És la proposició de forma més simple. Es denota mitjançant un o més símbols començats per majúscules.

Proposició composta És la unió de diverses proposicions atòmiques mitjançant connectors.

Quantificador Serveix per quantificar les variables. N‟hi ha dos: el quantificador universal (per a tot) i l‟existencial (per algun).

Regla d'inferència Mecanisme per a deduir noves fórmules.

Resolució Consisteix a fer demostracions per reducció a l'absurd usant una única regla: la de resolució.

Resolvent Una resolvent de dues clàusules C1 i C2 és una de les següents resolvents binàries:

Page 208: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

204

1- Una resolvent binària de C1 i C2 .

2- Una resolvent binària de C1 i un factor de C2 .

3- Una resolvent binària d‟un factor de C1 i de C2 .

4- Una resolvent binària d‟un factor de C1 i d‟un factor de C2 .

Resolvent binària Clàusula obtinguda aplicant el principi de resolució a 2 clàusules: C1 i C2.

Reticulat Conjunt ordenat que té un ínfim i un suprem per tot parell de valors.

Satisfactible Quan existeix almenys una interpretació per a la qual la fórmula avalua cert (V).

Sistema Axiomàtic-Deductiu, SAD És aquell que aplica regles d'inferència, axiomes i teoremes sobre les premisses inicials per tal de deduir-ne una certa conclusió o deducció.

SAD

Sistema Axiomàtic Deductiu

Sòlid Un SF és sòlid si cada fbf demostrada és vàlida.

Substitució És un conjunt finit de la forma {t1/v1,t2/v2,...tn/vn} en què cada vi és una variable, cada ti és un terme diferent de vi i no hi ha 2 elements que tinguin la mateixa variable després de /.

Taules de veritat És un formalisme per a avaluar una fbf a partir dels valors de veritat de les fbf‟s que la composen.

Tautologia Una fbf A és una tautologia si i només si és vàlida.

Teorema És tot enunciat A demostrable sense cap premissa.

Teoria de models Teoria utilitzada per a demostrar la certesa o falsedat d'un conjunt de premisses segons la interpretació que se'ls doni.

Termes 1- Una variable (X, Y, Z, ...) és un terme.

2- Una constant és un terme.

Page 209: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

205

3- Si f és una funció n-ària i t1,t2...tn són termes llavors f(t1,t2...tn) és un terme.

4- Tots els termes són generats per les regles 1, 2, 3.

Unificador Una substitució s s‟anomena unificador per a un conjunt d‟expressions {E1, E2, ... , En} si i només si {E1s = E2s = ... = Ens}. En què Eis és l‟expressió resultant d‟aplicar la substitució s a l‟expressió Ei.

Unificador més general Un unificador s per a un conjunt {E1, E2, ... , En} d‟expressions és un unificador més general (u.m.g) si i només si per a cada unificador per al conjunt existeix una substitució de manera que q = s o l .

u.m.g

Unificador més general

Vàlida Una fbf A és vàlida si i només si A és vertadera des de totes les interpretacions.

Valors de Veritat És l‟assignació de V (cert), o bé, F(fals) a una proposició.

Lligades Variables lligades. Si almenys una ocurrència de la variable és lligada.

Lliures Variables lliures. Si almenys una ocurrència de la variable és lliure.

Page 210: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

206

Page 211: Creative Commons License Deed - salleurl.edu · El començament de la història de la deducció formal data del segle tercer abans de Crist, quan Aristòtil va establir la seva teoria

207

Bibliografia

LLIBRES

Symbolic Logic and Mechanical Theorem Proving

Chin-Liang Chang, Richard C. Lee Academic Pr November 1997

Truth, Deduction, and Computation

Davis, Ruth E. Computer Science Press 1989

Language Tutorial

Prolog Development Center A/S Copenhagen 1986-2001 [Prolog 2001]