Logique temporelle

jeudi 26 novembre 2009
par  Alain BUSSER

Si l’affectation (« mettre 2 dans x ») est souvent notée par une égalité (« x=2 ») dans les langages de programmation les plus courants, c’est parce qu’après avoir exécuté l’affectation, il y a effectivement égalité (x est vraiment égal à 2). Mais cette égalité n’est pas tout le temps vraie, ce qui mène à une logique où la valeur de vérité d’une proposition varie dans le temps.

À la question

Comment s’appelait le Président de la République Française en mai 1968 ?

Alice répond :

« Charles de Gaulle ayant été élu Président le 8 janvier 1959 et ayant démissionné le 28 avril 1969 (après avoir été réélu en 1965) était donc encore en fonction en mai 1968. D’ailleurs on se souvient de la fermeté dont il avait fait preuve alors. Le Président de la République Française s’appelait donc Charles de Gaulle en mai 1968. »

Bob, lui, répond à la même question :

« Le Président de la République Française s’appelle Nicolas Sarközy de Nagy-Bosca. Il est né le 28 janvier 1955 et avait donc 13 ans en 1968. Il a d’ailleurs pris part à un mouvement de lycéens à l’époque. Il s’appelait déjà Nicolas Sarközy de Nagy-Bosca en mai 1968. En mai 1968, le Président de la République Française s’appelait donc Nicolas Sarközy de Nagy-Bosca. »

Qui a raison ?


Exemple d’une boucle

On va considérer le script ci-dessous, qui calcule la somme des entiers consécutifs jusqu’à 5 :

var somme=0;
for(indice=0;indice<=5;indice=indice+1){
somme=somme+indice;
}

Voici une simulation en mode pas-à-pas, où le temps $N$ est piloté par un curseur situé en bas de la figure (La ligne en cours d’exécution est coloriée en rouge, et on a abrégé "indice=indice+1" en "indice++") :

JavaScript en mode pas-à-pas

Au temps $N=0$, les deux variables $indice$ et $somme$ sont indéfinies. Au temps $N=1$, la proposition $somme=0$ est vraie (effet de l’initialisation), et le reste tant que $N\leqslant 4$ : Après ça, quand $N=5$, $somme=1$ est vraie et donc $somme=0$ ne l’est plus !


Quelques erreurs d’élèves de Seconde

  • faire aller l’indice de 5 en 5 au lieu de 1 en 1 ;
  • remettre l’indice à zéro à chaque retour dans la boucle (donc utiliser l’indice comme mesure du temps, ce qui est impossible car le temps ne revient pas en arrière) ;
  • mauvaise lecture de la sortie de la boucle (le $<=$ vu comme un $<$) ;
  • la somme initialisée à 5 au lieu de 0 ;
  • perception du début "1 3" comme une permutation des premiers entiers, donc la suite est 2...
  • Tout tableau est forcément de proportionnalité, donc la suite des valeurs de $somme$ est la table de multiplication de 5...

Ces erreurs témoignent soit d’une mauvaise perception de l’incrément, soit d’une mauvaise perception du passage du temps.

Histoire d’avoir une notation, comme il est d’usage d’écrire $p$ juste pour dire que $p$ est vraie (et $\neg p$ si $p$ est fausse), notons $p_n$ le fait que $p$ est vraie au temps $n$ (c’est-à-dire lorsque $N=n$). Cela suppose que le temps est discret [1].

Par exemple, la proposition $somme=3$ est vraie aux temps $N=7$ et $N=8$ mais pas avant ni après :

$$\neg(somme=3)_2$$

mais

$$(somme=3)_7$$

et

$$(somme=1)_2$$


[1en informatique, rythmé par les « tops » d’une horloge, dont la cadence, de l’ordre du GigaHertz, est le paramètre le plus connu d’un ordinateur.


Commentaires

jeudi 23 décembre 2010 à 16h03

Qui a raison ?

Conformément à ce qui est dit explicitement en texte et qui me semble correct, j’aurais mis à la deuxième ligne 1968 en indice à droite de N(y) et non de Sarkozy.
Le signe = me paraît mal venu. Il eut été préférable et plus simple de supprimer les quantificateurs existentiels et de substituer de Gaulle à x dans la première ligne et Sarkozy à y dans la deuxième ligne après la rectification signalée et de s’arrêter là. Les prédicats avec quantificateur existentiel s’en déduisent, si on y tient vraiment, par l’axiome d’introduction de « il existe », lequel n’est pas connu de façon évidente par le commun des mortels !

Ceci est aussi un exemple d’une phrase écrite dans la métalangue, c’est à dire ici en français, qui a deux interprétations en langue formelle. Il ne manque pas d’exemples de sujets d’examens, y compris au baccalauréat, où l’on s’est retrouvé dans cette situation au moment de la correction.