using open mathematical documents to interface computer ... · ... using open mathematical...

53
Using Open Mathematical Documents to interface Computer Algebra and Proof Assistant systems onathan Heras Vico Pascual Julio Rubio Departamento de Matem´ aticas y Computaci´on Universidad de La Rioja Spain 8th International Conference on Mathematical Knowledge Management July 11, 2009 J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 1/20

Upload: truongnhi

Post on 04-May-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Using Open Mathematical Documents to interfaceComputer Algebra and Proof Assistant systems

Jonathan Heras Vico Pascual Julio Rubio

Departamento de Matematicas y ComputacionUniversidad de La Rioja

Spain

8th International Conference on Mathematical Knowledge Management

July 11, 2009

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 1/20

Table of Contents

1 Introduction

2 Specifying with OMDoc Documents

3 Conclusions and Further Work

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 2/20

Introduction

Table of Contents

1 Introduction

2 Specifying with OMDoc Documents

3 Conclusions and Further Work

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 3/20

Introduction

Introduction

Kenzo:

Symbolic Computation System devoted to Algebraic TopologyHomology groups unreachable by any other means

Goal:

Increase the reliability of Kenzo

Integration of Kenzo with ACL2

Necessary:

ComputationRepresentation of the Mathematical KnowledgeDeduction

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 4/20

Introduction

Introduction

Kenzo:

Symbolic Computation System devoted to Algebraic TopologyHomology groups unreachable by any other means

Goal:Increase the reliability of Kenzo

Integration of Kenzo with ACL2

Necessary:

ComputationRepresentation of the Mathematical KnowledgeDeduction

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 4/20

Introduction

Introduction

Kenzo:

Symbolic Computation System devoted to Algebraic TopologyHomology groups unreachable by any other means

Goal:Increase the reliability of Kenzo

Integration of Kenzo with ACL2

Necessary:

ComputationRepresentation of the Mathematical KnowledgeDeduction

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 4/20

Introduction

Computation

Kenzo + mediated access

Figure: Simplified diagram of the architecture

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 5/20

Introduction

Representation

OpenMath: XML standard

Kenzo works with the main mathematical structures used in Simplicial Algebraic Topology

A CD without axioms for each Mathematical Structure was developed

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 6/20

Introduction

Representation

OpenMath: XML standard

Kenzo works with the main mathematical structures used in Simplicial Algebraic Topology

A CD without axioms for each Mathematical Structure was developed

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 6/20

Introduction

Representation

OpenMath: XML standard

Kenzo works with the main mathematical structures used in Simplicial Algebraic Topology

A CD without axioms for each Mathematical Structure was developed

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 6/20

Introduction

Deduction

ACL2 (A Computational Logic for an Applicative CommonLisp)

ACL2

Programming LanguageFirst-Order LogicTheorem Prover

Proof techniques:

SimplificationInduction“The Method”

Encapsulate: to the constrained introduction of new functions

SignaturesPropertiesWitness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 7/20

Introduction

Deduction

ACL2 (A Computational Logic for an Applicative CommonLisp)

ACL2

Programming LanguageFirst-Order LogicTheorem Prover

Proof techniques:

SimplificationInduction“The Method”

Encapsulate: to the constrained introduction of new functions

SignaturesPropertiesWitness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 7/20

Introduction

Deduction

ACL2 (A Computational Logic for an Applicative CommonLisp)

ACL2

Programming LanguageFirst-Order LogicTheorem Prover

Proof techniques:

SimplificationInduction“The Method”

Encapsulate: to the constrained introduction of new functions

SignaturesPropertiesWitness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 7/20

Introduction

Deduction

ACL2 (A Computational Logic for an Applicative CommonLisp)

ACL2

Programming LanguageFirst-Order LogicTheorem Prover

Proof techniques:

SimplificationInduction“The Method”

Encapsulate: to the constrained introduction of new functions

SignaturesPropertiesWitness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 7/20

Introduction

Gathering all the pieces

A Graphical User Interface to gather all the pieces wasdeveloped

Customizable by means of an OMDoc Document RepositoryOpenMath → OMDoc due to OMDoc tools

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 8/20

Specifying with OMDoc Documents

Table of Contents

1 Introduction

2 Specifying with OMDoc Documents

3 Conclusions and Further Work

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 9/20

Specifying with OMDoc Documents

OMDoc Documents

OMDoc format:mathematical documents + knowledge encapsulate in themthree levels of information:

formulæmathematical statementsmathematical theories

Sub-languages:

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 10/20

Specifying with OMDoc Documents

OMDoc Documents

OMDoc format:mathematical documents + knowledge encapsulate in themthree levels of information:

formulæmathematical statementsmathematical theories

Sub-languages:

Figure: OMDoc Sub-Languages and ModulesJ. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 10/20

Specifying with OMDoc Documents

OMDoc Documents

OMDoc format:mathematical documents + knowledge encapsulate in themthree levels of information:

formulæmathematical statementsmathematical theories

Sub-languages:

Figure: OMDoc Sub-Languages usedJ. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 10/20

Specifying with OMDoc Documents

OMDoc Documents

OMDoc format:mathematical documents + knowledge encapsulate in themthree levels of information:

formulæmathematical statementsmathematical theories

Sub-languages:

5 kinds of OMDoc documents:

Definition of Mathematical StructuresLogic to interact with KenzoPresentation for the GUIACL2 interpreterACL2 presentation for the GUI

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 10/20

Specifying with OMDoc Documents

Definition of Mathematical Structures

Goal:

Define the mathematical structures of Kenzo

Sub-language:

OMDoc Content Dictionaries Sub-language

OMDoc Content Dictionaries for each mathematical structure:

SignaturePropertiesExample

OpenMath CDs ⊂ OMDoc CDs

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 11/20

Specifying with OMDoc Documents

Definition of Mathematical Structures

Goal:

Define the mathematical structures of Kenzo

Sub-language:

OMDoc Content Dictionaries Sub-language

OMDoc Content Dictionaries for each mathematical structure:

SignaturePropertiesExample

OpenMath CDs ⊂ OMDoc CDs

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 11/20

Specifying with OMDoc Documents

Definition of Mathematical Structures

Goal:

Define the mathematical structures of Kenzo

Sub-language:

OMDoc Content Dictionaries Sub-language

OMDoc Content Dictionaries for each mathematical structure:

SignaturePropertiesExample

OpenMath CDs ⊂ OMDoc CDs

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 11/20

Specifying with OMDoc Documents

Definition of Mathematical Structures

Goal:

Define the mathematical structures of Kenzo

Sub-language:

OMDoc Content Dictionaries Sub-language

OMDoc Content Dictionaries for each mathematical structure:

SignaturePropertiesExample

OpenMath CDs ⊂ OMDoc CDs

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 11/20

Specifying with OMDoc Documents

Logic to interact with Kenzo

Kenzo keeps on growing

Goal:

Include new functionalityExtensibility of the system

Sub-language:

MathWeb sub-language (EXT module)

<code> tagCommon Lisp codecode for different applications

Functionality for each mathematical structure defined

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 12/20

Specifying with OMDoc Documents

Logic to interact with Kenzo

Kenzo keeps on growing

Goal:

Include new functionalityExtensibility of the system

Sub-language:MathWeb sub-language (EXT module)

<code> tagCommon Lisp codecode for different applications

Functionality for each mathematical structure defined

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 12/20

Specifying with OMDoc Documents

Logic to interact with Kenzo

Kenzo keeps on growing

Goal:

Include new functionalityExtensibility of the system

Sub-language:MathWeb sub-language (EXT module)

<code> tagCommon Lisp codecode for different applications

Functionality for each mathematical structure defined

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 12/20

Specifying with OMDoc Documents

Presentation for the GUI

Goal:Define the structure of our GUI

Sub-language:

MathWeb sub-language

<OMForeign> tagXUL

XUL:

Mozilla’s XML-based user interface languageTo build feature rich cross-platforms

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 13/20

Specifying with OMDoc Documents

Presentation for the GUI

Goal:Define the structure of our GUI

Sub-language:MathWeb sub-language

<OMForeign> tagXUL

XUL:

Mozilla’s XML-based user interface languageTo build feature rich cross-platforms

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 13/20

Specifying with OMDoc Documents

Presentation for the GUI

Goal:Define the structure of our GUI

Sub-language:MathWeb sub-language

<OMForeign> tagXUL

XUL:Mozilla’s XML-based user interface languageTo build feature rich cross-platforms

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 13/20

Specifying with OMDoc Documents

ACL2 Interpreter

Goal:

Integrate Kenzo with ACL2By means of OMDoc CDs

Sub-language:

MathWeb sub-language (EXT module)

<code> tagInterpreter from OMDoc CDs to ACL2 encapsulates

OMDoc CDs ACL2 EncapsulatesSignatures → SignaturesProperties → PropertiesExamples → Witness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 14/20

Specifying with OMDoc Documents

ACL2 Interpreter

Goal:

Integrate Kenzo with ACL2By means of OMDoc CDs

Sub-language:MathWeb sub-language (EXT module)

<code> tagInterpreter from OMDoc CDs to ACL2 encapsulates

OMDoc CDs ACL2 EncapsulatesSignatures → SignaturesProperties → PropertiesExamples → Witness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 14/20

Specifying with OMDoc Documents

ACL2 Interpreter

Goal:

Integrate Kenzo with ACL2By means of OMDoc CDs

Sub-language:MathWeb sub-language (EXT module)

<code> tagInterpreter from OMDoc CDs to ACL2 encapsulates

OMDoc CDs ACL2 EncapsulatesSignatures → SignaturesProperties → PropertiesExamples → Witness

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 14/20

Specifying with OMDoc Documents

ACL2 presentation for the GUI

Goal:

Integrate the GUI with ACL2

Sub-language:

MathWeb sub-language

<OMForeign> tagXUL

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 15/20

Specifying with OMDoc Documents

ACL2 presentation for the GUI

Goal:

Integrate the GUI with ACL2

Sub-language:MathWeb sub-language

<OMForeign> tagXUL

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 15/20

Specifying with OMDoc Documents

ACL2 presentation for the GUI

Goal:

Integrate the GUI with ACL2

Sub-language:MathWeb sub-language

<OMForeign> tagXUL

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 15/20

Specifying with OMDoc Documents

ACL2 presentation for the GUI

Goal:

Integrate the GUI with ACL2

Sub-language:MathWeb sub-language

<OMForeign> tagXUL

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 15/20

Specifying with OMDoc Documents

Gathering all the pieces

Goal:

Glue all the parts of a mathematical structure

Sub-language:

Basic OMDoc

<omgroup> tag

<omdoc id="simplicial-sets.omdoc">

...

<omgroup type="sequence">

<ref xref="simplicial-sets-logic"/>

<ref xref="simplicial-sets-presentation"/>

<ref xref="simplicial-sets-conceptual-model"/>

</omgroup>

...

</omdoc>

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 16/20

Specifying with OMDoc Documents

Gathering all the pieces

Goal:

Glue all the parts of a mathematical structure

Sub-language:Basic OMDoc

<omgroup> tag

<omdoc id="simplicial-sets.omdoc">

...

<omgroup type="sequence">

<ref xref="simplicial-sets-logic"/>

<ref xref="simplicial-sets-presentation"/>

<ref xref="simplicial-sets-conceptual-model"/>

</omgroup>

...

</omdoc>

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 16/20

Specifying with OMDoc Documents

Gathering all the pieces

Goal:

Glue all the parts of a mathematical structure

Sub-language:Basic OMDoc

<omgroup> tag

<omdoc id="simplicial-sets.omdoc">

...

<omgroup type="sequence">

<ref xref="simplicial-sets-logic"/>

<ref xref="simplicial-sets-presentation"/>

<ref xref="simplicial-sets-conceptual-model"/>

</omgroup>

...

</omdoc>

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 16/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Specifying with OMDoc Documents

Workflow

Loading Simplicial Sets and ACL2 in our GUI:

Figure: Workflow diagram

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 17/20

Conclusions and Further Work

Table of Contents

1 Introduction

2 Specifying with OMDoc Documents

3 Conclusions and Further Work

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 18/20

Conclusions and Further Work

Conclusions

Conclusions:An OMDoc Documents Repository has been developedSame OMDoc sub-language to reach different goalsIntegration of representation, computation and deduction inthe same system

Further Work:

Implement interesting interactions between ACL2 and KenzoIntegration with other Symbolic Computation Systems

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 19/20

Conclusions and Further Work

Further Work

Conclusions:An OMDoc Documents Repository has been developedSame OMDoc sub-language to reach different goalsIntegration of representation, computation and deduction inthe same system

Further Work:Implement interesting interactions between ACL2 and KenzoIntegration with other Symbolic Computation Systems

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 19/20

Conclusions and Further Work

Further Work

Conclusions:An OMDoc Documents Repository has been developedSame OMDoc sub-language to reach different goalsIntegration of representation, computation and deduction inthe same system

Further Work:Implement interesting interactions between ACL2 and KenzoIntegration with other Symbolic Computation Systems

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 19/20

The End Thank you for your attention

Using Open Mathematical Documents to interfaceComputer Algebra and Proof Assistant systems

Jonathan Heras Vico Pascual Julio Rubio

Departamento de Matematicas y ComputacionUniversidad de La Rioja

Spain

8th International Conference on Mathematical Knowledge Management

July 11, 2009

J. Heras, V. Pascual and J. Rubio Interfacing Computer Algebra and Proof Assistant systems 20/20