SlideShare a Scribd company logo
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
The Hets System




The OMDoc Import/Export of Hets   German Research Center
Ewaryst Schulz                    for Artificial Intelligence
The Hets System




                                   Other Systems


                                     OMDoc


                                  OMDoc-based Services




The OMDoc Import/Export of Hets      German Research Center
Ewaryst Schulz                       for Artificial Intelligence
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
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
Development Graph


     Development Graph of Algebra Library




The OMDoc Import/Export of Hets             German Research Center
Ewaryst Schulz                              for Artificial Intelligence
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
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
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
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
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
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
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

More Related Content

PDF
Academic Transcript Atmajaya
PDF
Ill Cs Cib 01[1]
PDF
Guia de Plan APPCC
PPTX
Vahz aprendizaje autónomo
PPT
Alattin reizen powerpoint
PDF
Data table for falling steel
PPT
Announcements for Sunday, May 2nd 2010
PPT
Academic Transcript Atmajaya
Ill Cs Cib 01[1]
Guia de Plan APPCC
Vahz aprendizaje autónomo
Alattin reizen powerpoint
Data table for falling steel
Announcements for Sunday, May 2nd 2010

Viewers also liked (7)

PDF
Mobile Banking 2011: Clairmail
DOCX
Bab i ka ijaaaaaaaaaaaaaa
PDF
Taller de autoestima. gestalt branden
PDF
Operating Systems Hardening
PDF
Www.raypcb.com tag-acidicetchingprocess.html
PDF
Nordea Economic Outlook, September 2014
PDF
20110910「facebookで次の一歩」セミナー資料
Mobile Banking 2011: Clairmail
Bab i ka ijaaaaaaaaaaaaaa
Taller de autoestima. gestalt branden
Operating Systems Hardening
Www.raypcb.com tag-acidicetchingprocess.html
Nordea Economic Outlook, September 2014
20110910「facebookで次の一歩」セミナー資料
Ad

Similar to The OMDoc Import/Export of Hets (6)

PPTX
Your data structures are made of maths!
PPTX
Math-Bridge Edit Authoring
PDF
Domain Modeling in a Functional World
PDF
A Mathematical Approach to Ontology Authoring and Documentation
PDF
Algebras for programming languages
PDF
OntoMаthPro Ontology: A Linked Data Hub for Mathematics
Your data structures are made of maths!
Math-Bridge Edit Authoring
Domain Modeling in a Functional World
A Mathematical Approach to Ontology Authoring and Documentation
Algebras for programming languages
OntoMаthPro Ontology: A Linked Data Hub for Mathematics
Ad

Recently uploaded (20)

PDF
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications
PPT
Lecture 3344;;,,(,(((((((((((((((((((((((
PDF
Keppel_Proposed Divestment of M1 Limited
PDF
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
PDF
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
PPTX
operations management : demand supply ch
PDF
Cours de Système d'information about ERP.pdf
PDF
Technical Architecture - Chainsys dataZap
PPTX
Slide gioi thieu VietinBank Quy 2 - 2025
PPTX
Board-Reporting-Package-by-Umbrex-5-23-23.pptx
PDF
ANALYZING THE OPPORTUNITIES OF DIGITAL MARKETING IN BANGLADESH TO PROVIDE AN ...
PPTX
Project Management_ SMART Projects Class.pptx
PDF
How to Get Business Funding for Small Business Fast
PDF
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
PPTX
Principles of Marketing, Industrial, Consumers,
PPT
Lecture notes on Business Research Methods
PPTX
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
PPTX
CTG - Business Update 2Q2025 & 6M2025.pptx
PPTX
Astra-Investor- business Presentation (1).pptx
PDF
Satish NS: Fostering Innovation and Sustainability: Haier India’s Customer-Ce...
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications
Lecture 3344;;,,(,(((((((((((((((((((((((
Keppel_Proposed Divestment of M1 Limited
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
NewBase 12 August 2025 Energy News issue - 1812 by Khaled Al Awadi_compresse...
operations management : demand supply ch
Cours de Système d'information about ERP.pdf
Technical Architecture - Chainsys dataZap
Slide gioi thieu VietinBank Quy 2 - 2025
Board-Reporting-Package-by-Umbrex-5-23-23.pptx
ANALYZING THE OPPORTUNITIES OF DIGITAL MARKETING IN BANGLADESH TO PROVIDE AN ...
Project Management_ SMART Projects Class.pptx
How to Get Business Funding for Small Business Fast
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
Principles of Marketing, Industrial, Consumers,
Lecture notes on Business Research Methods
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
CTG - Business Update 2Q2025 & 6M2025.pptx
Astra-Investor- business Presentation (1).pptx
Satish NS: Fostering Innovation and Sustainability: Haier India’s Customer-Ce...

The OMDoc Import/Export of Hets

  • 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. The Hets System The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  • 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. 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. 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. Development Graph Development Graph of Algebra Library The OMDoc Import/Export of Hets German Research Center Ewaryst Schulz for Artificial Intelligence
  • 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. 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. 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. 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. 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. 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. 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