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

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

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

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

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

Une introduction rapide à Coq

Une introduction rapide à Coq Une introduction rapide à Coq Yves Bertot Janvier 2009 1 Démarrer le système Pour utiliser Coq on dispose de trois commandes, une commande qui sert à compiler des fichiers (coqc), une commande qui fournit

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

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

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

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

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

Plus en détail

Vérification de programmes et de preuves Première partie. décrire des algorithmes

Vérification de programmes et de preuves Première partie. décrire des algorithmes Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser

Plus en détail

Spécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires

Spécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires Spécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires Jean-François Dufourd ICUBE, Université de Strasbourg - CNRS, France Journée GDR-LTP 2013, Bordeaux,

Plus en détail

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position Plan du cours : Le problème : naviguer efficacement une structure de données Ce qui ne marche pas Ce qui marche : les de Huet Exemples Comment dériver des pour tout type de données Pour en savoir plus

Plus en détail

Mesures de Risque Multipériodes Cohérentes Appliquées au Compte à Terme

Mesures de Risque Multipériodes Cohérentes Appliquées au Compte à Terme TFE Ingénieur Civil Mathématiques Appliquées 24 juin 2010 Mesures de Risque Multipériodes Cohérentes Appliquées au Compte à Terme Auteur Christophe Pochet Promoteur Pierre Devolder Comment garantir la

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

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

Algorithmique des Systèmes Répartis Protocoles de Communications

Algorithmique des Systèmes Répartis Protocoles de Communications Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2 1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle

Plus en détail

Peut-on tout programmer?

Peut-on tout programmer? Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir

Plus en détail

Logiciel Libre Cours 2 Fondements: Programmation

Logiciel Libre Cours 2 Fondements: Programmation Logiciel Libre Cours 2 Fondements: Programmation Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Raisonnement probabiliste

