Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
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