Modeling Ontological Structures with Type Classes in Coq

Similar documents
Beyond First-Order Logic

The Curry-Howard Isomorphism

Program-ing in Coq. Matthieu Sozeau under the direction of Christine Paulin-Mohring

A New Look At Generalized Rewriting in Type Theory

A New Look at Generalized Rewriting in Type Theory

Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison

Classical First-Order Logic

The Calculus of Inductive Constructions

Proof assistants as a tool for thought

Bootstrapping Mathematics

Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory

Propositions and Proofs

Extending higher-order logic with predicate subtyping: application to PVS

Subtyping and Intersection Types Revisited

Formal Logic and Deduction Systems

On Modal Logics of Partial Recursive Functions

Dismatching and Local Disunification in EL

Induction on Failing Derivations

Classical First-Order Logic

Introduction to type theory and homotopy theory

1 / A bird s-eye view of type theory. 2 A bird s-eye view of homotopy theory. 3 Path spaces and identity types. 4 Homotopy type theory

arxiv:math/ v1 [math.lo] 5 Mar 2007

Modal logics: an introduction

A Machine Checked Model of Idempotent MGU Axioms For a List of Equational Constraints

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1

Extended Abstract: Reconsidering Intuitionistic Duality

hal , version 1-21 Oct 2009

07 Practical Application of The Axiomatic Method

On the Complexity of the Reflected Logic of Proofs

Theoretical Computer Science. Representing model theory in a type-theoretical logical framework

c 2002 Published by Elsevier Science B. V. Open access under CC BY-NC-ND license.

COMPUTER SCIENCE TRIPOS

CHAPTER 4 CLASSICAL PROPOSITIONAL SEMANTICS

A Goal-Oriented Algorithm for Unification in EL w.r.t. Cycle-Restricted TBoxes

CS 6110 Lecture 28 Subtype Polymorphism 3 April 2013 Lecturer: Andrew Myers

A Tableau Calculus for Minimal Modal Model Generation

Discrete Mathematics

First-Order Modal Logic and the Barcan Formula

A Practical Module System for LF

Boolean bunched logic: its semantics and completeness

arxiv: v1 [cs.lo] 17 Mar 2017

Equality and dependent type theory. CIRM, May 31

Higher Order Containers

Lecture Notes on Combinatory Modal Logic

An Introduction to Proof Assistants

OWL Basics. Technologies for the Semantic Web. Building a Semantic Web. Ontology

A constructive and formal proof of Lebesgue s Dominated Convergence Theorem in the interactive theorem prover Matita

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

Pei Wang( 王培 ) Temple University, Philadelphia, USA

02 The Axiomatic Method

Kleene realizability and negative translations

Mathematical Logic. Introduction to Reasoning and Automated Reasoning. Hilbert-style Propositional Reasoning. Chiara Ghidini. FBK-IRST, Trento, Italy

Subtractive Logic. To appear in Theoretical Computer Science. Tristan Crolard May 3, 1999

Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic

Topics in Model-Based Reasoning

Completeness Theorems and λ-calculus

Type Theory and Univalent Foundation

Lecture Notes on Certifying Theorem Provers

Non-Axiomatic Logic (NAL) Specification. Pei Wang

An introduction to classical realizability

FROM COHERENT TO FINITENESS SPACES

Gerwin Klein, June Andronick, Ramana Kumar S2/2016

CS Lecture 19: Logic To Truth through Proof. Prof. Clarkson Fall Today s music: Theme from Sherlock

Complexity of Reasoning in Entity Relationship Models

OWL Semantics. COMP60421 Sean Bechhofer University of Manchester

Appendix: Bar Induction in the Proof 1 of Termination of Gentzens Reduction 2 Procedure 3

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC. MSR 3.0:

Semantical study of intuitionistic modal logics

Domain Modelling: An Example (LOGICAL) DOMAIN MODELLING. Modelling Steps. Example Domain: Electronic Circuits (Russell/Norvig)

On the satisfiability problem for a 4-level quantified syllogistic and some applications to modal logic

The Locally Nameless Representation

Programming with Dependent Types in Coq

The Search for the Perfect Language

Modal Logic as a Basis for Distributed Computation

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Homotopy Type Theory Lecture Notes

An axiom free Coq proof of Kruskal s tree theorem

The TLA + proof system

Applied Logic for Computer Scientists. Answers to Some Exercises

On minimal models of the Region Connection Calculus

The Logic of Proofs, Semantically

Abstract model theory for extensions of modal logic

Program Testing and Constructive Validity

Rigorous Software Development CSCI-GA

Constructive Formalization of Classical Modal Logic