Raisonnement probabiliste Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Pourquoi un autre catalogue en Suisse romande Historique En 1990, la CRUS (Conférences des

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Les Nouveautés Sage 100 CRM Vi7

Les Nouveautés Sage 100 CRM Vi7 Les Nouveautés Sage 100 CRM Vi7 Décembre 2011 Les fonctionnalités apportées par la version Sage 100 CRM vi7 Sage fait évoluer sa gamme de solutions de CRM : Toutes les éditions sont livrés avec le pilotage

Plus en détail

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Ecole Doctorale Sciences et Technologies

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

UNIVERSITE DE NICE-SOPHIA ANTIPOLIS ECOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L INFORMATION ET DE LA COMMUNICATION THESE

UNIVERSITE DE NICE-SOPHIA ANTIPOLIS ECOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L INFORMATION ET DE LA COMMUNICATION THESE UNIVERSITE DE NICE-SOPHIA ANTIPOLIS ECOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L INFORMATION ET DE LA COMMUNICATION THESE pour l obtention du grade de Docteur en Sciences de l Université de Nice-Sophia

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

modules & compilation

modules & compilation Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation samuel.hornus@inria.fr http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

D'UN THÉORÈME NOUVEAU

D'UN THÉORÈME NOUVEAU DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent

Plus en détail

La syllabe (1/5) Unité intuitive (différent du phonème) Constituant essentiel pour la phonologie au même titre que phonème et trait

La syllabe (1/5) Unité intuitive (différent du phonème) Constituant essentiel pour la phonologie au même titre que phonème et trait La syllabe (1/5) Unité intuitive (différent du phonème) Variation des structures syllabiques d une langue à une autre et dans une même langue (cf strict vs à : une seule syllabe mais des structures bien

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS École Doctorale STIC UFR Sciences THÈSE pour obtenir le titre de Docteur en Sciences de l Université de Nice - Sophia Antipolis Spécialité : Informatique présentée

Plus en détail

Le modèle standard, SPE (1/8)

Le modèle standard, SPE (1/8) Le modèle standard, SPE (1/8) Rappel : notion de grammaire mentale modulaire Les composants de la grammaire : module phonologique, sémantique syntaxique Syntaxe première : elle orchestre la relation mentale

Plus en détail

Formula Negator, Outil de négation de formule.

Formula Negator, Outil de négation de formule. Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente

Plus en détail

MS SQL Express 2005 Sauvegarde des données

MS SQL Express 2005 Sauvegarde des données MS SQL Express 2005 Sauvegarde des données Création : 08.04.2011 Modification : 08.04.2011 Situation La base de données gratuite MSSQL Express 2005 ne dispose pas d agent (planificateur de tâche) comme

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable

Plus en détail

Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)

Correction Code nécessaire à la compilation : let bs =\\ let nl = \n ;; let appliquer = List.map ;; (* affichage d'un noeud *) Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int

Plus en détail

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria. Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

Java 1.5 : principales nouveautés

Java 1.5 : principales nouveautés Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés

Plus en détail

Vers l'ordinateur quantique

Vers l'ordinateur quantique Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate

Plus en détail

Science Direct - Cell Press

Science Direct - Cell Press Science Direct - Cell Press Type Articles en ligne Domaine Biologie Périmètre d'abonnement Abonnement à trois revues : Cell, Biophysical Journal et Molecular cell Public Éditeur Elsevier Langue(s) Anglais

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Windows Front-End Installation Guide HOPEX V1R1 FR

Windows Front-End Installation Guide HOPEX V1R1 FR Révisé le : 5 novembre 2013 Créé le : 31 octobre 2013 Auteur : Jérôme Horber SOMMAIRE Résumé Ce document décrit les procédures et les paramétrages techniques nécessaires à l'installation, à la mise à jour

Plus en détail

Sécuristation du Cloud

Sécuristation du Cloud Schémas de recherche sur données chiffrées avancés Laboratoire de Cryptologie Thales Communications & Security 9 Avril 215 9/4/215 1 / 75 Contexte Introduction Contexte Objectif Applications Aujourd hui

Plus en détail

Fondements de l informatique Logique, modèles, et calculs

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

! Text Encoding Initiative

! Text Encoding Initiative Format XML: suite! le contenu d un élément est la concaténation de! texte! et d éléments (imbrication)! => structure arborescente! pas de chevauchement de balises! => exemple : une analyse syntagmatique

Plus en détail

Réseaux de preuves booléens sous-logarithmiques

Réseaux de preuves booléens sous-logarithmiques Mémoire en vue de l obtention du M2 L.M.F.I. à l Université Paris VII Encadrants : Virgile Mogbil & Paulin Jacobé de Naurois Laboratoire d accueil : Laboratoire d Informatique de Paris-Nord (UMR 7030 du

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Carl-Louis-Ferdinand von Lindemann (1852-1939)

Carl-Louis-Ferdinand von Lindemann (1852-1939) Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 sai1042@ensai.fr Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Principes des langages de programmation INF 321. Eric Goubault

Principes des langages de programmation INF 321. Eric Goubault Principes des langages de programmation INF 321 Eric Goubault 24 mars 2014 2 Table des matières 1 Introduction 7 2 Programmation impérative 11 2.1 Variables et types........................... 11 2.2 Codage

Plus en détail

Seconde et première Exercices de révision sur les probabilités Corrigé

Seconde et première Exercices de révision sur les probabilités Corrigé I_ L'univers. _ On lance simultanément deux dés indiscernables donc il n'y a pas d'ordre. Il y a répétition, les dbles. On note une issue en écrivant le plus grand chiffre puis le plus petit. 32 signifie

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard HAMM, Évelyne LAVOISIER 92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec

Plus en détail

ADAPT: un modèle de transcodage des nombres. Une application des systèmes de production au développement

ADAPT: un modèle de transcodage des nombres. Une application des systèmes de production au développement ADAPT: un modèle de transcodage des nombres Une application des systèmes de production au développement Référence Barrouillet, P., Camos, V., Perruchet, P., & Seron, X. (2004). A Developmental Asemantic

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Preuves formelles en arithmétiques à virgule flottante

Preuves formelles en arithmétiques à virgule flottante N d ordre : 292 N attribué par la bibliothèque : 04ENSL0 292 École Normale Supérieure de Lyon Laboratoire de l Informatique du Parallélisme THÈSE présentée et soutenue publiquement le 22 novembre 2004

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Les travaux doivent être remis sous forme papier.

Les travaux doivent être remis sous forme papier. Physique mathématique II Calendrier: Date Pondération/note nale Matériel couvert ExercicesSérie 1 : 25 septembre 2014 5% RH&B: Ch. 3 ExercicesSérie 2 : 23 octobre 2014 5% RH&B: Ch. 12-13 Examen 1 : 24

Plus en détail

CHAPITRE IV. L axiome du choix

CHAPITRE IV. L axiome du choix CHAPITRE IV L axiome du choix Résumé. L axiome du choix AC affirme qu il est légitime de construire des objets mathématiques en répétant un nombre infini de fois l opération de choisir un élément dans

Plus en détail

Équations non linéaires

Équations non linéaires CHAPTER 1 Équations non linéaires On considère une partie U R d et une fonction f : U R d. On cherche à résoudre { x U 1..1) f x) = R d On distinguera les cas d = 1 et d > 1. 1.1. Dichotomie d = 1) 1.1.1.

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples 45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail