Couvre les propositions inductives en Coq, en se concentrant sur les règles dévaluation pour les expressions arithmétiques et leurs applications dans la définition des fonctions partielles et non déterministes.
Couvre le calcul lambda simplement typé, en se concentrant sur sa syntaxe, sa sémantique et ses propriétés de système de type telles que le progrès et la préservation.
Couvre la sémantique des langages de programmation, en se concentrant sur le langage Add et le rôle des règles de réécriture et des machines CK dans la compréhension du sens.
Explore l'analyse automatisée de terminaison à l'aide de paires de dépendances, couvrant les techniques classiques et modernes, les concours annuels et des outils comme AProVE.
Introduit des enregistrements, des variantes, des règles d'évaluation, des règles de dactylographie, des défis d'aliasing et des avantages dans les langages de programmation.
Introduit Iris, un cadre logique pour raisonner sur la sécurité et l'exactitude des programmes impératifs d'ordre supérieur simultanés, en mettant l'accent sur ses caractéristiques et applications uniques.
Explore les langues d'Isar, de ML et de Scala, couvrant les systèmes de preuve, les règles de déduction naturelle, les définitions inductives et l'approche LCF.
Couvre les bases de la programmation C, y compris les variables, les opérateurs et la programmation orientée système, en mettant l'accent sur les différences avec Java.
Explore l'application pratique de la théorie du langage, y compris le tri rapide, le typage progressif et la gestion efficace de la mémoire, ainsi que les défis de la synthèse des programmes de réduction.