MEREOLOGICAL FUSION AS AN UPPER BOUND

An Introduction to Modal Logic V

October 12, Complexity and Absoluteness in L ω1,ω. John T. Baldwin. Measuring complexity. Complexity of. concepts. to first order.

07 Equational Logic and Algebraic Reasoning

The Coq Proof Assistant

Conceptual Modeling of Formal and Material Relations Applied to Ontologies

185.A09 Advanced Mathematical Logic

VeriML: Typed Computation of Logical Terms inside a Language with Effects

On a computational interpretation of sequent calculus for modal logic S4

Dynamic Epistemic Logic Displayed

Partial model checking via abstract interpretation

Phase 1. Phase 2. Phase 3. History. implementation of systems based on incomplete structural subsumption algorithms

Homotopy Type Theory

Recent progress in Homotopy type theory

Transcription:

Modeling Ontological Structures with Type Classes in Coq Richard Dapoigny 1 Patrick Barlatier 1 1 LISTIC/Polytech Savoie University of Savoie, Annecy, (FRANCE) Cite as: Dapoigny, R., Barlatier, P. Modeling Ontological Structures with Type Classes in Coq. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 1 / 25

Contents 1 Introduction 2 K-DTT 3 K-DTT in Coq Representing Kinds and properties Associations Specifications Reasoning with tactics 4 Conclusion-Perspectives Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 2 / 25

Introduction Some challenging problems in Conceptual Modeling The need for an ontologically well-founded representation language. The meta-conceptualization [Guizzardi06] of modeling languages is too simple. The usual structures of classes and relationships are not sufficient for expressing unambiguously reality. Meta-properties of ontological structures are not easily accounted for. The language should be able to support expressive axiomatic formalization of basic relations (is_a, part_of ). Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 3 / 25

Introduction Some challenging problems in Conceptual Modeling The idea: Why not to use Type-Theory? Not used so far for knowledge representation (except in NLP). The problem: few searchers in Conceptual Modeling are aware of Type Theory. The reason: it requires a strong commitment from users both in type theory and in conceptual modeling. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 4 / 25

K-DTT Motivations for a Type-Theoretical Framework Based on Curry-Howard isomorphism: a typed λ-calculus is "equivalent" to a proof system in intuitionistic logic assessing a type is proving. Uses stratified universes (i.e., type of type) "à-la-russell": a partial order hierarchy where each universe is closed under type-forming operations representing different abstraction levels is simplified. The underlying intuitionistic logic has been shown equiv. to S4 supports modality. Assumes Regular Word Assumption the set of proof objects in the database is a subset of the possible proof objects [Schur01]. Uses Dependent types (product and sum types) the key for high-level expressiveness. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 5 / 25

