structure sharing in openmath
play

Structure Sharing in OpenMath M ICHAEL K OHLHASE School of Computer - PowerPoint PPT Presentation

Structure Sharing in OpenMath M ICHAEL K OHLHASE School of Computer Science Fachbereich Informatik Carnegie Mellon University Universit at des Saarlandes Pittsburgh, USA Saarbr ucken, Germany http://www.cs.cmu.edu/kohlhase (supported


  1. Structure Sharing in OpenMath M ICHAEL K OHLHASE School of Computer Science Fachbereich Informatik Carnegie Mellon University Universit¨ at des Saarlandes Pittsburgh, USA Saarbr¨ ucken, Germany http://www.cs.cmu.edu/˜kohlhase (supported by the German Research Council under a Heisenberg grant) Carnegie Mellon 1 � :Michael Kohlhase c

  2. Wish: Cross-refening for O PEN M ATH objects • Status: OMDoc just went ahead (licensed by the O PEN M ATH standard) – new attributes id and xref for all O PEN M ATH objects that carry (not OMS, OMV, OMATP ) content – OMel with xref empty, xref points to element with same name – Semantics by copying. (simple transformation to standard O PEN M ATH ) • Advantages: sharing of (sub)-formulae (+space, +maintainance) • Problems: not based on X LINK yet, semantics differs from M ATH M L • Proposal: Extend OMel with (cleaned up version for O PEN M ATH ) – id attribute (for OM xref (sharing), M ATH M L xref (semantics)) – xref attribute (for OM sharing) Carnegie Mellon 2 � :Michael Kohlhase c

  3. Structure Sharing with Directed Acyclic Graphs Tree DAG f f · f f f d f f f f f a a a a a a a a a · 2 d − 1 nodes d nodes Carnegie Mellon 3 � :Michael Kohlhase c

  4. The same in the OpenMath XML encoding <OMOBJ> <OMOBJ> <OMA> <OMA> <OMV n="f"/> <OMV n="f"/> <OMA> <OMA id="t1"> <OMV n="f"/> <OMV n="f"/> <OMA> <OMA id="t11"> <OMV n="f"/> <OMV n="f"/> <OMV n="a"/><OMV n="a"/> <OMV n="a"/><OMV n="a"/> </OMA> </OMA> <OMA> <OMR xlink:href="t11"/> <OMV n="f"/> <OMV n="a"/><OMV n="a"/> </OMA> </OMA> </OMA> <OMA> <OMR xlink:href="t1"/> <OMV n="f"/> <OMA> <OMV n="f"/> <OMV n="a"/><OMV n="a"/> </OMA> <OMA> <OMV n="f"/> <OMV n="a"/><OMV n="a"/> </OMA> </OMA> </OMA> </OMA> </OMA> </OMOBJ> </OMOBJ> Carnegie Mellon 4 � :Michael Kohlhase c

  5. Summary of the Proposal • Idea: Allow structure sharing in the XML encodeing by – straw-man element OMR (represents target of xlink:href attribute) – by id attributes on “fat” OpenMath elements (possible targets) • Pro: O PEN M ATH data model does not change (stays finite trees.) Both encodings encode the O PEN M ATH object application (f, application (f, application (f,a,a), application (f,a,a)), application (f, application (f,a,a), application (f,a,a))) • Problem: Acyclicity Constraint (general DG represent infinite trees) non-local condition to be verified for validity Carnegie Mellon 5 � :Michael Kohlhase c

  6. Acyclicity Condition • Definition: We say that an – element dominates all its children and all elements they dominate. – An OMR element dominates its target, i.e. the element that carries the id attribute pointed to by the xref attribute. • acyclicity constraint: An element may not dominate itself! • Problem: Need to traverse the whole document tree to check. Carnegie Mellon 6 � :Michael Kohlhase c

  7. Fun with Cyclic Graphs • Cyclic data structures can be useful, e.g. <OMOBJ> <OMA id="foo"> <OMS cd="arith1" name="divide"/> <OMI>1</OMI> 1 <OMA> <OMS cd="arith1" name="plus"/> <OMI>1</OMI> 1 <OMR xref="foo"/> 1 + </OMA> 1 1+ </OMA> 1+ ··· </OMOBJ> • and difficult <OMOBJ> <OMOBJ> <OMA id="bar"> <OMA id="baz"> <OMS cd="arith1" name="plus"/> <OMS cd="arith1" name="plus"/> <OMI>1</OMI> <OMI>1</OMI> <OMR xref="baz"/> <OMR xref="bar"/> </OMA> </OMA> </OMOBJ> </OMOBJ> Carnegie Mellon 7 � :Michael Kohlhase c

  8. Changes to the DTD • add the declaration for the OMR element <!ELEMENT OMR EMPTY> <!ATTLIST OMR xlink:href CDATA #REQUIRED xlink:type CDATA #FIXED ’simple’ xlink:show CDATA #FIXED ’embed’> • add attribute list declarations <!ATTLIST OMA id ID #IMPLIED> for the elements OMA , OMBIND , OMATTR , OMI , OMB , OMSTR , OMF but not for elements – OMS , OMV , (to small, no need) – OME , OMBVAR , OMATP , (do not make sense on their own) – OMOBJ ( OMR can only be used inside OMOBJ ) • extend the entity declaration for %omel; , so that it reads <!ENTITY % omel "OMS | OMV | OMI | OMB | OMSTR| OMF | OMA | OMBIND | OME | OMATTR | OMR"> Carnegie Mellon 8 � :Michael Kohlhase c

  9. A Synopsis of the Landscape of possible proposals Proposal DAGs in XML DAG data struct. CDGs Acyclic? yes/need check yes/need check no Reader? reader loops? reader loops? complex reader Pros same data model model � = encoding model � = encoding motivation save XML space allow common DS model complex DS Legacy? slightly extend reader slightly extend DS extend algorithms character conservative innovative radical Carnegie Mellon 9 � :Michael Kohlhase c

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend