Importation de preuves HOL-Light en Coq

Dimension: px
Commencer à balayer dès la page:

Download "Importation de preuves HOL-Light en Coq"

Transcription

1 Importation de preuves HOL-Light en Coq Stage de M2 Chantal Keller Sous la direction de Benjamin Werner 7 septembre 2009 Importation de preuves HOL-Light en Coq 1 / 33

2 Idée HOL Light + proof recording Coq + axiomes classiques théorème HOL Light enregis trement terme de preuve exportation terme de preuve fonction de traduction proposition Coq P preuve de P Importation de preuves HOL-Light en Coq 2 / 33

3 But Plusieurs intérêts : utiliser les théorèmes de HOL-Light en Coq (analyse) établir un modèle de HOL-Light en Coq comparer deux systèmes de preuve Importation de preuves HOL-Light en Coq 3 / 33

4 Plan 1 HOL-Light et Coq 2 Enregistrement et exportation des termes de preuve de HOL-Light 3 Modèle de HOL-Light en Coq 4 Résultats Importation de preuves HOL-Light en Coq 4 / 33

5 HOL-Light et Coq Première partie I HOL-Light et Coq Importation de preuves HOL-Light en Coq 5 / 33

6 HOL-Light et Coq Présentation HOL Light + proof recording Coq + axiomes classiques théorème enregis HOL Light trement terme de preuve exportation terme de preuve fonction de traduction proposition Coq P preuve de P Importation de preuves HOL-Light en Coq 6 / 33

7 HOL-Light et Coq HOL-Light HOL-Light HOL-Light : assistant de preuve écrit par John Harrison et al. dans un top-level OCaml logique classique d'ordre supérieur (extensionnelle) outils automatiques, bibliothèque étendue programmable sans compromettre la cohérence noyau logique simple et concis Importation de preuves HOL-Light en Coq 7 / 33

8 HOL-Light et Coq HOL-Light Système logique Système logique : λ-calcul simplement typé polymorphisme : schémas de types variables de types (et de termes) règles logiques traitant de l'égalité entre termes système de tactiques Exemples de règle d'inférence : (λx.t) x = t Γ p q Γ q p où représente = bool. Importation de preuves HOL-Light en Coq 8 / 33

9 HOL-Light et Coq HOL-Light Correction Correction : type thm abstrait (on ne peut construire des théorèmes qu'en utilisant les primitives fournies par HOL-Light) preuves non enregistrées, mais interprétation de HOL-Light à chaque ouverture de session Importation de preuves HOL-Light en Coq 9 / 33

10 HOL-Light et Coq Coq Coq Coq : assistant de preuve compilé calcul des constructions inductives (intuitionniste, calculatoire) preuves réexives noyau logique complexe Importation de preuves HOL-Light en Coq 10 / 33

11 HOL-Light et Coq Coq Système logique et correction Système logique : extension de HOL-Light si on se donne des axiomes classiques Correction : preuves enregistrées et vériables Importation de preuves HOL-Light en Coq 11 / 33

12 Enregistrement et exportation des termes de preuve de HOL-Light Deuxième partie II Enregistrement et exportation des termes de preuve de HOL-Light Importation de preuves HOL-Light en Coq 12 / 33

13 Enregistrement et exportation des termes de preuve de HOL-Light Enregistrement - Exportation Présentation HOL Light + proof recording Coq + axiomes classiques théorème enregis HOL Light trement terme de preuve exportation terme de preuve fonction de traduction proposition Coq P preuve de P Importation de preuves HOL-Light en Coq 13 / 33

14 Enregistrement et exportation des termes de preuve de HOL-Light Enregistrement - Exportation Proof recording (S. Obua) Enregistrement de l'arbre de dérivation : termes de preuve compacts courte durée d'enregistrement granularité type proof = Proof of (proof_info proof_content (unit > unit)) and proof_content = Pconj of proof proof Pconjunct1 of proof Pconjunct2 of proof... Importation de preuves HOL-Light en Coq 14 / 33

15 Enregistrement et exportation des termes de preuve de HOL-Light Enregistrement - Exportation Exportation Exportation des arbres de dérivation : petits chiers petit nombre de chiers partage Inductive proof : Type := Pconj : proof proof proof Pconjunct1 : proof proof Pconjunct2 : proof proof... Poracle : forall h t, deriv h t proof. Importation de preuves HOL-Light en Coq 15 / 33

16 Modèle de HOL-Light en Coq Troisième partie III Modèle de HOL-Light en Coq Importation de preuves HOL-Light en Coq 16 / 33

17 Modèle de HOL-Light en Coq Présentation HOL Light + proof recording Coq + axiomes classiques théorème enregis HOL Light trement terme de preuve exportation terme de preuve fonction de traduction proposition Coq P preuve de P Importation de preuves HOL-Light en Coq 17 / 33

18 Modèle de HOL-Light en Coq Plongements Plongements Plongement profond (deep embedding : types de données pour représenter les types et les termes) : raisonnement par induction sur la structure des objets Plongement peu profond (shallow embedding : en utilisant les types et les termes de Coq) : facilités de Coq Importation de preuves HOL-Light en Coq 18 / 33

19 Modèle de HOL-Light en Coq Plongements Plongements Plongement profond (deep embedding : types de données pour représenter les types et les termes) : raisonnement par induction sur la structure des objets Plongement peu profond (shallow embedding : en utilisant les types et les termes de Coq) : facilités de Coq obtenir des propositions Coq Importation de preuves HOL-Light en Coq 18 / 33

20 Modèle de HOL-Light en Coq Plongements Plongements Plongement profond (deep embedding : types de données pour représenter les types et les termes) : raisonnement par induction sur la structure des objets simple compact Plongement peu profond (shallow embedding : en utilisant les types et les termes de Coq) : facilités de Coq obtenir des propositions Coq Importation de preuves HOL-Light en Coq 18 / 33

21 Modèle de HOL-Light en Coq Plongements Plongements Plongement profond (deep embedding : types de données pour représenter les types et les termes) : raisonnement par induction sur la structure des objets simple compact Plongement peu profond (shallow embedding : en utilisant les types et les termes de Coq) : facilités de Coq obtenir des propositions Coq fonction de traduction de profond vers peu profond Importation de preuves HOL-Light en Coq 18 / 33

22 Modèle de HOL-Light en Coq Plongements Types Inductif type : Bool type X idt TVar X type A, B type A B type... idt un ensemble inni dénombrable Importation de preuves HOL-Light en Coq 19 / 33

23 Modèle de HOL-Light en Coq Plongements Termes Inductif term : n N Dbr n term x idv Var x A term A type u, v term App u v term A type u term Abs A u term... idv un ensemble inni dénombrable Importation de preuves HOL-Light en Coq 20 / 33

24 Modèle de HOL-Light en Coq Plongements Typage Typage : λ-calcul simplement typé contexte pour les indices de De Bruijn (liste de types) Importation de preuves HOL-Light en Coq 21 / 33

25 Modèle de HOL-Light en Coq Traduction Types Types : interface entre syntaxe et sémantique. Traduction d'un type : T Bool Prop A B A B Importation de preuves HOL-Light en Coq 22 / 33

26 Modèle de HOL-Light en Coq Traduction Types Types : interface entre syntaxe et sémantique. Traduction d'un type : T Bool Prop A B A B TVar X? Importation de preuves HOL-Light en Coq 22 / 33

27 Modèle de HOL-Light en Coq Traduction Types Types : interface entre syntaxe et sémantique. Traduction d'un type : T I Bool I Prop A B I A I B I TVar X I I(X ) Importation de preuves HOL-Light en Coq 22 / 33

28 Modèle de HOL-Light en Coq Traduction Termes Utilisation des types dépendants. [GW07] Traduction d'un terme : si Γ t : T, alors t I : T I si t non typable, t I n'est pas déni Exemple : si t p q t a le type Bool et on veut que t I soit une proposition Coq Importation de preuves HOL-Light en Coq 23 / 33

29 Modèle de HOL-Light en Coq Dérivations et termes de preuve Deux types de données Inductive proof : Type := Pconj : proof proof proof Pconjunct1 : proof proof Pconjunct2 : proof proof... Inductive deriv : set term term Prop := Dconj : forall h1 h2 t1 t2, deriv h1 t1 deriv h2 t2 deriv (union h1 h2) t1 t2 Dconjunct1 : forall h t1 t2, deriv h t1 t2 deriv h t1 Dconjunct2 : forall h t1 t2, deriv h t1 t2 deriv h t2... Importation de preuves HOL-Light en Coq 24 / 33

30 Modèle de HOL-Light en Coq Dérivations et termes de preuve Passage de l'un à l'autre p : proof deriv h t proof2deriv sem_deriv { Some (h,t) tels que deriv h t None h correct t correct t correct : t : Bool (t est donc localement clos) la traduction de t est une proposition Coq correcte Importation de preuves HOL-Light en Coq 25 / 33

31 Résultats Quatrième partie IV Résultats Importation de preuves HOL-Light en Coq 26 / 33

32 Résultats Résultats Qualitatifs HOL Light + proof recording Coq + axiomes classiques théorème HOL Light enregis trement terme de preuve exportation terme de preuve fonction de traduction proposition Coq P preuve de P théorèmes utilisables en Coq CONJ_SYM : t 1 t 2. t 1 t 2 t 2 t 1 forall x x0 : Prop, (x x0) = (x0 x) Importation de preuves HOL-Light en Coq 27 / 33

33 Résultats Résultats Quantitatifs Échelle Nombre théorèmes Nombre lemmes Taille Petite , 7 Mo Grande Mo Échelle D. enregistrement D. exportation D. compilation Petite 4 s 1 s 21 s Grande 3 min 7 min 30 X Environ 6900 lignes de code Importation de preuves HOL-Light en Coq 28 / 33

34 Conclusion et perspectives Cinquième partie V Conclusion et perspectives Importation de preuves HOL-Light en Coq 29 / 33

35 Conclusion et perspectives Conclusion HOL-Light : Coq : enregistrer des termes de preuve exporter des termes de preuve modèle de HOL-Light prouvé correct Interface : début de la bibliothèque partage de preuves Importation de preuves HOL-Light en Coq 30 / 33

36 Conclusion et perspectives Perspectives Améliorer l'ecacité : utiliser des types Coq ecaces (ensembles nis) termes de preuve plus petits exportation plus rapide Passer à l'échelle : grands développements interface utilisateur Importation de preuves HOL-Light en Coq 31 / 33

37 Merci de votre attention! Des questions? Importation de preuves HOL-Light en Coq 32 / 33

38 Traduction La fonction de traduction pour les contextes de De Bruijn Γ contexte de De Bruijn (liste de types) Γ I n, match nth n Γ return Type with Some T T I None unit end Si Γ n : T, alors n I,f Γ I f (n) T I. Importation de preuves HOL-Light en Coq 33 / 33

Importation de preuves HOL-Light en Coq

Importation de preuves HOL-Light en Coq Master Parisien de Recherche en Informatique Rapport de stage de M2 Chantal Keller Université Paris VII Importation de preuves HOL-Light en Coq Chantal Keller Encadrant: Benjamin Werner, équipe TypiCal,

Plus en détail

Collaboration d outils de preuve interactifs et automatiques

Collaboration d outils de preuve interactifs et automatiques Collaboration d outils de preuve interactifs et automatiques Stage de Master 2 Équipe Démons, LRI Université Paris Sud responsable : Jean-Christophe Filliâtre 8 septembre 2005 Motivation Traduction Utilisation

Plus en détail

Certifying an Automated Code Generator Using Formal Tools

Certifying an Automated Code Generator Using Formal Tools Certifying an Automated Code Generator Using Formal Tools Preliminary experiments in the GeneAuto Project N. Izerrouken, X. Thirioux, M. Pantel, M. Strecker IRIT-ACADIE Continental Automotive Toulouse,

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Introduction M2 - PRO. Univ. Paris 7 Preuve de prog.

Introduction M2 - PRO. Univ. Paris 7 Preuve de prog. Introduction TD 1 Exercice 1. (Principe d induction) En utilisant une mesure appropriée et le principe d induction sur les entiers, on peut généraliser le principe d induction à d autres types : 1. Énoncer

Plus en détail

FSAB 1402 - Suggestions de lecture

FSAB 1402 - Suggestions de lecture FSAB 1402 - Suggestions de lecture 2006 Concepts, techniques and models of computer programming Cours 1 - Intro Chapitre 1 (sections 1.1, 1.2, 1.3, pages 1-3) Introduction aux concepts de base Chapitre

Plus en détail

Preuve de programmes probabilistes en Coq

Preuve de programmes probabilistes en Coq Preuve de programmes probabilistes en Coq Pierre Clairambault 18 avril 2005 Résumé Le thème de ce stage était le développement d outils nécessaires à la preuve de propriétés de programmes probabilistes

Plus en détail

Vers une certification de l extraction de Coq

Vers une certification de l extraction de Coq Université Paris Diderot (Paris 7) École doctorale de Sciences Mathématiques de Paris Centre Thèse pour l obtention du diplôme de Docteur de l Université Paris Diderot spécialité Informatique Vers une

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

Plus en détail

Langages de programmation: approche scientifique

Langages de programmation: approche scientifique IGE 2004 - ENS 29 juin 2004 Présentation au CGTI 1 Informatique théorique 2 3 Une science? Informatique théorique Chaque science repose un dogme fondamental. Les mathématiques Les raisonnements formels

Plus en détail

Mémoire de Magister. Formalisation de la logique temporelle dans Coq

Mémoire de Magister. Formalisation de la logique temporelle dans Coq N d ordre :.../Faculté des sciences/umbb 2012 RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE. MINISTERE DE L ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE. UNIVERSITÉ M HAMED BOUGARA - BOUMERDES

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

Mathématiques pour l'informatique? Au programme. Objectif du semestre

Mathématiques pour l'informatique? Au programme. Objectif du semestre Mathématiques pour l'informatique? Calcul des Ensembles David Teller 09/02/2007 Q L'informatique, au juste, c'est quoi? A L'informatique, c'est : de l'électronique de la théorie des processus de la linguistique

Plus en détail

Systèmes de Preuves. Ecole Polytechnique - INF 565 Cours n. 1 8 janvier Introduction + Les objets de Coq

Systèmes de Preuves. Ecole Polytechnique - INF 565 Cours n. 1 8 janvier Introduction + Les objets de Coq Systèmes de Preuves Ecole Polytechnique - INF 565 Cours n. 1 8 janvier 2010 Introduction + Les objets de Coq Benjamin Werner Chercheur (INRIA) au LIX Bureau 15, aîle 0, Rdc. Benjamin.Werner@polytechnique.fr

Plus en détail

Réalisabilité et extraction de programmes

Réalisabilité et extraction de programmes Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 4 / 19 octobre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2014 2015 / cours

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Cours, TD et TP. de preuves de programmes. Tester un programme peut démontrer la présence d'un bug, jamais son absence. Dijkstra

Cours, TD et TP. de preuves de programmes. Tester un programme peut démontrer la présence d'un bug, jamais son absence. Dijkstra U nˆi vƒe rœsˆiˆt é P aˆrˆiœš Dˆi d e r ošt Cours, TD et TP de preuves de programmes Tester un programme peut démontrer la présence d'un bug, jamais son absence. Dijkstra C. T aœsœs o n Table des matières

Plus en détail

CENTRE D ORSAY. Un environnement pour la programmation avec types dépendants

CENTRE D ORSAY. Un environnement pour la programmation avec types dépendants ORSAY N o d ordre : 9279 UNIVERSITÉ DE PARIS-SUD 11 CENTRE D ORSAY THÈSE présentée pour obtenir le grade de docteur en sciences DE L UNIVERSITÉ PARIS XI PAR Matthieu Sozeau SUJET : Un environnement pour

Plus en détail

Langage de nouvelle génération pour la modélisation et la vérification formelle de systèmes parallèles asynchrones

Langage de nouvelle génération pour la modélisation et la vérification formelle de systèmes parallèles asynchrones Langage de nouvelle génération pour la modélisation et la vérification formelle de systèmes parallèles asynchrones Frédéric Lang LIG et Inria/CONVECS CADP (Construction and Analysis of Distributed Processes)

Plus en détail

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Journées GDR GPL Transformations de modèles et de programmes 18 janvier 2008

Plus en détail

La Vérité et la Machine

La Vérité et la Machine Benjamin WERNER* Longtemps reservée aux informaticiens et logiciens, la vérification formelle de démonstration commence à être utilisée par une fraction grandissante de la communauté mathématique. En décembre

Plus en détail

LIFO DEA INFORMATIQUE OASIS STAGE

LIFO DEA INFORMATIQUE OASIS STAGE LIFO DEA INFORMATIQUE OASIS STAGE CONCEPTION D'UN LANGAGE DE SPECIFICATION SEMANTIQUE EXECUTABLE ET PROUVABLE Présenté par : Dirigé par : Hamoudi KALLA Mme. Isabelle ATTALI 05 Septembre 2001 1 PLAN de

Plus en détail

Coq, un outil pour l enseignement

Coq, un outil pour l enseignement APPLICATION Coq, un outil pour l enseignement Une expérience avec les étudiants du DESS Développement de logiciels sûrs David Delahaye * Mathieu Jaume ** Virgile Prevosto *** * CPR CEDRIC CNAM 292, rue

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Introduction Plan Octobre 2007 Introduction Plan Introduction Projet Baltic : gérer automatiquement une ferme de machines virtuelles introduction de systèmes concurrents La problématique de la virtualisation,

Plus en détail

Sémantique des Langages de Programmation

Sémantique des Langages de Programmation Sémantique des Langages de Programmation Introduction Stefano Guerrini stefano.guerrini@univ-paris13.fr LIPN - Institut Galilée, Université Paris Nord 13 Sup Galillée Informatique, 1ère année 2009 2010

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Introduction au model-checking et application à la vérification des protocoles cryptographiques

Introduction au model-checking et application à la vérification des protocoles cryptographiques Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction

Plus en détail

Projet MVC-CD Analyse des outils JavaFX

Projet MVC-CD Analyse des outils JavaFX Projet MVC-CD Analyse des outils JavaFX Créé par M. Jaouadi, le 23 mars 205 Modifié par M. Jaouadi, le 3 mars 205 Page sur 2 Table des matières Préambule... 3 2 Les outils associés à JavaFX... 3 3 Les

Plus en détail

Typage et Analyse Statique

Typage et Analyse Statique Typage et Analyse Statique Cours 1 Emmanuel Chailloux Spécialité Science et Technologie du Logiciel Master mention Informatique Université Pierre et Marie Curie année 2015-2016 Cours 1 - Typage et Analyse

Plus en détail

NOTES DE COURS LA MÉTHODE DES ARBRES POUR LE CALCUL DES PROPOSITIONS

NOTES DE COURS LA MÉTHODE DES ARBRES POUR LE CALCUL DES PROPOSITIONS NOTES DE COURS L MÉTHODE DES RRES POUR LE CLCUL DES PROPOSITIONS JOSEPH VIDL-ROSSET TLE DES MTIÈRES 1. L essentiel sur la méthode des arbres 1 1.1. Méthode sémantique ou syntaxique? 1 1.2. Le comment et

Plus en détail

Jusqu'à présent. Au programme. Cardinalité Ensembles nis Ensembles dénombrables. Relations Opérations Relations. Conclusions. Nous avons déjà abordé

Jusqu'à présent. Au programme. Cardinalité Ensembles nis Ensembles dénombrables. Relations Opérations Relations. Conclusions. Nous avons déjà abordé Jusqu'à présent Nous avons déjà abordé Vers l'inni David Teller 23/01/2007 Les ensembles Le regroupement de valeurs caractérisées par des critères. Informatique Types. Physique Unités. Logique Domaines.

Plus en détail

Validation de systèmes interactifs centrée sur l usager

Validation de systèmes interactifs centrée sur l usager Validation de systèmes interactifs centrée sur l usager C. Ailleres Mardi 6 Janvier 2004 Problématique Avènement de l informatique : besoin de qualité et de fiabilité des systèmes Génie Logiciel Importance

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

FOCAL. Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité

FOCAL. Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité FOCAL Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité 1 Groupe FOCAL M. Jaume, T. Hardin, R. Rioboo - SPI, LIP6 D. Delahaye,

Plus en détail

Programmes, preuves et fonctions : le ménage à trois de Curry-Howard

Programmes, preuves et fonctions : le ménage à trois de Curry-Howard Programmes, preuves et fonctions : le ménage à trois de Curry-Howard Emmanuel Beffara Lionel Vaux 13 juin 2013 Résumé Ce cours est une introduction à la théorie de la démonstration, et plus particulièrement

Plus en détail

Construction distribuée de groupes pour le calcul à grande échelle. O. Beaumont, N. Bonichon, P. Duchon, L. Eyraud-Dubois, H.

Construction distribuée de groupes pour le calcul à grande échelle. O. Beaumont, N. Bonichon, P. Duchon, L. Eyraud-Dubois, H. Construction distribuée de groupes pour le calcul à grande échelle O. Beaumont, N. Bonichon, P. Duchon, L. Eyraud-Dubois, H. Larchevêque O. Beaumont, N. Bonichon, P. Duchon, L. Construction Eyraud-Dubois,

Plus en détail

Introduc)on à la logique Michel Rueher

Introduc)on à la logique Michel Rueher Introduc)on à la logique Michel Rueher SI3 Qu est ce que la logique? Etre Logique? Formaliser le raisonnement? Automatiser le raisonnement? Un art paradoxal? A quoi peut servir la logique? Formaliser le

Plus en détail

Conteneurs de première classe en Coq

Conteneurs de première classe en Coq Conteneurs de première classe en Coq First-Class Containers in Coq Stéphane Lescuyer INRIA Saclay Île-de-France Projet ProVal, 91893 ORSAY CEDEX, France stephane.lescuyer@inria.fr RÉSUMÉ. Nous présentons

Plus en détail

Critère de terminaison sous-terme

Critère de terminaison sous-terme 2 ème année du MPRI Projet Université Paris VII Chantal Keller Critère de terminaison sous-terme Récriture Professeurs: Évelyne Contejean Xavier Urbain 9 janvier 2009 1 Introduction 1.1 Présentation Ce

Plus en détail

Le calcul propositionnel

Le calcul propositionnel Le calcul propositionnel Syntaxe du calcul propositionnel Soit R en ensemble dénombrable de lettres dites propositionnelles. Définition : L ensemble F prop de formules du calcul propositionnel, est le

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

Cours 4. Induction. Calcul propositionnel : syntaxe et sémantique

Cours 4. Induction. Calcul propositionnel : syntaxe et sémantique Cours 4 Induction Calcul propositionnel : syntaxe et sémantique Induction Bibliographie Induction A. Arnold et I. Guessarian, Mathématiques pour l informatique Logique R. Lassaigne et M. de Rougemont,

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Coq, l alpha et l omega de la preuve pour B?

Coq, l alpha et l omega de la preuve pour B? Coq, l alpha et l omega de la preuve pour B? Samuel Colin, Georges Mariano To cite this version: Samuel Colin, Georges Mariano. Coq, l alpha et l omega de la preuve pour B?. 14 pages + annexe de deux pages.

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Analyse Statique de Programmes

Analyse Statique de Programmes Analyse statique et application. Typage. Analyse de flots de données. Exemples de transformations simples de programmes au niveau source. Prépa Agreg de Maths, option Info - ENS Cachan-Bretagne Thomas

Plus en détail

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

ACI Sécurité ALIDECS:

ACI Sécurité ALIDECS: ACI Sécurité ALIDECS: Langages et Atelier Integrés pour le Développement de Composants Embarqués Sûrs Réunion de démarrage LIP6, 21 et 22 octobre 2004 Marc Pouzet 1 Page web http://www-verimag.imag.fr/synchrone/alidecs/

Plus en détail

Rapprocher les méthodes formelles, l analyse statique et les tests. 29 mai 2013

Rapprocher les méthodes formelles, l analyse statique et les tests. 29 mai 2013 Rapprocher les méthodes formelles, l analyse statique et les tests 29 mai 2013 Présentation du projet Déroulement du projet Réalisations Démonstrations Perspectives Présentation du projet Déroulement du

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Application de la logique de Hoare aux réseaux de régulation génétique avec multiplexes

Application de la logique de Hoare aux réseaux de régulation génétique avec multiplexes Application de la logique de Hoare aux réseaux de régulation génétique avec multiplexes Maxime FOLSCHETTE École Centrale de Nantes Cursus ingénieur : Ei3 Informatique Cursus Master Recherche : M2 ASP-SPIE

Plus en détail

Processus : les outils d optimisation de la performance

Processus : les outils d optimisation de la performance Yvon Mougin Processus : les outils d optimisation de la performance Préface de Pierre MAILLARD Directeur Général de L Institut de Recherche et de Développement de la Qualité, 2004 ISBN : 2-7081-3022-6

Plus en détail

Conception Formelle en PVS

Conception Formelle en PVS Conception Formelle en PVS Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi Chef de Projet: M. Pierre Castéran 29/03/2007 Master 2 ISC Plan 1-2- La Méthode M B 3- PVS: Prototype

Plus en détail

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1.

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1. FSAB1402: Informatique 2 Algorithmes sur les Listes Peter Van Roy Département d Ingénierie Informatique, UCL pvr@info.ucl.ac.be P. Van Roy, FSAB1402 1 Annonces P. Van Roy, FSAB1402 2 1 L interro Pour les

Plus en détail

MLO - TD logique des prédicats

MLO - TD logique des prédicats MLO - TD logique des prédicats Exercice 1 (Logique du premier ordre et syntaxe) Question 1 Quand dit-on qu une variable est libre dans une formule? Une variable est dite libre dans une formule si elle

Plus en détail

MASTER AUTOMATIQUE ET SYSTÈMES DE PRODUCTION SPECIALITÉ SPIE. Année 2010 / 2011. Thèse de Master. Présentée et soutenue par :

MASTER AUTOMATIQUE ET SYSTÈMES DE PRODUCTION SPECIALITÉ SPIE. Année 2010 / 2011. Thèse de Master. Présentée et soutenue par : École Centrale de Nantes Université de Nantes École des Mines de Nantes MASTER AUTOMATIQUE ET SYSTÈMES DE PRODUCTION SPECIALITÉ SPIE Année 2010 / 2011 Thèse de Master Présentée et soutenue par : MAXIME

Plus en détail

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t UConception et programmation orientées objet Bertrand Meyer T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t Groupe Eyrolles, 2000, pour le texte de la présente édition en langue française.

Plus en détail

Atelier B MDELTA. Manuel Utilisateur. version 2.0

Atelier B MDELTA. Manuel Utilisateur. version 2.0 Atelier B MDELTA Manuel Utilisateur version 2.0 ATELIER B MDELTA Manuel Utilisateur version 2.0 Document établi par CLEARSY. Ce document est la propriété de CLEARSY et ne doit pas être copié, reproduit,

Plus en détail

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité Chapitre 1 Introduction Buts du chapitre : Motivation pour l étude des types abstraits de données ; Syntaxe de base pour l écriture de spécifications. 1.1 Introduction 1.1.1 Bibliothèques 1. L3, déjà une

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

