Isabelle/DOF is a novel Document Ontology Framework on top of Isabelle. Isabelle/DOF allows for both conventional typesetting as well as formal development.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Burkhart Wolff d7b625ae04 little debug. 1 dag sedan
.ci Updated Isabelle base image. 1 månad sedan
examples Raised requirement of Tex Live to TeX Live 2021 (expected release date: 4th of April 2021). 1 månad sedan
src little debug. 1 dag sedan
.config Update after Isabelle/DOF 1.1.0/Isabelle2021 release. 1 månad sedan
.gitattributes Avoid line ending conversions for shell scripts, 2 år sedan
.gitignore New command "reflect_ML_exports" for loading ML exported code into Isabelle's ML environment using the Isabelle's virtual file system. 1 år sedan Added v.1.1.0. 1 månad sedan
CITATION Updated bibliographic information. 2 år sedan
LICENSE Applied renaming: Paris-Sud to Paris-Saclay. 1 år sedan Updated TeX Live dependency to version 2021. 3 veckor sedan
ROOTS Large directory restructuring. 1 år sedan
install Removed check for \expanded{}: Isabelle 2021 defaults to luatex as TeX-engine, which has \expanded{} since a very long time. 1 månad sedan

Isabelle/DOF: Document Preparation Setup

Isabelle/DOF is a novel Document Ontology Framework on top of Isabelle. Isabelle/DOF allows for both conventional typesetting as well as formal development. The manual for Isabelle/DOF 1.1.0/Isabelle2021 is available online.

Running Isabelle/DOF using Docker

As an alternative to installing Isabelle/DOF locally, the latest official release Isabelle/DOF is also available on Docker Hub. Thus, if you have Docker installed and your installation of Docker supports X11 application, you can start Isabelle/DOF as follows:

foo@bar:~$ docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \ 
           logicalhacking/isabelle_dof-1.1.0_isabelle2021 isabelle jedit


Isabelle/DOF has two major pre-requisites:

  • Isabelle: Isabelle/DOF requires Isabelle 2021. Please download the Isabelle 2021 distribution for your operating system from the Isabelle website.
  • LaTeX: Isabelle/DOF requires a modern LaTeX installation, i.e., at least TeX Live 2021 with all available updates applied.


In most case, the DOF-plugin can be installed as follows:

foo@bar:~$ ./install

If a specific Isabelle version should be used (i.e., not the default one), the full path to the isabelle command needs to be passed as using the --isabelle command line argument of the install script:

foo@bar:~$ ./install --isabelle /usr/local/Isabelle2021/bin/isabelle

For further command line options of the installer, please use the built-in help:

foo@bar:~$ ./install --help

A final step for the installation is:

foo@bar:~$ isabelle build -D .

This will compile Isabelle/DOF and run the example suite.


Opening an Example

If you want to work with or extend one of the examples, e.g., you can open it similar to any standard Isabelle theory:

isabelle jedit -d . -l Isabelle_DOF examples/scholarly_paper/2018_cicm/IsaDofApplications.thy

This will open an example of a scientific paper using the pre-compiled session Isabelle_DOF, i.e., you will not be able to edit the ontology definitions. If you want to edit the ontology definition, just open the theory file with the default HOL session:

isabelle jedit -d . -l HOL examples/scholarly_paper/2018_cicm/IsaDofApplications.thy

While this gives you more flexibility, it might “clutter” your editing experience, as a lot of internal theories are loaded into Isabelle’s editor.

Creating a New Project

The DOF-plugin provides an alternative to Isabelle’s mkroot command. Isabelle projects that use DOF need to be created using

foo@bar:~$ isabelle mkroot_DOF

The mkroot_DOF command takes the same parameter as the standard mkroot command of Isabelle. Thereafter, the normal Isabelle command for building documents can be used.

Using the -o option, different ontology setups can be selected and using the -t option, different LaTeX setups can be selected. For example,

foo@bar:~$ isabelle mkroot_DOF -o scholarly_paper -t scrartcl

creates a setup using the scholarly_paper ontology and the article class from the KOMA-Script bundle.

The help (option -h) show a list of all supported ontologies and document templates:

foo@bar:~$ isabelle mkroot_DOF -h

Usage: isabelle mkroot_DOF [OPTIONS] [DIR]

  Options are:
    -h           print this help text and exit
    -n NAME      alternative session name (default: DIR base name)
    -o ONTOLOGY  (default: scholarly_paper)
       Available ontologies:
       * cenelec_50128
       * mathex
       * scholarly_paper
    -t TEMPLATE   (default: scrartcl)
       Available document templates:
       * lncs
       * scrartcl
       * scrreprt
       * scrreprt-modern

  Prepare session root DIR (default: current directory).


For releases, signed archives including a PDF version of the Isabelle/DOF manual are are available:


Main contacts:


  • Idir Ait-Sadoune
  • Paolo Crisafulli
  • Chantal Keller
  • Nicolas Méric


This project is licensed under a 2-clause BSD license.

SPDX-License-Identifier: BSD-2-Clause


Master Repository

The master git repository for this project is hosted