K-DTT Motivations for a Type-Theoretical Framework Type-theoretical basis Type Theories are based on the typed λ-calculus. We build on CC ω [Coq88] and CIC [Paulin-Mohring96], the theoretical basic for the Coq language (http://coq.inria.fr/). Based on the concept of proof rather than truth. An infinite hierarchy of predicative type universes Type i for data types. An impredicative universe noted Prop for logic. Cumulativity: Prop Type 0 Type 1... Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 5 / 25

K-DTT Motivations for a Type-Theoretical Framework Modality P is true iff P is proved (we can construct a proof for it) which implies identity between provability and. Categorical judgments: empty context, e.g., x : Patient. Hypothetical judgments: under hypotheses, e.g., Γ x : Patient. Dependent justifications (expressed with dependent types) give the ability to express potential knowledge. In the following, Γ O will denote the context related to the ontology O. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 5 / 25

K-DTT K-DTT Description A two-layer theory. The lower layer is type-theoretical (types and logic) The higher layer provides ontological commitments which are interpreted in the lower layer. Ontological classes are expressed by terms which can be universes, types or compound terms. Particulars are understood in terms of proof objects. The relation of instantiation : is already a primitive of the lower layer. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 6 / 25

K-DTT The Ontological Layer i. The context Γ O is such that it includes all terms which are interpretations of universals (e.g., types or universes) in [[O]], ii. any particular p P is interpreted as the proof object Γ O p : [[U]], such that p : [[U]]( p p : [[p]]) with [[U]] : Type 0, the type which interprets the universal U related to p. A particular John_Doe : LegalPerson LegalPerson is well-formed iff Γ O LegalPerson : [[U]] for some universal U. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT The Ontological Layer iii. any kind K in U is interpreted as Γ O [[K]] : [[U]] with [[U]] : Type i with i > 0 and [[U]] which interprets the universal U. The hierarchical taxonomy of non-dependent kinds is the DOLCE hierarchy [Masolo03] and corresponds roughly to "natural types". A kind LegalPerson : SAG Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT The Ontological Layer The DOLCE Backbone Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT The Ontological Layer iv. any property P in [[O]] may depend on a particular x having the kind K and is interpreted as the dependent kind [[P]][x : [[K]]] : Q, A property Color : Q A dependent property ColorOf(x : POB) : Q POB refers to Physical OBjects. It means that all physical objects have a color which corresponds to "role types" [Sowa84]. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT The Ontological Layer v. any association R relating universals U 1 and U 2 is interpreted as [[R]] : ([[U 1 ]] [[U 2 ]] Prop) with Σx : [[U 1 ]].Σy : [[U 2 ]].[[R]][x, y], A (binary) relation Relation : Kind Kind Prop Class CarFrame : Association := {...}. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT The Ontological Layer vi. any meta-property S about a universal U is the specification S : ([[U]] Prop) with Σx : [[U]].S[x]. A specification over a relation Antisymmetric relations: Antisymmetry : forall (X Y : Kind), Relation X Y Relation Y X X = Y Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 7 / 25

K-DTT in Coq Using the Coq Language The Coq language has reached a state where it is well usable as a research tool [Bertot04]. It is a sequence of declarations and definitions. It is designed such that evaluation always terminates (decidability). The type-checker checks using proof search that a data structure complies to its specification. Very powerful primitives: Types Classes (TCs) [Sozeau08,Spitters11] for describing data structures. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 8 / 25

K-DTT in Coq Primitives Instantiation : x : A all properties of A are available in x. Equality : Leibniz equality types are equal iff they have the same properties. Subsumption coercive subtyping [Saibi97] (coherence checked). Coercive subtyping in Coq Γ M : A c AA : A A Γ (c AA M) : A (Coerce) f : T 1 T 2 c 1 : U 1 T 1 c 2 : T 2 U 2 x : U 1 (c 2 (f(c 1 x))) : U 1 U 2 (Coerce Pi) Type Classes (TCs): extension of sum types. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 9 / 25

K-DTT in Coq Representing Kinds and properties Subsumption The Object-Oriented view: If a class A is subclass of class B: Every instance of A is also an instance of B Values of properties of B are inherited by instances of A There are many examples where the use of subclass-of relation can be incorrect in subtle ways. Another way is to separate properties from classes e.g., in DL and CGs we share this view. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 10 / 25

K-DTT in Coq Representing Kinds and properties Kinds Universes are available in Coq, but hardly manipulable We define a universe Universal and two sub-universes for Kinds and Associations: Definition Universal := Type. Definition Kind : Universal := Type. Definition Association : Universal := Type. Two parametric universes are created for a foundational and a domain ontology: Definition OntoCore (c:type) Definition OntoDomain (c:type) := Type. := Type. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 11 / 25

K-DTT in Coq Representing Kinds and properties Kinds Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 11 / 25

K-DTT in Coq Representing Kinds and properties Properties Some code example: a Kind Person and a property SSN parameterized with an object of type Person. A property: SSN Structure Person : OntoDomain APO := { Personsub :> APO }. Structure SSN (x:person) : OntoDomain AQ := { SSN_Quale :> nat}. Structure RegisteredPerson : OntoDomain Person := { Rpst :> Person; RpProp : SSN Rpst}. It follows that RegisteredPerson is a subset of Person, i.e., persons constrained by the property "having a SSN" (anti-rigid property). Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 12 / 25

K-DTT in Coq Representing Kinds and properties Properties Cardinality Constraints (Core Ontology) Inductive Arity (A:Type) : Type := card_1 : Arity A card_0_1 : Arity A card_0_n : Arity A. Definition SelectArity (A:Type)(x:Arity A) : Type := match x with card_1 => A card_0_1 => option A card_0_n => list A end. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 12 / 25

K-DTT in Coq Representing Kinds and properties Properties Using Cardinality Constraints (Domain Ontology) Class HasSSN : Prop := { SSN_Attr: Person->SSN; SSN_mul : SelectArity Person (card_0_1 Person)}. Instance SSNPerson : HasSSN := { SSN_Attr John := (Build_SSN 33); SSN_mul := Multiplicity0_1 (Build_SSN 33) John }. with: Definition Multiplicity0_1 (s:ssn)(p:person) : option Person := match s with Build_SSN 0 => None Build_SSN s => Some p end. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 12 / 25

K-DTT in Coq Representing Kinds and properties The results Some Benefits Kinds and properties are separate portability between domains (unlike OO frameworks). We have inheritance as in OO frameworks (all properties of the super-class are available in the class). We have coercive subtyping (an object of a super-class can be used instead of an object of a class). Mixing Structures (for coercive subtyping) and their powerful version (Type Classes) for inheritance modularity. Basic cardinality constraints can be defined conceptual modeling. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 13 / 25

K-DTT in Coq Associations Context The focus here is on binary associations (relations). The more interesting case is hierarchical (formal relations) such as is_a and PartOf. The first one is already part of K-DTT, then the focus is on PartOf relations. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 14 / 25

K-DTT in Coq Associations PartOf Relations The basic part-of relation Parameter Relation : (OntoCore Kind) (OntoCore Kind) Prop. Class PartOf {X Y :OntoCore Kind} : Prop := { PartOf_s :> Relation X Y; PartOf_pred :> POR}. Any instance of a part-of relation both inherits the structure of a generic binary relation and the properties of a partial order relation. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 15 / 25

K-DTT in Coq Associations PartOf Relations A (sub) part-of relation Class CarFrame : Association := { a : Frame; b : Car; CarFrame_prop :> @ProperPartOf Frame Car}. Some domain associations may inherits from part-whole relations. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 15 / 25

K-DTT in Coq Specifications Expressing meta-properties Properties of kind types (or meta-properties) are described with rules. Example: the partial order (meta) property POR. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 16 / 25

K-DTT in Coq Specifications Expressing meta-properties POR Class Antisymmetric : Prop := Antisymmetry : forall (x y:ontocore Kind), Relation x y Relation y x x = y. Class Reflexive : Prop := Reflexivity : forall x:ontocore Kind, Relation x x. Class Transitive : Prop := Transitivity : forall x y z:ontocore Kind, Relation x y Relation y z Relation x z. Class POR : Prop := { POR_Refl :> Reflexive; POR_Antisym :> Antisymmetric; POR_Trans :> Transitive}. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 17 / 25

K-DTT in Coq Specifications Expressing meta-properties Inheritance of part-whole relations Class ProperPartOf {X Y :OntoCore Kind} : Prop := { PPO_s :> Relation X Y; PPO_Asym :> Asymmetric; PPO_Trans :> Transitive}. Class ContainedIn { X Y: OntoCore Kind} : Prop := { ContainedIn_prop:> @PartOf X Y}. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 18 / 25

K-DTT in Coq Specifications Expressing meta-properties We have the ability to build part-whole hierarchies [Keet08]. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 19 / 25

K-DTT in Coq Reasoning with tactics Going a Step Further Tactics can be either achieved interactively with the user or built with the language LTac. More than one hundred tactics are available in Coq. Tactics can be the building block of high-level reasoning. Incompatible relations Suppose that we want to prove that a relation, e.g., having the type @ProperPartOf Frame Car cannot be a part-of relation which swaps the arguments. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 20 / 25

K-DTT in Coq Reasoning with tactics ProperPartOf is not a PartOf Lemma PPO_not_PO : forall c:@properpartof Frame Car, (@PartOf Car Frame). Proof. intros. decompose record c. unfold not. intro p. decompose record p. eapply Asymmetry. exact PPO_s0. exact PartOf_s0. Qed. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 21 / 25

Conclusion-Perspectives In summary K-DTT is a unifying theory both sufficiently expressive and logically founded together with a logic which supports different abstraction levels. Its implementation in Coq is able to constrain the semantics of knowledge representation based on expressive typed structures. The higher order capabilities of the type-theoretical layer are a crucial advantage for meta-reasoning. TCs can model several non-trivial aspects of classes such as meta-level properties and multiple inheritance. TCs unify the two representations of relations, i.e., the logical view and the conceptual modeling view. Many aspects of OO programming can be preserved in type theory since it unifies functional programming, component based programming, meta-programming (MDA), and logical verification (see [Setzer07]). Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 22 / 25

Conclusion-Perspectives Thematic map Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 23 / 25

Conclusion-Perspectives Perspectives All development holds in 3 steps: Step 1 Theoretical development see [Dapoigny Barlatier09] (ER09), [Dapoigny Barlatier10a] (FOIS10), [Dapoigny Barlatier10b] (Fundamenta Informaticae), [Dapoigny Barlatier13] (Information Fusion). Step 2 Implementation in Coq [Barlatier Dapoigny12] (Applied Ontology), this paper and other paper submitted. Step 3 Design of an interface tool to abstract away the formal theory to be achieved... The future: investigating more aspects in Coq, building the interface. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 24 / 25

Conclusion-Perspectives Thanks for your attention. Dapoigny, Barlatier (University of Savoie) Modeling Ontological Structures with Type Classes in Coq 25 / 25