Isabelle_DOF/src/document-templates/root-2022-phd-poster.tex

611 lines
19 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\RequirePackage{ifvtex}
\documentclass[25pt, a0paper, portrait]{tikzposter}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\bibliographystyle{abbrvnat}
\usepackage[english]{babel}
\RequirePackage[caption]{subfig}
\usepackage{isabelle}
\usepackage{isabellesym}
\IfFileExists{DOF-core.sty}{}{%
\PackageError{DOF-core}{Isabelle/DOF not installed.
This is a Isabelle_DOF project. The document preparation requires
the Isabelle_DOF component from:
<isadofurl>
}{For further help, see <isadofurl>}
}
\input{ontologies}
\IfFileExists{preamble.tex}{\input{preamble.tex}}{}%
\usepackage{amsmath}
\usepackage{DOF-amssymb}
\usepackage[numbers, sort&compress, sectionbib]{natbib}
\usepackage{graphicx}
\usepackage{hyperref}
\setcounter{tocdepth}{3}
\hypersetup{%
bookmarksdepth=3
,pdfpagelabels
,pageanchor=true
,bookmarksnumbered
,plainpages=false
} % more detailed digital TOC (aka bookmarks)
\sloppy
\allowdisplaybreaks[4]
\urlstyle{rm}
\isabellestyle{it}
\newenvironment{frontmatter}{}{}
\title{%
\parbox{\linewidth}{%
\centering Isabelle/DOF:\\
A Framework for Proving Ontology-Relations
and Runtime Testing Ontology Instances%
}}
\author{Idir Ait-Sadoune, Nicolas Méric and Burkhart Wolff}
\date{\today}
\institute{Université Paris-Saclay, LMF, France}
\usepackage{blindtext}
\usepackage{comment}
\usepackage{amsmath}
% Process bibliography using biber engine.
%\usepackage[
% biber, the default backend of biblatex, supports Ascii,
% 8-bit encodings, utf-8, on-the-fly reencoding, locale-specific sorting,
% and many other features.
% Locale-specific sorting, case-sensitive sorting,
% and upper/lowercase precedence are controlled by the options
% sortlocale, sortcase, and sortupper, respectively.
% See biblatex documentation file biblatex.pdf,
% 3.12, 2018/10/30, section 3.1.1, page 45.
% backend=biber,
% Whether or not to print back references in the bibliography.
% The back references are a list of page numbers indicating the pages
% on which the respective bibliography entry is cited.
% If there are refsection environments in the document,
% the back references are local to the reference sections.
% Strictly speaking, this option only controls
% whether the biblatex package collects the data required
% to print such references.
% This feature still has to be supported by the selected bibliography style.
% All standard styles which come with this package do so.
% See biblatex documentation file biblatex.pdf,
% 3.12, 2018/10/30, section 3.1.2.1, page 50.
% backref=true,
% Loads the citation style <file>.cbx.
% See § 3.3.1 for an overview of the standard citation styles.
% See biblatex documentation file biblatex.pdf,
% 3.12, 2018/10/30, section 3.1.1, page 45.
% citestyle=alphabetic,
% Loads the bibliography style <file>.bbx.
% See § 3.3.2 for an overview of the standard bibliography styles.
% See biblatex documentation file biblatex.pdf,
% 3.12, 2018/10/30, section 3.1.1, page 45.
% bibstyle=alphabetic,
%]{biblatex}
\usetheme{Simple}
% Add bibliography using biblatex macro.
%
% Adds a <resource>, such as a .bib file, to the default resource list.
% This command is only available in the preamble.
% It replaces the \bibliography legacy command.
% Note that files must be specified with their full name,
% including the extension.
% Do not omit the .bib extension from the filename.
% Also note that the <resource> is a single resource.
% If the resources contain duplicate entries (that is, duplicate entrykeys),
% it is backend dependent what then happens.
% For example, by default biber will ignore
% further occurrence of entrykeys unless its --noskipduplicates options is
% used.
% Invoke \addbibresource multiple times to add more resources.
% See biblatex documentation file biblatex.pdf,
% 3.12, 2018/10/30, section 3.7.1, page 81-82.
%\addbibresource{bibliography.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\HyperFirstAtBeginDocument#1{#1}
\begin{document}
\begin{frontmatter}
\maketitle
% \tableofcontents
\end{frontmatter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{columns}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\column{0.33}
% \block{Overview}{
% \begin{itemize}
% \item
% Why (Document) Ontologies
% \item
% Ontologies and Formal Theories
% \item
% DOF Design
% \item
% Isabelle/DOF Implementation
% \item
% Some Application Scenarios
% \end{itemize}
% TODO: Add figure
% PUBLIC RELEASE:
% http/10.5281/zenodo.3370483
% }
\block{Linking the Formal and the Informal: Why Ontologies?}{
% \begin{itemize}
% \item
% More powerful ITP systems
% \(\Longrightarrow\) body of formalised mathematics and engineering
% \item
The Isabelle Archive Formal of Proof as example :
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/afp_growth_in_number_of_articles.png}
\end{tikzfigure}
In 2022, the count stood at 661
articles, 420 authors and 3.3 M loc !
% \item
}
Problem of logical consistency technically solved via continuous proof-checking
Problem of knowledge retrieval and of linking semi-formal explanations to
definitions and proofs still largely open.
The central role in technologies adressing the \emph{knowledge} problem
is played by \emph{document ontologies}, i.e., a machine-readable form
of meta-data attached to document-elements as well as their document discourse.
In order
to make these techniques applicable to \emph{formal theory development},
the following is needed:
\begin{itemize}
\item
a general mechanism to define and develop \emph{domain-specific} ontologies,
\item
... that should be adapted to entities occurring in formal theories,
i.e., provide built-in support for types, terms, theorems, proofs, etc.,
\item
ways to annotate meta-data generated by ontologies to the document elements,
as ``deep'' as possible, together with strong validation checks,
\item
a smooth integration into the theory document development process, and
\item
ways to relate ontologies and ontology-conform documents along different
ontologies by \emph{ontological mappings} and \emph{data translations}
\footnote{We follow throughout this text the terminology established in
\cite{books/daglib/0032976}, pp. 39 ff.}
\end{itemize}
% Rising need for:
% % \begin{itemize}
% % \item
% structuring and consistency,
% % \item
% advanced “semantic” search,
% % \item
% tool-interaction.
% % \end{itemize}
% % \end{itemize}
% % \begin{itemize}
% % \item
% This requires more structured and typed meta-information
% % for our application domain
% in theory developments
% % \item
% and a better dependency-control of the different document elements,
% like
% % \begin{itemize}
% % \item
% types, terms, theorems
% % \item
% code % (proof-terms, proof generating programs, SML, LaTeX etc, but also Scala and C! )
% % \item
% text and diagrams %(and perhaps animations, see Jupyter Notebooks https://jupyter.org/ )
% % \item
% … and the links between them, requiring notions of
% consistency and coherence for collaborative development
% % \end{itemize}
% % \item
% The language in which such meta-information can be specified
% is called a \emph{document ontology} %(or \emph{vocabulary})
% % \end{itemize}
}
% \block{Linking the Formal and the Informal\\ - Existing Approaches -}{
% \begin{itemize}
% \item
% Code Antiquotations as in LISP, MetaML, SML, …
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/code_antiquotations.png}
% \end{tikzfigure}
% \item
% Document pragmas as in JavaDoc, Doxygen, et al
% TODO: Add figure
% \item
% Compilation process allows for document generation and some consistency checks
% \(\Longrightarrow\) batch mode consistency only.
% \item
% The Isabelle Approach to “Text-Antiquotations”
% (heavily used to assure \emph{coherence} and
% \emph{traceability} in the technical documentations and papers)
% \item
% Definitions and proofs can be mixed with text elements
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/text_element.png}
% \end{tikzfigure}
% \item
% Text Elements may contain Antiquotations to Formal Content
% in the Logical Context, which are checked and animated in the IDE:
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/text_element_with_formal_content.png}
% \end{tikzfigure}
% \item
% The global doc-generation process yields a presentation in, e.g., .pdf :
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/output.png}
% \end{tikzfigure}
% \item
% Similarly, Isabelle Code uses heavily “SML-Antiquotations”
% \item
% SML System Code can be mixed with antiquotations producing
% SML level representation of types and terms:
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/sml_code_with_antiquotations.png}
% \end{tikzfigure}
% \end{itemize}
% }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \column{0.33}
% \block{Isabelle's Document-Centric View on Formal Development}{
% \begin{itemize}
% \item
% Primary document type: “XXX.thy”
% \begin{tikzfigure}
% \includegraphics[width=0.4\linewidth]{%
% figures/theories_hierarchy.png}
% \end{tikzfigure}
% \begin{itemize}
% \item
% Acyclic Graph of units that consist of
% a sequence of \emph{document elements}
% called “commands”
% \item
% commands user-programmable in SML
% \item
% Support of Cascade Syntax:
% @{SML … @{type …. } … }
% \item
% Commands are semantically transformers
% of the logical context : \(\Theta \Rightarrow \Theta\)
% \item
% anti-quotations are “semantic macros” and as such partial) functions:
% \(\Theta \Rightarrow \text{text}\)
% \(\Theta \Rightarrow \text{sml}\)
% \(\Theta \Rightarrow \text{term}\)
% \item
% pervasive continuous build/check of Isabelle/PIDE supports anti-quotations.
% \end{itemize}
% \end{itemize}
% }
\block{Isabelle/DOF}{
\begin{itemize}
\item
DOF : The Document Ontology Framework
has been designed as an Isabelle component that attempts to answer these needs.
\item
Prior Versions of Isabelle/DOF support semantic annotations of text and code-contexts:
\(
text*[label::classid, attr1 =E1 , ... attrn =En ]⟨ some semi-formal text ⟩
\)
\(
ML*[label::classid, attr1 =E1 , ... attrn =En ] ⟨ some SML code ⟩
\)
TODO: Add figure
\item
Novelty in Isabelle/DOF: support of \(\lambda\)-term-contexts, e.g.:
\(value*[label::classid, attr1 =E1 , ... attrn =En ]⟨ some annotated \lambda-term ⟩\)
TODO: Add figure
formal, machine-checked invariants on meta-data, which correspond to the concept of
``rules'' in OWL~ \cite{OWL2014} or ``constraints'' in UML, and which can be specified in
common Isabelle/HOL \(\lambda\)-term syntax.
\end{itemize}
% \innerblock{Isabelle/DOF}{
% AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
% }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\column{0.33}
\block{Isabelle/DOF Core : ODL}{
\begin{itemize}
\item
The Ontology Definition Language (ODL):
The Mechanism to \emph{define} Ontologies
\item
Features:
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/odl.png}
\end{tikzfigure}
\begin{itemize}
\item
classes (for the “concepts”)
\item
classes may have attributes
with HOL type
\item
class declarations can be
interleaved with arbitrary HOL
declarations
\item
attributes of class-instances
are mutable; (default) values
can be denoted by HOL-terms
\item
class declarations induce a HOL-type;
this allows to establish “ontological links”
\end{itemize}
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/dof_classes.png}
\end{tikzfigure}
\begin{itemize}
\item
classes have single inheritance
(is a - relation)
\item
attribute overriding of attributes is possible
\item
meta-level types of the ITP were included as abstract HOL types;
their inhabitance is checked
in the global context \(\theta\)
\end{itemize}
\end{itemize}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \column{0.33}
\block{DOF Example Document}{
\begin{itemize}
\item
Defining the Ontological Context
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/ontological_context.png}
\end{tikzfigure}
\item
And there we go:
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/dof_document.png}
\end{tikzfigure}
\item
… where title* and
abstract* are macros
for text*[a::title,…],
etc…
\item
… and the meta-data
instances are a, abs,
intro, T1, attached to
these doc elements …
\end{itemize}
}
\block{Isabelle/DOF Core : Class Invariants}{
\begin{itemize}
\item
ODL used already \(\lambda\)-(ground)-terms to denote values for attributes.
\item
New: ODL uses arbitrary \(\lambda\)-terms containing generated
\emph{term-antiquotations in invariants},
attribute definitions and commands like value*
\item
Eg.: Invariants for
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/classes_with_invariant.png}
\end{tikzfigure}
TODO: FIGURE MUST BU UPDATED!!! See original example
\begin{itemize}
\item
data-integrity constraints
\item
… using “built-in” term antiquotations for “term”, “typ”, “thm”
\item
may use DOF-generated term-antiquotations
like @{result <some result instance>}
or @{introduction intro} or @{instance-of result}, etc.
\item
“a result text element must provide evidence
in form of a proven theorem …”
\end{itemize}
\end{itemize}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\column{0.33}
\block{Consequences}{
\begin{itemize}
\item
If an ODL ontology generates “intra-logical” representations,
whats the benefit ?
\begin{itemize}
\item
We don't have to learn a new (meta)-language
\item
We can define new operations on them inside
the logic and develop their theory …
\item
… to develop a query language, for example:
\(
value*⟨ filter (is_interesting) @\{instances-of "result"\}
\)
\item
We can relate ontologies and ontology instances
by formal proof (ontology alignment, ontology mapping)
\end{itemize}
\end{itemize}
}
\block{Consequences: Example Proof of an Ontology Mapping}{
\begin{itemize}
\item
A “Generic Reference Ontology” vs. a “local Ontology”
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/reference_ontology.png}
\end{tikzfigure}
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/local_ontology.png}
\end{tikzfigure}
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/morphism.png}
\end{tikzfigure}
\item
“The mapping is correct (preserves the invariants)”
\begin{tikzfigure}
\includegraphics[width=0.4\linewidth]{%
figures/invariant_preserved.png}
\end{tikzfigure}
\end{itemize}
}
\block{But what “are” ontology-generated term antiquotations ???}{
\begin{itemize}
\item
First of all: how are they processed:
\begin{itemize}
\item parsing
\item type checking
\item validation (an argument is indeed a valid reference in the context)
\item expansion (replacement of a reference against logical terms)
\item evaluation (to SML code, or by nbe)
\end{itemize}
\item
Then “built-in” term-anti quotations can be:
\begin{itemize}
\item
just uninterpreted constants (without expansion)
TODO: Add figure
\item
a shallow data-type representation (without expansion)
TODO: Add figure
\item
or a “deep” data-type representation into an Isabelle
Meta-Model such as [Nipkow,Rosskopf 21] (with expansion)
TODO: Add figure
\end{itemize}
\end{itemize}
}
\block{Conclusion}{
\begin{itemize}
\item
DOF provides a framework
\begin{itemize}
\item
for defining ontologies in the context of ITP systems
\item
its typed ! It has a logical interpretation !
\item
provides a generated infrastructure for meta-data of
types, terms, thms and text and code elements
\end{itemize}
\item
DOF provides a framework to enforce on-the-fly
ontology-conform documentation checking
\item
DOF provides infrastructure for proofs over the
logical representation of ontologies and meta-data …
\item
Ontologies generating meta-data can be used
for other forms of Tool Interaction via “deep
interpretations” into a meta-model
\item
(P)IDE's are more than just a technical asset
\item
… it is a corner-stone for a revolution
\begin{itemize}
\item
1970ies TEXT
\item
1990ies HYPERTEXT
\item
2010ies REACTIVE DOCUMENTS
\item
2020ies SEMANTIC DOCUMENTS (???)
\end{itemize}
\end{itemize}
}
\end{columns}
\input{session}
\block{References}{
% optional bibliography
\IfFileExists{root.bib}{{\bibliography{root}}}{}
\end{document}
%\printbibliography
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{columns}
% \column{0.4}
% \block{More text}{Text and more text}
% \column{0.6}
% \block{Something else}{Here, \blindtext \vspace{4cm}}
% \note[
% targetoffsetx=-9cm,
% targetoffsety=-6.5cm,
% width=0.5\linewidth
% ]
% {e-mail \texttt{welcome@overleaf.com}}
% \end{columns}
% \begin{columns}
% \column{0.5}
% \block{A figure}
% {
% \begin{tikzfigure}
% % \includegraphics[width=0.4\textwidth]{images/overleaf-logo}
% \end{tikzfigure}
% }
% \column{0.5}
% \block{Description of the figure}{\blindtext}
% \end{columns}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}