N'empêche qu'une première approximation, très grossière, se résume au modèle mathématique suivant.
Considérons maintenant la théorie suivante T(C) du calcul
propositionnel.
On prend P comme ensemble de variables propositionnelles, et comme
axiomes les formules issues de la relation C suivant la règle:
Pour tout (x,y),
si C(x,y) = vrai on a l'axiome (x -> y) ,
si C(x,y) = faux on a l'axiome (x -> non y).
Remarque: la relation C n'est pas a priori symétrique. Mais elle ne sera généralement pas très éloignée de la symétrie, surtout en ce qui concerne la valeur faux (ce qui n'a à peu près aucune importance vu qu'une relation faux et sa symétrique donnent des axiomes logiquement équivalents).
Pour tout x de P, on notera T(C,x) la théorie déduite
de T(C) à laquelle on a ajouté l'axiome "x est vrai".
Enfin, le problème général à traiter est
celui-ci:
Trouver des parties B, H+ et H- de P possédant les propriétés
suivantes (l'ensemble B peut rester inconnu, l'important est qu'il existe,
mais on veut connaître H+ et H-):
1) Pour tout x dans B, T(C,x) est consistante, et entraîne les
théorèmes "y est vrai" pour tout y dans H+, et "y est
faux" pour tout y dans H-.
2) B et H+ sont aussi grands que possible (des parties dont le cardinal
sera un fort pourcentage de celui de P, de préférence majoritaires,
et dont l'intersection est assez grande aussi).
La solution est en deux parties.
D'abord, on calcule les théories T(C,x) de la manière
suivante.
Soit R(x,y) la relation transitive engendrée par la relation
"C(x,y)=vrai", autrement dit R(x,y) est vraie si et seulement s'il existe
une suite finie x1,...,xn avec x=x1, y=xn et pour tout i de 1 à
n-1, C(xi, x(i+1))=vrai.
Alors l'ensemble des variables trouvées vraies (de véracité
démontrée) dans T(C,x) est V(x)={y tels que R(x,y)} et cette
théorie est consistante si et seulement si pour tous y, y' dans
V(x), on a C(y,y') différent de faux.
(Ceci calcule les cas où une variable est prouvée vraie;
oublions ici le calcul des cas où une variable est prouvée
fausse)
Ensuite, on déclenche des processus successifs de modification
de C en vue d'améliorer les résultats.
Le problème est qu'on veut avoir des ensembles B et H+ assez
grands, or on a tous les risques de ne pas en trouver, ayant pour la plupart
des x le problème que soit T(C,x) est inconsistante, soit elle est
trop faiblement déterminée (l'ensemble V(x) est trop petit,
et peu de variables de P ont leur valeur déterminée dans
T(C,x)) . Un autre obstacle serait le cas où la relation C prendrait
plus souvent la valeur faux que vrai. Dans ce dernier cas, on sera moins
exigeants sur la taille des ensembles B et H+ qu'on cherche à obtenir.
Les premiers risques peuvent se traiter par les trois types suivants de
processus de modification de la relation C, mais souvent il faut lancer
plusieurs processus de ces types, en série, en parallèle,
voire éventuellement en ramifications, jusqu'à obtenir effectivement
leur résolution.
Les deux premiers types de processus visent à résoudre
les inconsistances.
Si T(C,x) est inconsistante, il doit exister deux éléments
y,z de V(x) tels que C(y,z)=faux.
On pourra alors déclencher un deux types possibles de processus (ou les deux successivement, si le premier n'aboutit pas) décrits comme suit.
1) Comme z est dans V(x), il doit y avoir par construction de V(x) un
a dans V(x) tel que C(a,z)=vrai; mais de plus on demande que ni C(a,y)
ni C(y,a) ne soient faux.
Si z=x cela pose problème (la contradiction est laissée),
sinon on recommence l'étude en remplaçant (y,z) par (a,y)
ou (y,a) suivant le cas. Ce recommencement n'est pas illimité, car
ayant pu choisir un a tel que
ordre de a par rapport à x = (ordre de z par rapport à x) -1
où l'ordre de a par rapport à x est le plus petit n tel
qu'on peut trouver C(x,x2)...C(x(n-1),a)
le paramètre (ordre de y + ordre de z par rapport à x)
décrémente ainsi d'une unité.
Le premier type de processus D(a,y,z) vise alors à modifier
C au niveau du sous-ensemble {a,y}*{a,y,z}. Son effet, non connu à
l'avance, peut se résoudre par de nouvelles valeurs de la restriction
de C à {a,y}*{a,y,z}, avec soit {C(a,z),C(y,z)} différent
de {vrai,faux}, soit C(a,y) ou C(y,a) devient faux (déchenchant
un nouveau processus du premier ou deuxième type appliqué
au traitement de la contradiction ainsi obtenue).
2) Le second type de processus G(j,y,z), plus symétrique en y
et z, fait intervenir un j dans la valeur actuelle (provisoire ou non)
de l'ensemble H+, tel que C(j,y) = C(j,z) = "je ne sais pas" avant le nouveau
processus.
Il vise à rendre définie C(j,z) et éventuellement
C(j,y).
3) Le troisième type de processus, noté E(x,y), visant
à accroître la détermination de la théorie,
est nettement plus simple: on prend deux éléments x et y
tels que la valeur de y n'est pas déterminée dans la théorie
T(C,x), et pour x fixé, y correspond si possible à une valeur
maximale, au sens de la relation d'inclusion, de l'ensemble V(y)-V(x) .
Ce processus a pour but de donner à C(x,y) (et accessoirement à
C(y,x)) une valeur définie.
L'avantage est évident: si par chance le processus E(x,y) aboutit
à donner à C(x,y) la valeur "vrai", V(x) prendra comme valeur
finale la réunion des valeurs initiales de V(x) et V(y), ce qui
est un ensemble sensiblement plus grand.
Autrefois, on avait fixé p une fois pour toutes. On avait alors
B+ ={x| C(x,p)=vrai} et B- ={x| C(x,p)=faux}, et au lieu de chercher à
maximiser un certain B on espérait que B+ resterait plus grand que
B- en cardinal. Puis, on définissait H+={y| C(p,y)=vrai}, H-={y|
C(p,y)=faux}.
Malheureusement, B+ devint un jour plus petit que B-, et il fallut
changer de système. On pensa que la solution serait de laisser varier
p au cours du temps, mais seulement à intervalles réguliers
de plusieurs années. On inventa alors le mécanisme suivant
de modification de p: on produisit une sélection d'une partie K
de P, de cardinal approchant la dizaine. Officiellement, tout élément
de P était susceptible d'appartenir à K, mais en pratique
c'était impossible, les mécanismes de choix de l'ensemble
K étant assez obscurs.
Alors, on voulait déclencher les processus E(e,k) pour tout
e dans P et tout k dans K, ainsi qu'un certain nombre de processus G(e,k,k')
pour tout e dans P et un certain nombre de paires {k,k'} dans K, pour rendre
définies tous les C(e,k). Déjà, une telle masse d'opérations
coûte assez cher, mais ce n'est pas fini. On voulait qu'à
la fin de ces processus il existe pour tout e dans P un unique k
dans K tel que C(e,k)=vrai. On définissait enfin la valeur de p
comme étant l'élément k de K tel que {e | C(e,k)=vrai}
a le plus grand cardinal.
Cependant, il arriva de plus en plus que pour beaucoup d'éléments
e, le nombre d'éléments k de K tels que C(e,k) = vrai restait
désespérément nul. Cette mauvaise nouvelle fut injustement
présentée comme une mauvaise exécution des processus
sus-mentionnés; en réalité, cela était dû
essentiellement au mauvais choix de l'ensemble K, que malheureusement nul
ne pouvait changer. En effet, dans une bonne distribution d des valeurs
des vérité (application de P dans {vrai, faux}, mais qu'on
ne peut pas connaître a priori), bien que V={x|d(x)=vrai} est plus
grand en cardinal que F= {x|d(x)=faux}, l'ensemble K était comme
par on ne sait quelle malédiction toujours inclus dans F.
Mais les problèmes ne s'arrêtent pas là.
L'élément p n'échappant pas à la règle
que { y | C(p,y) est défini (vrai ou faux)} est de trop petit cardinal
pour ce dont on a besoin, et par souci d'une relative indépendance
du résultat par rapport au choix de p, on construisit un système
complètement virtuel L d'une grande complexité, à
partir de P sans en être un élément ni tout-à-fait
une partie, tel que C(p,L)=vrai (c'est aussi une chose qui oblige à
laisser p constante par intervalles de temps). On définit alors
H-={y | C(L,y) = faux}, mais deux grands défauts demeurèrent: