the omdoc import/export of hets

13
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

Upload: ewaryst-schulz

Post on 05-Aug-2015

719 views

Category:

Business


1 download

TRANSCRIPT

The OMDoc Import/Export of Hets

Ewaryst Schulz

DFKI Bremen, Germanyhttp://www.informatik.uni-bremen.de/~ewaryst

[email protected]

Conferences on Intelligent Computer Mathematics 2010Content Math Training Camp

Paris, France7th July 2010

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

The Hets SystemThe Hets System

OMDoc

Other Systems

OMDoc-based Services

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

The Hets SystemThe Hets System

OMDoc

Other Systems

OMDoc-based Services

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

Hets ResourcesHets Resources

I This Document:http://www.informatik.uni-bremen.de/~ewaryst/CMTC2010.pdf

I Hets:http://www.informatik.uni-bremen.de/agbkb/forschung/

formal_methods/CoFI/hets/

I Hets Library:https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk/

I Hets OMDoc Content Dictionaries:https://svn-agbkb.informatik.uni-bremen.de/Hets-OMDoc/

trunk/ContentDictionaries/

I CASL:http://www.informatik.uni-bremen.de/cofi/wiki/

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

CASL SpecificationCASL Specification

library Basic/Algebra I

spec Monoid =sort Elemops e : Elem;

∗ : Elem × Elem → Elem, assoc, unit e

spec CommutativeMonoid = Monoidthen op ∗ : Elem × Elem → Elem, comm

spec Group = Monoidthen ∀ 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 HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

Development GraphDevelopment Graph

I Development Graph of Algebra Library

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence

OMDoc TranslationOMDoc 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 : // 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

spec Monoid =sort Elemops e : Elem;

∗ : Elem × Elem → Elem, assoc, unit e

spec Commutative =sort Elemop ∗ : Elem × Elem → Elem, comm

spec CommutativeMonoid = Monoid and Commutative

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 PrincipleSame Name Same Thing Principle

spec Monoid =sort Elemops e : Elem;

∗ : Elem × Elem → Elem, assoc, unit e

spec Commutative =sort Elemop ∗ : Elem × Elem → Elem, comm

spec CommutativeMonoid = Monoid and Commutative

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?

I can probably answer them...

The OMDoc Import/Export of HetsEwaryst Schulz

German Research Centerfor Artificial Intelligence