Master 1 informatique 20062007' Logique et Programmation' G' Hains - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Master 1 informatique 20062007' Logique et Programmation' G' Hains

Description:

La logique quationnelle simplifie le traitement automatis de la logique avec ... clauses de Horn auxquelles on applique l'algorithme de r solution dans des ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 18
Provided by: laclUniv
Category:

less

Transcript and Presenter's Notes

Title: Master 1 informatique 20062007' Logique et Programmation' G' Hains


1
Chapitre 3 Lunification syntaxique
  • Résolution déquations
  • Substitutions, unification de systèmes
    déquations
  • Algorithmes dunification

Master 1 informatique 2006-2007. Logique et
Programmation. G. Hains
2
La résolution déquations
  • On a vu que le traitement des formules
    quantifiées est syntaxiquement (variables liées,
    captures, renommages) et sémantiquement (règles
    logiques) complexe. Pour  mécaniser  la logique
    du premier ordre on utilise des théories
    simplifiées.
  • La logique équationnelle simplifie le traitement
    automatisé de la logique avec ses méthodes de
    démonstration automatique par réécriture.
  • La programmation logique simplifie les formules
    en remplaçant les quantificateurs par des clauses
    de Horn auxquelles on applique lalgorithme de
    résolution dans des langages comme Prolog.
  • Ces deux approches sont basées sur la théorie et
    les algorithmes d unification syntaxique de
    termes que nous présentons ici. Pour la logique
    du 1er ordre on ne traitera ici que des termes
    fonctionnels et pas des formules.

Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
3
La résolution déquations
Soient t1, t2 deux termes du même langage
T_SigmaX. On appelle solution de léquation
t1 t2 toute valuation v X -gt Valeurs qui
les rend égaux c-à-d telle que v(t1)
v(t2). Par exemple si les valeurs sont des
naturels alors léquation S(x)S(0)S(0)
a pour solution v x -gt 1 puisque
v(S(x)) S(1), v(S(0) S(0)) S(0) S(0)
et que sur les entiers on a S(1) S(0) S(0)
2
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
4
La résolution déquations
Certaines équations comme la précédente on une
(seule) solution. Dautres nen ont aucune
comme S(x) x S(S(x)) Et certaines en ont
plusieurs comme x y S(S(S(0))) dont
les solutions sont x-gt0, y-gt3 x-gt1,
y-gt2 x-gt2, y-gt1 x-gt3, y-gt0 Enfin certaines
équations comme S(x) y ont une infinité de
solutions x-gt0, y-gt1 x-gt1, y-gt2 etc.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
5
La résolution déquations
Une valuation dont les valeurs sont simplement
des termes sappelle une substitution. Ainsi
lopération t x t nest rien que
lapplication dune substitution élémentaire v
x -gt t au terme t. v(t) tx t si v
x -gt t En général une substitution peut
modifier plusieurs variables. Si vx-gt t, y -gt
t, z -gt t Alors v(t) t x t y
t z t Sauf détail technique
(capture) possible, à voir plus loin. Une
substitution peut sappliquer à une équation.
Par exemple x -gt S(0) transforme léquation
S(x)S(0)S(0) en S(S(0))S(0)S(0)

Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
6
La résolution déquations

Mais ATTENTION x -gt S(0) nest pas une
solution de S(x)S(0)S(0) car les deux côtés
de S(S(0))S(0)S(0) sont bien des termes et
pas des entiers. Lun deux a S pour racine
alors que lautre a pour racine. Aucune
substitution ne peut les rendre égaux comme
termes. Les termes S(S(0)) et S(0)S(0) ne sont
pas syntaxiquement égaux et on dit que léquation
S(x)S(0)S(0) na pas dunificateur ce qui
signifie quaucun terme substitué pour x ne la
rend syntaxiquement vraie.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
7
Substitutions et unification de systèmes
déquations
Lunification dune équation t1 t2 consiste à
chercher à la résoudre syntaxiquement. Une
solution est appelée unificateur. Par exemple
x -gt S(0), y -gt z est un unificateur pour
x S(y) S(0) S(z) car cette substitution
donne S(0) S(z) S(0) S(z). On peut aussi
chercher à unifier un système (multiensemble)
déquations. Par exemple y -gt 0, z -gt S(0)
est un unificateur pour S(y) S(0), z
S(y)
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
8
Substitutions et unification de systèmes
déquations
Définition Soit un système déquations E
s_1t_1, , s_m t_m et v X -gt T_SigmaX
une substitution. On dit que v unifie E ou v est
un unificateur pour E si v(s_i) v(t_i) pour
i1, , m. On dit que E est unifiable sil
possède un unificateur. On dit que E est en
forme réduite sil est de la forme x_1 t_1,
, x_m t_m où les variables x_i sont
distinctes. Un tel système représente
naturellement une substitution associée x_1 -gt
t_1, , x_m -gt t_m
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
9
Substitutions et unification de systèmes
déquations
Par exemple E1 x S(z), y 0 z est en
forme réduite et sa substitution associée v1
x -gt S(z), y -gt 0 z est un unificateur
pour E1. Mais ATTENTION ce nest pas toujours le
cas. Soit E2 x y, y 0 qui est en
forme réduite. Sa substitution associée v2
x -gt y, y -gt 0 donne, appliquée à E2 v2(E2)
y 0, 0 0 et v2 nest donc pas
unificateur de E2. Toutefois on remarque que
v2(v2(E2)) 0 0, 0 0 donc (v2 o v2), la
composition de v2 avec v2 est bien unificateur de
E2
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
10
Substitutions et unification de systèmes
déquations
Autre exemple soit E3 x S(y), y x x
dont la substitution associée est v3 x -gt
S(y), y -gt xx donc v3(E3) S(y)
S(xx), xx S(y) S(y) et v3 nest pas
unificateur de E3. Si on applique encore v3 on a
v3(v3(E3)) S(xx) S(S(y)S(y)), S(y)S(y)
S(xx) S(xx) toujours pas unificateur et
on pourrait poursuivre à linfini. En fait
lunificateur nexiste que pour des termes
rationnels (cycliques) x -gt (t S(tt)),
y -gt tt . On voit donc que la substitution
associée à un système en forme réduite nest pas
unificateur si on peut lappliquer deux fois ou
plus en changeant les termes obtenus.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
11
Substitutions et unification de systèmes
déquations
Définition Une substitution v est idempotente si
(v o v) v cest-à-dire si v(v(t)) v(t) pour
tout terme t. v1 x -gt S(z), y -gt 0 z
est idempotente. Pour sen assurer il suffit de
considérer leffet de v1 sur les variables. v1
o v1 x -gt v1(S(z)), y -gt v1(0 z) x
-gt S(z), y -gt 0 z v1. v2 x -gt y, y -gt
0 nest pas idempotente car x v2-gt y
v2-gt 0, en dautres mots v2(v2(x)) 0 alors
que v2(x) y. v3 x -gt S(y), y -gt xx
nest pas idempotente car x -v3-gt S(y)
v3-gt S(xx).
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
12
Substitutions et unification de systèmes
déquations
Définition Un système déquations en forme
réduite E dont la substitution associée v est
idempotente est dit en forme résolue. La forme
résolue est suffisante pour trouver un
unificateur. Mais certains unificateurs ne sont
que des spécialisations dautres plus généraux.
Par exemple si E x y alors v1 x -gt 0,
y -gt 0 et v2 x -gt y sont deux unificateurs
pour E. Mais il est clair que v2 est plus
 intéressant , il est plus général et v1
spécialise v2. En général, si E est unifiable il
existe un unificateur le plus général, unique à
un renommage des variables près. Proposition
(forme résolue et most general unifier, ou
mgu) Si E est en forme résolue, alors sa
substitution associée v est lunificateur le plus
général pour E.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
13
Algorithmes dunification
Pour vérifier si un système déquation est
unifiable et le cas échéant calculer sont mgu,
nous allons définir des transformations E -gt E
ou E -gt Echec telles que E et E sont
équivalent (ont le même ensemble dunificateurs
et E nest pas unifiable si E -gt Echec. Le
calcul dunificateur consistera alors à appliquer
la clôture réflexive-transitive (-gt) de la
relation (-gt) appliquer autant que possible
(éventuellement aucune fois) une des règles de
transformation. On a un algorithme pour le
problème dunification (syntaxique) de termes.
Cette technique de calcul sappelle réécriture
(ou récriture).
On dit  unification syntaxique  car il existe
aussi des problèmes dunification qui tiennent
compte daxiomes entre les termes, par exemple la
commutativité de rendrait S(x)y 0 S(0)
unifiable, ce qui nest pas le cas dans notre
théorie purement syntaxique. Or ces problèmes
sont parfois de plus grande complexité, voire
indécidables.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
14
Algorithmes dunification
Règles de transformation des systèmes déquation.
Ici f, g représentent des symboles fonctionnels
comme S, 0, , . Décomposition f (s1,, sn)
f (t1,, tn) -gt s1t1, , sntn
Effacement t t -gt Elimination
E union x t -gt Ex t union x t
si t nest pas une variable et x pas une
variable de t. Inversion t x -gt x
t si t nest pas une variable. Conflit f
( ) g ( ) -gt Echec si f ltgt g. Cycle
x t -gt Echec si x est une variable de t.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
15
Algorithmes dunification
Lemme Si E r-gt E où r est une des règles
décomposition, effacement, élimination,
inversions, alors E et E ont les mêmes
unificateurs. Si f ltgt g, léquation f() g( )
na pas dunificateur. Si x est une variable de
t léquation x t na pas dunificateur (dans
T_SigmaX, mais sur les termes rationnels
oui). Proposition La relation E -gt E est bien
fondée. Si E -gt Echec alors E nest pas
unifiable. Si E -gt E et quaucune
transformation ne peut modifier E alors E est
en forme résolue et la substitution associée à E
est le mgu de E.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
16
Algorithmes dunification
Pour traiter lunification de termes rationnels
il faut ajouter une règle Confrontation x
s, x t -gt x s, st si s nest pas une
variable et si (x t) précède st en ordre
lexicographique. et aussi remplacer Elimination
par Elimination-simple E union x y -gt
Ex y union x y si x ltgt y. Le système
résultant est aussi complet (trouve toute
solution ou absence de solution) et a aussi la
propriété de terminaison (la clôture
réflexive-transitive est bien fondée gt le calcul
se termine toujours gt il existe un algorithme de
décision).
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
17
Application à la réécriture
Soit un système de réécriture g -gt d, g -gt d
. Lapplication du système à un terme t
seffectue et se définit par lapplication
successive dune règle comme (g -gt d) à t.
Lapplication de (g -gt d) à t est possible si g
peut sunifier avec un sous-terme de t. Plus
précisément, si sigma(g) sigma(t(u)) alors la
règle sapplique et donne t -gt t u lt-
sigma(d). Concrètement on applique sigma(g) -gt
sigma(d) à loccurrence u dans t.
Master 1 informatique 2006-2007. Logique et
programmation.  Logique du 1er ordre 
G. Hains
Write a Comment
User Comments (0)
About PowerShow.com