Descriptif
La logique informatique est utilisé dans un large éventail d'applications en informatique, allant de l'approche déductive de l'Intelligence Artificielle préconisée par le pionnier de l'IA, John McCarthy, à la démonstration de l'absence de bogues dans de grands logiciels industriels, comme la ligne 14 du métro de Paris, ou à vérifier les théorèmes difficiles comme celui de Feit-Thompson dans la classification des groupes simples finis.
L'objectif de ce cours est d'expliquer la manière dont la logique peut être utilisée afin de modéliser des problèmes de nature informatique ou mathématique, et comment les ordinateurs peuvent être utilisés pour y parvenir. Nous allons présenter des assistants de preuve, qui permettent de formaliser un raisonnement humain par la construction interactive de preuves, et expliquent leur utilité pour certifier l'absence de bogues dans les programmes. Il est basé sur la correspondance Curry-Howard : un programme est identique à une preuve (ou plus précisemment, un programme fonctionnel typé correspond à une dérivation de son type). Afin d'atteindre des applications réalistes, nous présenterons l'assistant de preuve Agda et la logique dépendente qu'il sous tend. Si le temps nous le permet, nous présenterons également différentes notions et techniques telles que la théorie des ensembles et la recherche de preuve.
Ce cours est aussi à propos de logique en pratique : toutes les PC se feront sur ordinateurs, utilisant OCaml puis Agda.
Site du cours : http://inf551.mimram.fr/
Objectifs pédagogiques
les notions requises :
- logique propositionnelle et les variations constructives,
- programmation fonctionnelle, formalisée par lambda-calcul,
- systèmes de typage et la correspondance Curry-Howard.
Diplôme(s) concerné(s)
- M1 Cyber - Cybersecurity
- Programmes d'échange internationaux
- M1 Système Cyber Physique
- M2 Système Cyber Physique
- M1 Fondements de l'Informatique MPRI
- Titre d’Ingénieur diplômé de l’École polytechnique
Parcours de rattachement
Pour les étudiants du diplôme M1 Cyber - Cybersecurity
des connaissances de base sur la logique, le cours INF412 étant bien sûr parfait pour cela sinon il est recommandé de lire un livre d'introduction à la logique pendant l'été (voir les références sur le site)
Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique
INF412 recommended
Format des notes
Numérique sur 20Littérale/grade réduitPour les étudiants du diplôme M1 Système Cyber Physique
Pour les étudiants du diplôme Programmes d'échange internationaux
Le rattrapage est autorisé (Note de rattrapage conservée)- Crédits ECTS acquis : 5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M1 Fondements de l'Informatique MPRI
Le rattrapage est autorisé (Note de rattrapage conservée)- Crédits ECTS acquis : 5 ECTS
Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique
Le rattrapage est autorisé (Note de rattrapage conservée)- Crédits ECTS acquis : 5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M2 Système Cyber Physique
Le rattrapage est autorisé (Note de rattrapage conservée)- Crédits ECTS acquis : 4 ECTS
Pour les étudiants du diplôme M1 Cyber - Cybersecurity
Le rattrapage est autorisé (Note de rattrapage conservée)- Crédits ECTS acquis : 5 ECTS