Travaux dirigés de théorie de la programmation

Ioana Pasca et moi-même sommes chargés des travaux dirigés du cours Théorie de la programmation assuré par Daniel Hirschkoff.

Voici la listes des énoncés de chacune des séances:
  1. À la découverte de COQ,
  2. Prédicats inductifs (la solution des profs, ainsi qu'une autre solution de François Dross, merci à lui),
  3. Équivalence petit pas-grand pas d'un langage arithmétique (solution, une solution plus linéaire),
  4. Équivalence petit pas-grand pas dans IMP (corrigé),
  5. Équivalence petit pas-grand pas dans IMP (suite) et logique de Hoare (corrigé),
  6. Hoare en action : l'outil Why,
  7. Elimination des références et des exceptions dans MINI-ML,
  8. Un interpréteur de MINI-ML (miniml.tgz, code corrigé),
  9. Unification (archive, code corrigé),
  10. Inférence de type dans MINIML (archive, corrigé),
  11. Réécriture (corrigé),
  12. Réécriture,
  13. Analyse lexicale et syntaxique ( archive),
  14. Réécriture,
  15. Réécriture en coq.

Vous avez un devoir à rendre: certifiez votre premier compilateur !.

Voici la liste des tactiques indispensables:
→,∀ ~ =
Constructeurs (But) intro(s) split left,right exists intro reflexivity
Destructeurs (Hypothèses) apply destruct destruct destruct destruct rewrite
Puis voici une liste de tactiques utiles: Enfin, voici la liste des tactiques "interdites" (ce sont les tactiques automatiques): Dans tous les cas n'hésitez jamais à consulter le manuel de coq ainsi que la bibliothèque standard.