INF 321
Programmation fonctionnelle, typage,
isomorphisme de Curry-Howard
Eric Goubault
Cours 9
28 juin 2012
1
Dans le dernier ´
episode...
On a vu:
Validation
Syst`emes de preuve en logique
On va voir:
Retour sur la programmation fonctionnelle (Caml, Haskell...)!
Strat´egies d’´evaluation (eager/lazy)
Typage et isomorphisme de Curry-Howard
En fait c’est un cours sur la r´ecursivit´e, les r´ef´erences, et la preuve
de programmes, revisit´ees dans les langages fonctionnels! C’est
aussi l’occasion de voir une nouvelle s´emantique, op´erationnelle,
des langages de programmation
2
Dans le dernier ´
episode...
On a vu:
Validation
Syst`emes de preuve en logique
On va voir:
Retour sur la programmation fonctionnelle (Caml, Haskell...)!
Strat´egies d’´evaluation (eager/lazy)
Typage et isomorphisme de Curry-Howard
En fait c’est un cours sur la r´ecursivit´e, les r´ef´erences, et la preuve
de programmes, revisit´ees dans les langages fonctionnels! C’est
aussi l’occasion de voir une nouvelle s´emantique, op´erationnelle,
des langages de programmation
3
Mais avant cela...
Comment d´
efinit-on la signature d’un mod`
ele ou
d’une th´
eorie?
C’est un ensemble de fonctions et de pr´edicats choisis pour
une th´eorie ou un mod`ele donn´e
Exemple donn´e la derni`ere fois: pour d´efinir la th´eorie des
groupes, il est naturel de prendre comme signature:
fonctions: (l’op´eration de groupe), 1(l’inversion) et 1
(l’unit´e du groupe)
pedicats: = (´egalit´e)
Mais on pourrait aussi ne prendre que ,1et = (pas l’unit´e
donc) et ´ecrire juste en plus des axiomes classiques:
x,y x x1=yy1
x,y x (yy1) = x
4
Pour les mod`
eles...
Encore plus de choix possible d’une certaine fa¸con
Exemple: les nombres r´eels
Peut ˆetre vu comme un groupe additif, donc avec comme
signature +, (oppos´e, unaire) et 0
Peut ˆetre vu comme un corps, donc avec +, ,et 0 et 1
Peut ˆetre vu comme un corps totalement ordonn´e
archim´edien, donc avec +, ,, 0 et 1 et comme pr´edicats =
comme pec´edemment mais aussi
etc.
Tout d´epend de ce que l’on veut “observer”
5
1 / 78 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !