Proposition de thèse en informatique Mai 2015
au cepn (Seppecher 2014, [5]), dans lequel le modélisateur peut dès à présent exploiter
la monade. La monade est implémentée dans le langage de programmation Scala, pour
assurer la compatibilité avec les simulateurs existants qui sont écrits en Java.
Intégrer la contrainte des stocks et des flux à l’environnement de programmation
pour en faire une contrainte vérifiable statiquement, c’est à dire sans avoir à exécuter la
simulation, permet de se prémunir contre des erreurs de programmation en garantissant
la préservation de l’invariant.
C’est surtout une façon de donner un cadre mathématique à un invariant particulier
de l’économie, car la solution que nous avons adoptée pour cela repose sur la notion
de monade qui est empruntée à la théorie des catégories, une théorie mathématique qui
abstrait la notion de composition de fonctions et s’intéresse aux propriétés de préservation
de structures. La théorie des catégories est d’un grand intérêt en informatique théorique,
en logique mathématique voire en physique (Baez et Stay 2011 [6]) et elle s’applique
bien aux langages de programmation (Pierce 1991, [7]). L’usage de monades voire de
comonades (une notion duale) est devenue standard dans des langages comme Haskell et
elle se répand dans les autres langages fonctionnels.
Il serait certainement possible de fournir un cadre assurant la cohérence des stocks
et des flux en utilisant d’autres méthodes de programmation, comme l’encapsulation de
données en programmation objet. Mais, outre son plus grand intérêt mathématique, une
solution fondée sur une monade offre quelques avantages pratiques immédiats essentielle-
ment liés à la parfaite compatibilité avec la composition de fonctions et à la possibilité
de composer la monade elle-même avec d’autres monades. C’est un moyen robuste de
traduire l’invariant dans le système de type du langage de programmation.
En élargissant le point de vue, un type est un invariant sémantique du calcul. Porter
l’étude du modèle dynamique de l’économie au niveau du système de type c’est à la fois
identifier de nouveaux invariants potentiellement d’intérêt pour la science économique et
permettre d’exprimer la dynamique dans les cadres sémantiques mis en place en théorie
de la démonstration ou en calcul de processus. Parmi ces cadres sémantiques on peut
citer la sémantique des jeux ou la ludique de Girard, où la notion de comportement
généralise celle de type en prenant en compte l’interaction. Les calculs de processus
typés tel que le π-calcul [8] offrent un autre cadre de modélisation de la dynamique.
2 Sujet
Cette thèse a pour objectif de donner une sémantique mathématique aux objets calcu-
latoires de ces modélisations de l’économie, en partant des invariants du modèle et en
particulier des invariants du système monétaire tel que la cohérence des stocks et des flux.
La notion d’interaction, entre entités micro-économiques ou entre agents de la simulation,
devrait y occuper une place centrale et sa modélisation précise dans les cadres théoriques
développés en théorie de la démonstration, notamment dans l’équipe lcr (logique, calcul,
raisonnement) du lipn, est un des attendus de la thèse. Il s’agit notamment de permettre
de raisonner mathématiquement sur les propriétés des économies monétaires. Il faudra
en particulier trouver les bonnes notions d’observables pour construire une équivalence
2