BRILLANT modèle de développement libre et recherche scientifique : une dynamique autour de B?

BRILLANT modèle de développement libre et recherche scientifique : une dynamique autour de B? BRILLANT modèle de développement libre et recherche scientifique : une dynamique autour de B? Georges Mariano and Jean-Louis Boulanger georges.mariano@inrets.fr -Jean-Louis.Boulanger@hds.utc.fr INRETS

Plus en détail

Espaces de probabilités.

Espaces de probabilités. Université Pierre et Marie Curie 2010-2011 Probabilités et statistiques - LM345 Feuille 2 Espaces de probabilités. 1. Donner un exemple d'une famille de parties d'un ensemble qui ne soit pas une tribu.

Plus en détail

Janvier 2015. Licence 3 info Université de Lille 1. Vers C++ venant de C et de Java. Adrien Poteaux et Alexandre Sedoglavic.

Janvier 2015. Licence 3 info Université de Lille 1. Vers C++ venant de C et de Java. Adrien Poteaux et Alexandre Sedoglavic. Vers C++ venant Licence 3 info Université de Lille 1 Janvier 2015 Généralités Le C++ est un langage de programmation développé à partir de 1980 par Bjarne Stroustrup. Nous utiliserons la normalisation

Plus en détail

Module 2 Création d un formulaire simple

Module 2 Création d un formulaire simple Form Builder Développement d un formulaire Sauvegarde d un formulaire Établir une connexion avec le serveur Fenêtre de navigation Assistant de création de blocs (Data Block Wizard) Assistant de mise en

Plus en détail

Cours No 10 - Conclusion et perspectives

Cours No 10 - Conclusion et perspectives B. Amann - Cours No 10 - Conclusion et perspectives 1 Slide 1 Cours No 10 - Conclusion et perspectives Gestion de contenus Web La gestion de contenus Web est possible grâce à des technologies complémentaires

Plus en détail

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte WildCAT : un cadre générique pour la construction d'applications sensibles au contexte Pierre-Charles David France Télécom, Recherche & Développement Réunion Adapt, Paris 2006-04-06 Plan 1 Introduction

Plus en détail

Identifier la cible des sentiments dans les forums de santé S. BRINGAY, E. KERGOSIEN, P. POMPIDOR, P. PONCELET

Identifier la cible des sentiments dans les forums de santé S. BRINGAY, E. KERGOSIEN, P. POMPIDOR, P. PONCELET Identifier la cible des sentiments dans les forums de santé S. BRINGAY, E. KERGOSIEN, P. POMPIDOR, P. PONCELET Projet Patients Mind Financement par le Réseau National des MSH (Maisons des Sciences de l

Plus en détail

B : Une méthode de développement de logiciels sûrs

B : Une méthode de développement de logiciels sûrs B : Une méthode de développement de logiciels sûrs Loïc PELHATE, Responsable de l Atelier des Logiciels de Sécurité de l Ingénierie du Transport Ferroviaire loic.pelhate@ratp.fr 9/11/01 1 1 Plan Contexte

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

Vérification formelle d un modèle mémoire pour le langage C

Vérification formelle d un modèle mémoire pour le langage C Vérification formelle d un modèle mémoire pour le langage C Projet ANR ARA SSIA CompCert (http://compcert.inria.fr) Sandrine Blazy, Xavier Leroy CEDRIC-ENSIIE et INRIA Rocquencourt CEA-LIST, 18 mars 2008

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Génie logiciel avancé Mihaela Sighireanu UFR d Informatique Paris Diderot, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/genielog/ Spécification formelle: Types de données

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

UPMC Master informatique 2 STL NI503 Conception de langages Notes I

UPMC Master informatique 2 STL NI503 Conception de langages Notes I UPMC Master informatique 2 STL NI503 Conception de langages Notes I 2012 1 Évaluer Un langage Le langage Logo est composé commandes permettant de diriger le déplacement d un point sur un plan cartésien

Plus en détail

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7 Remerciements..................................................... VI Avant-propos...................................................... 1 À qui s adresse cet ouvrage?..........................................

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 6 / 9 novembre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2015 2016 / cours

Plus en détail

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

Plus en détail

Théorie de la Programmation

Théorie de la Programmation Théorie de la Programmation http://perso.ens-lyon.fr/daniel.hirschkoff/thpr hop Programmation, Théorie de la programmation Langages de programmation I il existe de nombreux langages de programmation I

Plus en détail

Preuve de propriétés de programmes

Preuve de propriétés de programmes Preuve de propriétés de programmes Récurrence : si S(0)! n S(n)! S(n+1) alors m S(m) Récurrence structurelle sur des données : si P(nil)! a, L " listes P(L)! P(cons a L) alors m " listes P(m) récurrence

Plus en détail

Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Modularité GCC : 4 millions de lignes de code Noyau Linux : 12 millions de lignes de code

Plus en détail

Preuves, réfutations et contre-modèles dans des logiques intuitionnistes

Preuves, réfutations et contre-modèles dans des logiques intuitionnistes Département de formation doctorale en informatique UFR STMIA École doctorale IAEM Lorraine Preuves, réfutations et contre-modèles dans des logiques intuitionnistes THÈSE présentée et soutenue publiquement

Plus en détail

LES NOUVEAUX TABLEAUX DE BORD DES MANAGERS. Le projet décisionnel dans sa totalité

LES NOUVEAUX TABLEAUX DE BORD DES MANAGERS. Le projet décisionnel dans sa totalité Alain Fernandez LES NOUVEAUX TABLEAUX DE BORD DES MANAGERS Le projet décisionnel dans sa totalité Préface de Gérard BALANTZIAN Troisième édition, 1999, 2000, 2003 ISBN : 2-7081-2882-5 Sommaire Préface

Plus en détail

Logique et bases de données

Logique et bases de données Logique et bases de données Vision logique d une BD relationnelle Signification des règles logiques Le modèle DATALOG Evaluation des règles non récursives Signification et évaluation des règles récursives

Plus en détail

Département GE1 MC S3. Programmation Orientée Objet Python

Département GE1 MC S3. Programmation Orientée Objet Python Département GE1 MC S3 Programmation Orientée Objet Python N. Liebeaux (c) IUT CACHAN 2008 Python en 1 diapo Règles de syntaxe langage interprété typage dynamique des données les «deux points» blocs découpés

Plus en détail

Aperçu rapide des méthodes formelles

Aperçu rapide des méthodes formelles Méthodes formelles 1 Aperçu rapide des méthodes formelles Christian Attiogbé Faculté des sciences Université de Nantes Christian.Attiogbe@univ-nantes.fr Méthodes formelles 2 Développement de logiciels

Plus en détail

Analyse de programmes par interprétation abstraite

Analyse de programmes par interprétation abstraite Analyse de programmes par interprétation abstraite Marc PEGON marc.pegon@ensimag.imag.fr Ensimag - Grenoble INP Encadrants David MONNIAUX Matthieu MOY 1 / 21 Analyse statique : obtenir automatiquement

Plus en détail

Vers une implantation générique validée expérimentalement des domaines abstraits?

Vers une implantation générique validée expérimentalement des domaines abstraits? Vers une implantation générique validée expérimentalement des domaines abstraits? Duong NGUYEN, CRI/ENSMP APRON - Kickoff Meeting Paris 28 Octobre 2004 Partie 1 Introduction 1 Contexte Analyse statique

Plus en détail

Que faire avec la bibliothèque standard de Coq?

Que faire avec la bibliothèque standard de Coq? Que faire avec la bibliothèque standard de Coq? 1 Un aveu d échec Des bibliothèques hétérogènes, avec peu de cohérence, ni globale, ni interne dans le nommage (différents noms pour la même propriété, noms

Plus en détail

Logique propositionnelle classique

Logique propositionnelle classique Logique propositionnelle classique MLO Catherine Dubois, Julien Narboux (Strasbourg) atherine Dubois, Julien Narboux (Strasbourg) () Logique propositionnelle classique 1 / 60 Le calcul des propositions

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail

Generic Morpher: un design pattern adaptatif

Generic Morpher: un design pattern adaptatif Generic Morpher: un design pattern adaptatif David Lesage Séminaire du LRDE, 19 Septembre 2002 Table des matières Table des matières Contexte... 3 Problématique... 6 Rappel : Design

Plus en détail