Σ d´efinie dans Σ en fonction d’un ensemble d’autres
variables X={x1, . . . , xk}peut ˆetre remplac´ee par
sa d´efinition ΦXsans modifier le nombre de mod`eles
de Σ. Plus pr´ecis´ement, pour toute affectation des va-
riables de X, soit cette affectation est inconsistante
avec Σ, soit tout mod`ele ´etendant cette affectation par-
tielle donne la mˆeme valeur de v´erit´e `a y. Dans [21],
les portes logiques consid´er´ees (´equivalence de litt´e-
raux, portes ET, OU, XOR) permettent au pr´eproces-
seur pmc propos´e par Lagniez et Marquis de conduire
`a des gains tr`es importants en terme de temps de cal-
cul lorsque les portes d´etect´ees par la combinaison de
pr´etraitements nomm´ee #eq sont remplac´ees par leurs
d´efinitions. Cependant, pmc reste limit´e au sens o`u il
ne permet de ne traiter qu’un nombre r´eduit de portes
logiques.
Pour aller au del`a de cette limitation, notre nou-
velle technique de pr´etraitement tend `a s’attaquer au
probl`eme de mani`ere beaucoup plus agressive, avec
l’id´ee qu’il n’est pas n´ecessaire d’identifier les portes
logiques mais qu’il peut ˆetre suffisant de d´eterminer
que ces portes existent. Plus pr´ecis´ement, il se r´ev`ele
suffisant de d´eterminer qu’il existe des relations de
d´efinitions entre variables ; il n’est pas n´ecessaire de
d´eterminer comment sont d´efinies ces relations. Cette
distinction est de premi`ere importance dans la mesure
o`u, bien que l’espace de recherche des d´efinitions po-
tentielles ΦXsoit tr`es important (22k´el´ements `a l’´equi-
valence logique pr`es, quand Xcontient kvariables), la
taille d’une d´efinition explicite ΦXde ydans Σ n’est
pas, dans le cas g´en´eral, born´ee par un polynˆome en
|Σ|+|X|sous l’hypoth`ese NP ∩coNP 6⊆ P/poly, consi-
d´er´ee usuellement adopt´ee en th´eorie de la complexit´e
[23].
Nous d´ecrivons ainsi dans la suite un nouveau pr´e-
processeur, B+E, qui associe `a toute formule CNF d’en-
tr´ee Σ une formule CNF Φ qui admet le mˆeme nombre
de mod`eles mais qui est au moins aussi «simple »au
regard du nombre du nombre de variables et de la taille
de la formule 1.
L’algorithme B+Econsiste en deux ´etapes : Bqui
calcule une Bipartition hI, Oides variables de Σ telle
que toute variable de Osoit d´efinie dans Σ par des
variables de I, et Edont le but est d’ ´
Eliminer des va-
riables de Odans Σ. Notre contribution inclut la pr´e-
sentation des algorithmes Bet E, une preuve de la cor-
rection de notre pr´eprocesseur, et des r´esultats exp´e-
1. La restriction imposant `a la formule d’entr´ee d’ˆetre sous
forme normale conjonctive est faible dans la mesure o`u la trans-
formation de Tseitin [34] permet de transformer n’importe quel
circuit propositionnel en une formule CNF admettant le mˆeme
nombre de mod`eles (cet encodage proc´edant justement par ajout
de portes logiques). Notons par ailleurs que les formules CNF sont
les formules d’entr´ee des compteurs de mod`eles de l’´etat de l’art,
comme Cachet [30], C2D [10, 11] ou sharpSAT [33].
rimentaux montrant les gains fournis par l’utilisation
de B+Ecomme pr´eprocesseur `a un compteur exact
de mod`eles, en lieu et place de pmc. Les instances de
tests, le code de B+E, et les r´esultats d´etaill´es de notre
´etude empirique sont disponibles en ligne `a partir de
www.cril.fr/KC/.
Dans la suite de cet article, nous rappelons d’abord
la notion de d´efinition en logique propositionnelle et
quelques r´esultats cl´es sur le sujet. Nous pr´esentons
ensuite le pr´eprocesseur B+Eet la preuve de sa cor-
rection. Nous d´ecrivons l’´etude exp´erimentale r´ealis´ee,
qui montre les gains apport´es par B+E(en particu-
lier, par rapport `a pmc), avant de conclure et de lister
quelques perspectives de travaux futurs.
2 De la d´efinissabilit´e propositionnelle
Commen¸cons par quelques pr´eliminaires sur la lo-
gique propositionnelle. Soit PROPPS le langage pro-
positionnel (classique) d´efini de mani`ere inductive sur
l’ensemble fini de variables propositionnelles PS , l’en-
semble des connecteurs logiques usuels (¬,∨,∧,↔, ...)
et les constantes bool´eennes >et ⊥; ces formules sont
interpr´et´ees de mani`ere classique. Pour toute formule
Σ de PROPPS , l’ensemble des variables de PS appa-
raissant dans Σ est not´e Var (Σ), le nombre de mod`eles
de Σ sur Var(Σ) est not´e kΣk. Un litt´eral `est soit une
variable (`=x) de PS soit la n´egation d’une variable
(`=¬x). Quand `est un litt´eral, var(`) est la variable
sur laquelle est construit ce litt´eral. Un terme est une
conjonction de litt´eraux ou >, une clause est une dis-
jonction de litt´eraux ou ⊥. Une formule CNF est une
conjonction de clauses. ´
Etant donn´e un sous-ensemble
de variables X⊆P S, un terme canonique γXsur X
est un terme coh´erent dans lequel toutes les variables
de Xapparaissent (sous la forme d’un litt´eral posi-
tif ou n´egatif, i.e. une variable ni´ee). On note ∃X.Σ
l’oubli des variables de Xdans Σ, i.e. toute formule
´equivalente `a la cons´equence logique la plus forte de Σ
qui est ind´ependante des variables de X[22].
On rappelle maintenant les deux formes (´equiva-
lentes) sous lesquelles le concept de d´efinissabilit´e pro-
positionnelle peut ˆetre rencontr´e dans la litt´erature.
D´efinition 1 (d´efinition implicite) Soit Σ∈
PROPPS ,X⊆PS et y∈PS. Σ d´efinit de ma-
ni`ere implicite y`a partir de Xsi et seulement si pour
tout terme canonique γXsur X, on a γX∧Σ|=you
γX∧Σ|=¬y.
D´efinition 2 (d´efinition explicite) Soit Σ∈
PROPPS ,X⊆PS et y∈PS. Σ d´efinit explicite-
ment y`a partir de Xsi et seulement si il existe une
formule ΦX∈PROPXtelle que Σ|= ΦX↔y. Dans
ce cas, ΦXest appel´ee d´efinition (ou porte) de ysur