Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The OMDoc Import/Export of Hets

1,067 views

Published on

A brief overview of the Hets system and some problems to solve for the OMDoc Import/Export of Hets

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

The OMDoc Import/Export of Hets

  1. 1. The OMDoc Import/Export of Hets Ewaryst Schulz DFKI Bremen, Germany http://www.informatik.uni-bremen.de/~ewaryst ewaryst.schulz@dfki.de Conferences on Intelligent Computer Mathematics 2010 Content Math Training Camp Paris, France 7th July 2010 The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  2. 2. The Hets System The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  3. 3. The Hets System Other Systems OMDoc OMDoc-based Services The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  4. 4. Hets Resources This Document: http://www.informatik.uni-bremen.de/~ewaryst/CMTC2010.pdf Hets: http://www.informatik.uni-bremen.de/agbkb/forschung/ formal_methods/CoFI/hets/ Hets Library: https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk/ Hets OMDoc Content Dictionaries: https://svn-agbkb.informatik.uni-bremen.de/Hets-OMDoc/ trunk/ContentDictionaries/ CASL: http://www.informatik.uni-bremen.de/cofi/wiki/ The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  5. 5. CASL Specification library Basic/Algebra I spec Monoid = sort Elem ops e : Elem; ∗ : Elem × Elem → Elem, assoc, unit e spec CommutativeMonoid = Monoid then op ∗ : Elem × Elem → Elem, comm spec Group = Monoid then ∀ x : Elem • ∃ x’ : Elem • x’ ∗ x = e %(inv Group)% ... Source: https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk/Basic/Algebra_I.casl The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  6. 6. Development Graph Development Graph of Algebra Library The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  7. 7. OMDoc Translation <omdoc v e r s i o n=” 1 . 6 ” name=” B a s i c / A l g e b r a I ”> <t h e o r y name=” Monoid ” meta=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc ? c a s l ”> <c o n s t a n t name=” Elem ” r o l e=” t y p e ”> y p e> <t <OMOBJ > < OMS b a s e=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc” module=” c a s l ” name=” s o r t ” /> </OMOBJ </ t y p e> c o n s t a n t> > </ <c o n s t a n t name=” ∗ ” r o l e=” o b j e c t ”> <t y p e> <OMOBJ > <OMA > < OMS b a s e=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc” module=” c a s l ” name=” f u n t y p e ” /> < OMS name=” Elem ” /> < OMS name=” Elem ” /> < OMS name=” Elem ” /> </OMA > </OMOBJ </ t y p e> c o n s t a n t> > </ ... </ t h e o r y> <t h e o r y name=” CommutativeMonoid ” meta=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc ? c a s l ”> <s t r u c t u r e name=” g n i m p 0 ” from=” ? Monoid ”> <open name=” Elem ” a s=” Elem ” /> ... </omdoc> The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  8. 8. Same Name Same Thing Principle spec Monoid = sort Elem ops e : Elem; ∗ : Elem × Elem → Elem, assoc, unit e spec Commutative = sort Elem op ∗ : Elem × Elem → Elem, comm spec CommutativeMonoid = Monoid and Commutative Elem from Monoid and from Commutative are identified! The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  9. 9. Same Name Same Thing Principle spec Monoid = sort Elem ops e : Elem; ∗ : Elem × Elem → Elem, assoc, unit e spec Commutative = sort Elem op ∗ : Elem × Elem → Elem, comm spec CommutativeMonoid = Monoid and Commutative Elem from Monoid and from Commutative are identified! The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  10. 10. Same Name Same Thing Principle cont. Corresponding OMDoc fragment <t h e o r y name=” CommutativeMonoid ” meta=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc ? c a s l ”> <s t r u c t u r e name=” g n i m p 0 ” from=” ? Monoid ”> <open name=” Elem ” a s=” Elem ” /> ... </ s t r u c t u r e> <s t r u c t u r e name=” g n i m p 1 ” from=” ? Commutative ”> <c o n a s s name=” Elem ”> <OMOBJ > <OMS name=” Elem ” /> </OMOBJ > </ c o n a s s> ... </ s t r u c t u r e> </ t h e o r y> name in open and conass interpreted in source-context of structure as, OMOBJ interpreted in current context The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  11. 11. Subsorts and Overloading spec Int = sorts Nat < Int; Elem ops 0 : Nat; + : Int × Int → Int; + : Nat × Nat → Nat; + : Elem × Elem → Elem; ∗ : Nat × Int → Int; ∗ : Int × Nat → Int vars x, y : Elem; n, m : Nat •x +y =y +x %(commE)% •n+m=m+n %(commN)% •n∗m=m∗n %(commMult)% end The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  12. 12. Subsorts and Overloading cont. Corresponding OMDoc fragment <t h e o r y name=” I n t ” meta=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc ? c a s l ”> ... <c o n s t a n t name=” + ” r o l e=” o b j e c t ”> <t y p e> <OMOBJ xmlns:om=” h t t p : //www . openmath . o r g /OpenMath”> . . . <OMA > < OMS b a s e=” h t t p : // c d s . omdoc . o r g / l o g i c s / c a s l / c a s l . omdoc” module=” c a s l ” name=” f u n t y p e ” /> <OMS name=” Elem ” /> <OMS name=” Elem ” /> <OMS name=” Elem ” /> </OMA </OMOBJ </ t y p e> c o n s t a n t> > > </ <c o n s t a n t name=”%()% o v e r 1 : + ” r o l e=” o b j e c t ”> <t y p e> . . .</ t y p e> c o n s t a n t> </ <n o t a t i o n f o r=”??%()% o v e r 1 : + ” r o l e=” c o n s t a n t ”> <t e x t v a l u e=” + ” /> </ n o t a t i o n> ... </ t h e o r y> Encoding of overloaded names notation stores the original name The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  13. 13. What else? If you have further questions such as How can I use Hets for my project? How can I integrate my logic in Hets? Should I use XSLT to translate an OMDoc from logic A to logic B? How could I design an OMDoc interface for my tool? I can probably answer them... The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence

×