From 04f0cc7f5c9626892819d243880fc5ab804ff731 Mon Sep 17 00:00:00 2001 From: Burkhart Wolff Date: Wed, 30 Dec 2020 12:47:54 +0100 Subject: [PATCH] Reorganization: Pushed Macro Core Mechanism into the DOF Core; adapted the RefMan accordingly. --- .../Isabelle_DOF-Manual/03_GuidedTour.thy | 1 + .../Isabelle_DOF-Manual/04_RefMan.thy | 76 ++++- src/DOF/Isa_COL.thy | 211 +------------- src/DOF/Isa_DOF.thy | 264 ++++++++++++++---- 4 files changed, 289 insertions(+), 263 deletions(-) diff --git a/examples/technical_report/Isabelle_DOF-Manual/03_GuidedTour.thy b/examples/technical_report/Isabelle_DOF-Manual/03_GuidedTour.thy index 050d219..79bae4a 100755 --- a/examples/technical_report/Isabelle_DOF-Manual/03_GuidedTour.thy +++ b/examples/technical_report/Isabelle_DOF-Manual/03_GuidedTour.thy @@ -445,6 +445,7 @@ doc_class "theorem" = math_content + mcc :: "math_content_class" <= "thm" ... \}\ + text\The class \<^verbatim>\technical\ regroups a number of text-elements that contain typical "technical content" in mathematical or engineering papers: code, definitions, theorems, lemmas, examples. From this class, the more stricter class of @{typ \math_content\} is derived, diff --git a/examples/technical_report/Isabelle_DOF-Manual/04_RefMan.thy b/examples/technical_report/Isabelle_DOF-Manual/04_RefMan.thy index eada145..ccb5ab8 100755 --- a/examples/technical_report/Isabelle_DOF-Manual/04_RefMan.thy +++ b/examples/technical_report/Isabelle_DOF-Manual/04_RefMan.thy @@ -18,35 +18,79 @@ theory "03_GuidedTour" "Isabelle_DOF.Isa_COL" begin + +declare_reference*[infrastructure::technical] + (*>*) -chapter*[isadof_ontologies::technical]\Developing Ontologies\ +chapter*[isadof_ontologies::technical]\Ontologies and their Development\ text\ - In this chapter, we explain the concepts for modeling new ontologies, developing a document + In this chapter, we explain the concepts of \<^isadof> in a more systematic way, and give + guidelines for modeling new ontologies, the concepts developing a document representation for them, as well as developing new document templates. -\ -section*[infrastructure::technical]\Overview and Technical Infrastructure\ -text\ \<^isadof> is embedded in the underlying generic document model of Isabelle as described in \<^introduction>\dof\. Recall that the document language can be extended dynamically, \<^ie>, new \user-defined\ can be introduced at run-time. This is similar to the definition of new functions in an interpreter. \<^isadof> as a system plugin is is a number of new command definitions in Isabelle's document model. - \<^isadof> consists consists basically of four components: - \<^item> an own \<^emph>\family of text-elements\ such as \<^boxed_theory_text>\title*\, \<^boxed_theory_text>\chapter*\ - \<^boxed_theory_text>\text*\, etc., which can be annotated with meta-information defined in the - underlying ontology definition and allow to build a \<^emph>\core\ document, - \<^item> the \<^emph>\ontology definition language\ (called ODL) which allow for the definitions - of document-classes and necessary auxiliary datatypes, + \<^isadof> consists consists basically of five components: + \<^item> the \<^emph>\DOF-core\, which provides an own \<^emph>\family of commands\ such as + \<^boxed_theory_text>\text*\, \<^boxed_theory_text>\declare_reference*\, + \<^boxed_theory_text>\update_instance*\, \<^boxed_theory_text>\open_monitor*\, etc. + They allow to annotate text-elements with meta-information defined in an + underlying ontology, + \<^item> the \<^emph>\DOF-core\ also provides the \<^emph>\ontology definition language\ (called ODL) + which allow for the definitions of document-classes and necessary auxiliary datatypes, + \<^item> the \<^isadof> library of ontologies providing ontological concepts as well + as supporting infrastructure, \<^item> an infrastructure for ontology-specific \<^emph>\layout definitions\, exploiting this meta-information, and \<^item> an infrastructure for generic \<^emph>\layout definitions\ for documents following, \<^eg>, the format guidelines of publishers or standardization bodies. + + Similarly to Isabelle, which is based on a core logic \<^theory>\Pure\ and then extended by libraries + to major systems like \<^verbatim>\HOL\ or \<^verbatim>\FOL\, \<^isadof> has a generic core infrastructure \<^dof> and then + presents itself to users via major library extensions, which add domain-specific + system-extensions. Consequently, ontologies in \<^isadof> are not just a sequence of descriptions in + \<^isadof>'s Ontology Definition Language (ODL). Rather, they are integrated documents themselves that + provide textual decriptions, abbreviations, macro-support and even ML-code. + Conceptually, the library of \<^isadof> is currently organized as follows + \<^footnote>\Note that the \<^emph>\technical\ organisation is slightly different and shown in + @{technical (unchecked) \infrastructure\}.\: +% +\begin{center} +\begin{minipage}{.9\textwidth} +\dirtree{% +.1 COL\DTcomment{The Common Ontology Library}. +.2 scholarly\_paper\DTcomment{Scientific Papers}. +.3 technical\_report\DTcomment{Extended Papers}. +.4 CENELEC\_50128\DTcomment{Papers according to CENELEC\_50128}. +.4 CC\_v3\_1\_R5\DTcomment{Papers according to Common Criteria}. +.4 \ldots. +} +\end{minipage} +\end{center} + +These libraries not only provide ontological concepts, but also syntactic sugar in Isabelle's +command language Isar that is of major importance for users (and may be felt as \<^isadof> key +features by many authors). In reality, +they are derived concepts from more generic ones; for example, the commands +\<^boxed_theory_text>\title*\, \<^boxed_theory_text>\section*\, \<^boxed_theory_text>\subsection*\, \<^etc>, +are in reality a kind of macros for \<^boxed_theory_text>\text*[