70 research outputs found

    Traduction de HOL en Dedukti

    Get PDF
    National audienceLes systèmes de preuve actuels (Coq, HOL, PVS, etc.) sont très utiles pour le développement des mathématiques et la vérification de programmes. Cependant, ils souffrent d'un manque d'interopérabilité qui rend difficile la réutilisation des preuves. Dedukti est un système de preuve universel basé sur le λΠ-calcul modulo qui peut exprimer des preuves venant de systèmes différents. Burel et Boespflug ont déjà travaillé sur une traduction de Coq en Dedukti. L'objectif de ce stage était de concevoir une traduction de HOL vers Dedukti. Le stage a abouti à une expression de HOL dans le λΠ-calcul modulo, ainsi qu'à un programme de traduction automatique des preuves de HOL, écrites dans le standard OpenTheory, vers Dedukti. Une partie simplifiée de l'encodage est prouvée comme étant correcte et complète. Le programme de traduction génère des fichiers qui sont vérifiés et validés par Dedukti. L'ensemble de HOL et de sa bibliothèque standard est traduit et vérifié dans Dedukti. C'est une nouvelle étape pour une meilleure interopérabilité entre les systèmes de preuve

    Vérification formelle de diagrammes UML : une approche basée sur la logique de réécriture

    Get PDF

    Test de modèles formels en B : cadre théorique et critères de couverture

    Get PDF
    Les travaux présentés dans ce mémoire définissent un cadre théorique pour le test de logiciels développés selon la méthode formelle B. Les tests visent à révéler les fautes dues à une mauvaise compréhension ou à une mauvaise modélisation d’un besoin fonctionnel, et complètent ainsi les preuves effectuées pendant le développement formel. Un développement B peut être vu comme une série d’étapes durant lesquelles des modèles de plus en plus concrets de l’application sont construits, le code final pouvant être considéré comme une version compilée du modèle le plus concret. Le cadre théorique de test que nous avons défini est un cadre unifié, indépendant du fait que les résultats de test soient obtenus de l’animation des modèles ou de l’exécution du code. Ce cadre est explicitement lié à la notion du raffinement des modèles B : pour une entrée de test, l’acceptation des résultats fournis par un modèle implique l’acceptation des résultats fournis par les raffinements corrects de celui-ci. Nous définissons ensuite une approche d’analyse structurelle des modèles B. En poursuivant le cadre unifié, notre objectif est de définir des stratégies de couverture qui soient applicables à la fois à un modèle abstrait et à un modèle concret. Ceci a nécessité d’unifier pour les modèles B deux catégories de critères : • critères de couverture des spécifications orientées modèle basés sur la couverture des prédicats avant/après ; • critères classiques de couverture structurelle des programmes basés sur la couverture du graphe de contrôle. A partir de cette unification, nous avons défini un ensemble de critères, ordonnés selon la relation d’inclusion, qui complètent les critères existants. ABSTRACT : The work presented in this dissertation concerns the definition of a theoretical framework for testing software developed within the B formal method. The test aims to reveal specification faults due to a misunderstanding or a misrepresentation of a functional requirement, and thus complement the proofs performed during the formal development process. The B development process can be seen as a series of steps during which successively more concrete models of the system are constructed, the final code being considered as a compiled version of the most concrete model. The theoretical framework that we have defined is a unified framework, independent of the fact that the results are obtained by animation of models or by execution of the final code. The framework is explicitly related to the notion of refinement of B models: for a given test input, the acceptance of the results of a given model implies the acceptance of the results of its correct refinements. We then define an approach to structural analysis of B models. Following the unified framework, our aim is to define coverage strategies applicable to abstract models as well as to concrete ones. This has required the unification of two categories of criteria for B models: • coverage criteria defined for model oriented specifications based on the coverage of before-after predicates; • classical structural coverage criteria of programs based on the coverage of control flow graphs. From this unification, we have defined a set of criteria, ordered according to the inclusion relation, that complete the existing hierarchy of criteria

    Importer les preuves de Logipedia dansAgda

    Get PDF

    Preface

    Get PDF

    D’univocité en rétroaction : la critique de la cybernétique dans la pensée de Heidegger

    Get PDF
    Le concept d’information occupe une place importante dans l’œuvre du philosophe Martin Heidegger ; il s’agit alors pour nous de saisir cette opportunité pour mieux comprendre le mouvement de dé-médiation lié à l’expansion de la logique algorithmique. Nous observerons comment les fondements logiques de l’information liés à l’idéal d’univocité se trouvent convertis en boucle de rétroaction par la cybernétique : alors la régulation et le pilotage peuvent se substituer à l’institution comme nouvelle forme de gouvernementalité.The concept of information is central to philosopher Martin Heidegger’s work; we take advantage of this opportunity in order to better understand the movement of demediation in relation to the expansion of algorithmic logic. We observe how the logical foundations of information and the desire for unambiguous meaning are converted into the feedback loop by cybernetics, allowing regulation and management to replace institutions as a new form of governmentality.El concepto de información ocupa un lugar fundamental en la obra del filósofo Martin Heidegger. Esto permite interpretar mejor el movimiento de de-mediación que la expansión de la lógica algorítmica implica. Se investiga el proceso a través del cual los fundamentos lógicos de la información relacionados con el ideal de univocidad se convierten en un bucle de retroalimentación cibernético: de esta forma, la regulación y la dirección pueden sustituir a la institución como una nueva forma de gobernanza

    ContrĂ´le des interactions orales entre humain et machine : approche d'apprentissage machine

    Get PDF
    Les techniques de reconnaissance et de synthèse vocale deviennent de plus en plus performantes et robustes, ce qui facilite la création des applications de dialogue oral humain-machine. Ce sont des applications à partir desquelles la machine dialogue oralement avec l'humain en imitant l'acte de communication des humains. Cependant, le dialogue entre l'humain et la machine manque encore de naturel, de souplesse et est parfois même agaçant. Alors que les recherches se sont orientées vers l'aspect acoustique et sémantique du signal de la parole, d'autres se sont positionnées au niveau de l'apprentissage de la machine. Cette technique consiste à lui apprendre une stratégie du dialogue. La stratégie optimale du dialogue permet à l'humain et à la machine de communiquer de manière efficace. La question qui se pose en informatique cognitive est de savoir comment une machine peut apprendre des séquences de comportements, en l'occurrence, des énoncés du langage naturel qui, lorsque confrontées à une séquence effective, doivent être aptes à interagir avec celui qui a ces comportements (humains)? . Plus généralement, l'un des domaines importants de recherche en informatique cognitive est celui de la représentation des connaissances qu'il faut construire pour permettre à la machine d'effectuer une tâche de type intelligence artificielle. Pour ce faire, il existe plusieurs approches. Quelle que soit celle retenue, il faut d'abord savoir quelle est sa représentation, ensuite, savoir comment transférer ces connaissances à la machine pour qu'elle puisse apprendre afin d'améliorer sa performance. Ce transfert relève de trois aspects fondamentaux de notre thèse : représentation des connaissances, acquisition des connaissances et recherche d'information. Notre recherche ne vise cependant pas des réponses abstraites. Elle les explore directement dans un domaine spécifique où ces connaissances sont éminemment requises et doivent être apprises: le dialogue oral humain-machine qui se réalise dans un système de dialogue oral humain-machine. Dans ce système, nous nous concentrerons sur l'aspect stratégique du dialogue considéré comme étant important pour contrôler les interactions orales entre l'humain et la machine [ENG05], [HEN05], [LEV00], [PIE04], [SCH05], [SCH06], [SCH99]. Une stratégie optimale du dialogue permet à la machine de contrôler efficacement ces interactions orales. Nos hypothèses de solutions à appliquer dans le domaine du dialogue sont: 1-La connaissance que représente la stratégie du dialogue peut être vue comme un processus dynamique qui est composé de séquences d'actions. Il traduit un comportement stochastique, dynamique et coopératif avec lequel deux interlocuteurs s'engagent dans un dialogue. Ce processus peut être décrit comme le processus de décision de Markov (état, action, transition, récompense). 2-Pour transférer cette connaissance de l'humain à la machine, nous proposerons une approche d'apprentissage par renforcement avec l'aide d'un utilisateur simulé (Pietquin et Beaufort, 2005 ; J. Schatzmann et al., 2006). Cette approche permet à la machine d'acquérir les connaissances des stratégies optimales du dialogue. 3-Cette stratégie optimale est le résultat, non seulement de la formalisation des connaissances et de l'apprentissage, mais est aussi obtenue grâce à la recherche d'information qui se manifeste à travers un mécanisme de transition entre les états qu'offre le modèle de Markov. Nous démontrerons la faisabilité de notre approche par la réalisation d'un prototype qui met en évidence le processus d'apprentissage proposé. Le dialogue issu de cet apprentissage sera simulé oralement par une interface Windows programmé en Visual Studio C++/.Net dans le laboratoire de R&D de Nuance Communications, Inc. Ainsi, nous démontrerons qu'un système avec une stratégie apprise, modélisée selon nos hypothèses de représentation et d'acquisition des connaissances sera meilleur qu'un système sans stratégie apprise grâce à cette approche.\ud ______________________________________________________________________________ MOTS-CLÉS DE L'AUTEUR: représentation des connaissances, acquisition des connaissances, recherche d'information, contrôle des interactions, intelligence artificielle, processus de décision de Markov, apprentissage machine par renforcement, stratégie du dialogue, système de dialogue oral humain-machine, utilisateur simulé

    Conception d'un noyau de vérification de preuves pour le λΠ-calcul modulo

    No full text
    In recent years, the emergence of feature rich and mature interactive proof assistants has enabled large formalization efforts of high-profile conjectures and results previously established only by pen and paper. A medley of incompatible and philosophically diverging logics are at the core of all these proof assistants. Cousineau and Dowek (2007) have proposed the λΠ-calculus modulo as a universal target framework for other front-end proof languages and environments. We explain in this thesis how this particularly simple formalism allows for a small, modular and efficient proof checker upon which the consistency of entire systems can be made to rely upon. Proofs increasingly rely on computation both in the large, as exemplified by the proof of the four colour theorem by Gonthier (2007), and in the small following the SSReflect methodoly and supporting tools. Encoding proofs from other systems in the λΠ-calculus modulo bakes yet more computation into the proof terms. We show how to make the proof checking problem manageable by turning entire proof terms into functional programs and compiling them in one go using off-the-shelf compilers for standard programming languages. We use untyped normalization by evaluation (NbE) as an enabling technology and show how to optimize previous instances of it found in the literature. Through a single change to the interpretation of proof terms, we arrive at a representation of proof terms using higher order abstract syntax (HOAS) allowing for a proof checking algorithm devoid of any explicit typing context for all Pure Type Systems (PTS). We observe that this novel algorithm is a generalization to dependent types of a type checking algorithm found in the HOL proof assistants enabling on-the-fly checking of proofs. We thus arrive at a purely functional system with no explicit state, where all proofs are checked by construction. We formally verify in Coq the correspondence of the type system on higher order terms lying behind this algorithm with respect to the standard typing rules for PTS. This line of work can be seen as connecting two historic strands of proof assistants: LCF and its descendents, where proofs of untyped or simply typed formulae are checked by construction, versus Automath and its descendents, where proofs of dependently typed terms are checked a posteriori. The algorithms presented in this thesis are at the core of a new proof checker called Dedukti and in some cases have been transferred to the more mature platform that is Coq. In joint work with Denes, we show how to extend the untyped NbE algorithm to the syntax and reduction rules of the Calculus of Inductive Constructions (CIC). In joint work with Burel, we generalize previous work by Cousineau and Dowek (2007) on the embedding into the λΠ-calculus modulo of a large class of PTS to inductive types, pattern matching and fixpoint operators.Ces dernières années ont vu l'émergence d'assistants interactifs de preuves riches en fonctionnalités et d'une grande maturité d'implémentation, ce qui a permis l'essor des grosses formalisations de résultats papier et la résolution de conjectures célèbres. Mais autant d'assistants de preuves reposent sur presque autant de logiques comme fondements théoriques. Cousineau et Dowek (2007) proposent le λΠ-calcul modulo comme un cadre universel cible pour tous ces environnement de démonstration. Nous montrons dans cette thèse comment ce formalisme particulièrement simple admet une implémentation d'un vérificateur de taille modeste mais pour autant modulaire et efficace, à la correction de laquelle on peut réduire la cohérence de systèmes tout entiers. Un nombre croissant de preuves dépendent de calculs intensifs comme dans la preuve du théorème des quatre couleurs de Gonthier (2007). Les méthodologies telles que SSReflect et les outils attenants privilégient les preuves contenant de nombreux petits calculs plutôt que les preuves purement déductives. L'encodage de preuves provenant d'autres systèmes dans le λΠ-calcul modulo introduit d'autres calculs encore. Nous montrons comment gérer la taille de ces calculs en interprétant les preuves tout entières comme des programmes fonctionnels, que l'on peut compiler vers du code machine à l'aide de compilateurs standards et clé-en-main. Nous employons pour cela une variante non typée de la normalisation par évaluation (NbE), et montrons comment optimiser de précédentes formulation de celle-ci. Au travers d'une seule petite modification à l'interprétation des termes de preuves, nous arrivons aussi à une représentation des preuves en syntaxe abstraite d'ordre supérieur (HOAS), qui admet naturellement un algorithme de typage sans aucun contexte de typage explicite. Nous généralisons cet algorithme à tous les systèmes de types purs (PTS). Nous observons que cet algorithme est une extension à un cadre avec types dépendants de l'algorithme de typage des assistants de preuves de la famille HOL. Cette observation nous amène à développer une architecture à la LCF pour une large classe de PTS, c'est à dire une architecture où tous les termes de preuves sont corrects par construction, a priori donc, et n'ont ainsi pas besoin d'être vérifié a posteriori. Nous prouvons formellement en Coq un théorème de correspondance entre les système de types sans contexte et leur pendant standard avec contexte explicite. Ces travaux jettent un pont entre deux lignées historiques d'assistants de preuves : la lignée issue de LCF à qui nous empruntons l'architecture du noyau, et celle issue de Automath, dont nous héritons la notion de types dépendants. Les algorithmes présentés dans cette thèse sont au coeur d'un nouveau vérificateur de preuves appelé Dedukti et ont aussi été transférés vers un système plus mature : Coq. En collaboration avec Dénès, nous montrons comment étendre la NbE non typée pour gérer la syntaxe et les règles de réduction du calcul des constructions inductives (CIC). En collaboration avec Burel, nous généralisons des travaux précédents de Cousineau et Dowek (2007) sur l'encodage dans le λΠ-calcul modulo d'une large classe de PTS à des PTS avec types inductifs, motifs de filtrage et opérateurs de point fixe

    Automatisation des preuves pour la vérification des règles de l'Atelier B

    Get PDF
    Cette thèse porte sur la vérification des règles ajoutées de l'Atelier B en utilisant une plate-forme appelée BCARe qui repose sur un plongement de la théorie sous-jacente à la méthode B (théorie de B) dans l'assistant à la preuve Coq. En particulier, nous proposons trois approches pour prouver la validité d'une règle, ce qui revient à prouver une formule exprimée dans la théorie de B. Ces trois approches ont été évaluées sur les règles de la base de règles de SIEMENS IC-MOL. La première approche dite autarcique est développée avec le langage de tactiques de Coq Ltac. Elle repose sur une première étape qui consiste à déplier tous les opérateurs ensemblistes pour obtenir une formule de la logique du premier ordre. Puis nous appliquons une procédure de décision qui met en oeuvre une heuristique naïve en ce qui concerne les instanciations. La deuxième approche, dite sceptique,appelle le prouveur automatique de théorèmes Zenon après avoir effectué l'étape de normalisation précédente. Nous vérifions ensuite les preuves trouvées par Zenon dans le plongement profond de B en Coq. La troisième approche évite l'étape de normalisation précédente grâce à une extension de Zenon utilisant des règles d'inférence spécifiques à la théorie de B. Ces règles sont obtenues grâce à la technique de superdéduction. Cette dernière approche est généralisée en une extension de Zenon à toute théorie grâce à un calcul dynamique des règles de superdéduction. Ce nouvel outil, appelé Super Zenon, peut par exemple prouver des problèmes issus de la bibliothèque de problèmes TPTP.The purpose of this thesis is the verification of Atelier B added rules using the framework named BCARe which relies on a deep embedding of the B theory within the logic of the Coq proof assistant. We propose especially three approaches in order to prove the validity of a rule, which amounts to prove a formula expressed in the B theory. These three approaches have been assessed on the rules coming from the rule database maintained by Siemens IC-MOL. To do so, the first approach, so-called autarkic approach, is developed thanks to the Coq tactic language, Ltac. It rests upon a first step which consists in unfolding the set operators so as to obtain a first order formula. A decision procedure which implements an heuristic is applied afterwards to deal with instantiation. We propose a second approach, so-called skeptic approach, which uses the automated first order theorem prover Zenon, after the previous normalization step has been applied. Then we verify the Zenon proofs in the deep embedding of B in Coq. A third approach consists in using anextension of Zenon to the B method thanks to the superdeduction. Superdeduction allows us to add the axioms of the B theory by means of deduction rules in the proof mechanism of Zenon. This last approach is generalized in an extension of Zenon to every theory thanks to a dynamic calculus of the superdeduction rules. This new tool, named Super Zenon, is able to prove problems coming from the problem library TPTP, for example.PARIS-CNAM (751032301) / SudocSudocFranceF

    Une architecture de contrôle distribuée pour l'autonomie des robots

    Get PDF
    Pour des tâches simples ou dans un environnement contrôlé, la coordination des différents processus internes d un robot est un problème relativement trivial, souvent implémenté de manière ad-hoc. Toutefois, avec le développement de robots plus complexes travaillant dans des environnements non contrôlés et dynamiques, le robot doit en permanence se reconfigurer afin de s adapter aux conditions extérieures et à ses objectifs. La définition d une architecture de contrôle efficace permettant de gérer ces reconfigurations devient alors primordiale pour l autonomie de tels robots. Dans ces travaux, nous avons d abord étudié les différentes architectures proposées dans la littérature, dont l analyse a permis d identifier les grandes problématiques qu une architecture de contrôle doit résoudre. Cette analyse nous a mené à proposer une nouvelle architecture de contrôle décentralisée, générique et réutilisable, selon une démarche qui intègre une approche "intelligence artificielle" (utilisation de raisonneur logique, propagation dynamique de contraintes) et une approche "génie logiciel" (programmation par contrats, agents). Après une présentation des concepts qui sous-tendent cette architecture et une description approfondie de son fonctionnement, nous en décrivons une implémentation, qui est exploitée pour assurer le contrôle d un robot terrestre d extérieur dans le cadre de tâches de navigation, d exploration ou de suivi. Des résultats sont présentés et analysés. Dans une seconde partie, nous nous sommes penchés sur la modélisation et la vérifiabilité d une telle architecture de contrôle. Après avoir analysé différentes solutions, nous décrivons un modèle complet de l architecture qui utilise la logique linéaire. Nous discutons ensuite des différentes approches possibles pour montrer des propriétés d atteignabilité et de sûreté de fonctionnement en exploitant ce modèle. Enfin nous abordons différentes voies d enrichissement de ces travaux. En particulier, nous discutons des extensions possibles pour le contrôle d un ensemble de robots coopérants entre eux, mais aussi de la nécessité d avoir des liens plus forts entre cette couche de contrôle, et les approches de modélisation des fonctionnalités sous-jacentes.For simple tasks in a controlled environment, the coordination of the internal processes of a robot is a relatively trivial task, often implemented in an ad-hoc basis. However, with the development of more complex robots that must operate in uncontrolled and dynamic environments, the robot must constantly reconfigure itself to adapt to the external conditions and its own goals. The definition of a control architecture to manage these reconfigurations becomes of paramount importance for the autonomy of such robots. In this work, we first study the different architectures proposed in the literature, and analyse the major issues that a control architecture must address. This analysis led us to propose a new architecture, decentralized, generic and reusable, integrating an artificial intelligence approach (use of logical reasoning, dynamic propagation of constraints) and a software engineering approach (programming by contract, agents). After a presentation of the concepts underlying this architecture and an in-depth description of its operation, we describe an implementation which is used to control of a ground robot for navigation, exploration and monitoring tasks. Results are presented and analyzed. In a second part, we focus on the modeling and verifiability of such a control architecture. After analyzing different solutions, we present a comprehensive model of the proposed architecture that uses linear logic. We then discuss the different possible approaches to assess the properties of reachability and safety within this model. Finally we discuss different ways to enrich this work. In particular, we discuss possible extensions to the control of a multiple cooperating robots, but also the need for stronger links between the control layer and the modeling.TOULOUSE-INP (315552154) / SudocSudocFranceF
    • …
    corecore