Upload
truongnhi
View
216
Download
0
Embed Size (px)
Citation preview
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