Télécharger la présentation
1
Pour les nuls débutants
Coq Pour les nuls débutants
2
Un formalisme Un outil Des bibliothèques Pourquoi faire ? Comment ?
3
le calcul des constructions inductives (Huet, Coquand, Paulin)
Un calcul très expressif (plus expressif t’es incohérent) Programmes (fonctionnels, impératifs, polymorphes) Spécifications de programmes Programmes certifiés (+ extraction) Raisonnement mathématique Logiques (HOL, modales, temporelles, etc.) Objets et preuves infinis
4
Un outil Famille des assistants de preuves Caractéristiques communes:
LCF, PVS, Nqthm, HOL, Isabelle, Coq, … Caractéristiques communes: Preuves complètes Tactiques (programmables), procédures de décision Pas de prétention à l’automaticité totale
5
Des bibliothèques … Domaines divers Composants réutilisables
Arithmétique, Cryptologie, Protocoles, Programmation, etc.(voir site ) Composants réutilisables Théories = modules Deux niveaux d’utilisation Ecriture des bibliothèques Utilisation « simple » (coq de base et procédures de décision)
6
Pour quoi faire? Utile dans le cas de formalismes assez complexes
Calculs et déductions (souvent coexistants) « Jouer » avec une théorie (cf Maple) Risque d’erreurs (vérifications jamais exhaustives « à la main ») Mécanisation de preuves fastidieuses Vérification d’algorithmes compliqués Paramètres variables (développements génériques) Puissance d’expression supérieure au -calcul simplement typé Exemple de la tour d’exponentielle, premier pas d’une récurrence = calcul, pas général = déduction
7
Utilité pour le TAL? Début de travail sur les MMCG Paramètres :
Vocabulaire Catégories syntaxiques Modes de composition Principes d’interaction Lexique (syntaxe, sémantique) Influence de ces paramètres sur l’analyse syntaxique Jusqu’à présent, étude de principes d’interaction Calcul de la sémantique de Montague (Houda) Fusion des deux approches précédentes (A faire) Interface H/M (en cours)
8
Travaux futurs Relation minimalisme/ grammaires catégorielles (Houda)
Extension de la sémantique de Montague (en profitant de la richesse des types de Coq) DRT??? Autres !?
9
Comment ça marche? Noyau : un -calcul typé Tout terme a un type
3:nat true : bool plus : nat nat nat bool : Set nat nat nat : Set 3 6 : Prop 34 6 : Prop x:nat y:nat y2 x < (y+1)2 : Prop : x:nat y:nat y2 x < (y+1)2 est une preuve de l’existence de racine carrée
10
Les termes de preuves sont:
Gros, voire énormes Explorables (jusqu’à une certaine limite) Leur vérification utilise le vérificateur de types (noyau réduit de Coq, seul composant à valider) Leur obtention se fait par le moyen de tactiques (élémentaires, programmables); ces tactiques n’ont en principe pas besoin d’être validées Les tactiques spécialisées à un domaine font bien sûr partie des bibliothèques.
11
Premiers pas Quelques exemples pour débuter
Types élémentaires Programmation fonctionnelle Un peu de raisonnement logique propositionnelle minimale logique intuitionnisme, du 1er ordre un peu d’ordre sup. Un exemple de programme certifié (si l’heure et le public l’autorisent)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.