The OMDoc Import/Export of Hets Ewaryst Schulz DFKI Bremen, Germany http://www.informatik.uni-bremen.de/ ~ ewaryst [email protected]Conferences on Intelligent Computer Mathematics 2010 Content Math Training Camp Paris, France 7th July 2010 The OMDoc Import/Export of Hets Ewaryst Schulz German Research Center for Artificial Intelligence
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
<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 : // cds . omdoc . org / 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 ”><t y p e><OMOBJ>
<OMS base=” h t t p : // cds . omdoc . org / 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 base=” h t t p : // cds . omdoc . org / 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 : // cds . omdoc . org / 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=” gn imp 0 ” from=”? Monoid”><open name=”Elem” as=”Elem” />
. . .
</omdoc>The OMDoc Import/Export of HetsEwaryst Schulz
German Research Centerfor Artificial Intelligence
Same Name Same Thing PrincipleSame Name Same Thing Principle
I Elem from Monoid and from Commutative are identified!
The OMDoc Import/Export of HetsEwaryst Schulz
German Research Centerfor Artificial Intelligence
Same Name Same Thing Principlecont.
Same Name Same Thing Principlecont.
I Corresponding OMDoc fragment
<t h e o r y name=” CommutativeMonoid ” meta=” h t t p : // cds . omdoc . org / 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=” gn imp 0 ” from=”? Monoid”>
<open name=”Elem” as=”Elem” />. . .
</ s t r u c t u r e><s t r u c t u r e name=” gn imp 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>
I name in open and conass interpreted in source-context of structure
I as, OMOBJ interpreted in current context
The OMDoc Import/Export of HetsEwaryst Schulz
German Research Centerfor Artificial Intelligence
Subsorts and OverloadingSubsorts and Overloading
spec Int =sorts Nat < Int; Elemops 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 HetsEwaryst Schulz
German Research Centerfor Artificial Intelligence
Subsorts and Overloading cont.Subsorts and Overloading cont.
I Corresponding OMDoc fragment
<t h e o r y name=” I n t ” meta=” h t t p : // cds . omdoc . org / 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 . org /OpenMath”> . . .
<OMA><OMS base=” h t t p : // cds . omdoc . org / 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>
I Encoding of overloaded namesI notation stores the original name
The OMDoc Import/Export of HetsEwaryst Schulz
German Research Centerfor Artificial Intelligence
What else?What else?
If you have further questions such as
I How can I use Hets for my project?
I How can I integrate my logic in Hets?
I Should I use XSLT to translate an OMDoc from logic A to logic B?
I How could I design an OMDoc interface for my tool?