diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/IsabelleHOL/Primitives.thy | 19 | ||||
-rw-r--r-- | backends/IsabelleHOL/ROOT | 6 | ||||
-rw-r--r-- | backends/IsabelleHOL/document/root.tex | 60 |
3 files changed, 85 insertions, 0 deletions
diff --git a/backends/IsabelleHOL/Primitives.thy b/backends/IsabelleHOL/Primitives.thy new file mode 100644 index 00000000..a0cc40bd --- /dev/null +++ b/backends/IsabelleHOL/Primitives.thy @@ -0,0 +1,19 @@ +theory Primitives imports + Main + "HOL-Library.Monad_Syntax" +begin + + +datatype u32 = u32 nat +datatype 'a result = Ok 'a | Err +fun u32_lt :: "u32 \<Rightarrow> u32 \<Rightarrow> bool" where + "u32_lt (u32 a) (u32 b) = (a < b)" + +definition bind :: "'a result \<Rightarrow> ('a \<Rightarrow> 'b result) \<Rightarrow> 'b result" where + "bind m f \<equiv> (case m of Err \<Rightarrow> Err | Ok a \<Rightarrow> f a)" + +adhoc_overloading Monad_Syntax.bind bind + +declare bind_def[simp] + +end
\ No newline at end of file diff --git a/backends/IsabelleHOL/ROOT b/backends/IsabelleHOL/ROOT new file mode 100644 index 00000000..9f8e0820 --- /dev/null +++ b/backends/IsabelleHOL/ROOT @@ -0,0 +1,6 @@ +session Aeneas = "HOL-Library" + + options [document = pdf, document_output = "output"] + theories [document = false] + Primitives + document_files + "root.tex" diff --git a/backends/IsabelleHOL/document/root.tex b/backends/IsabelleHOL/document/root.tex new file mode 100644 index 00000000..63ac8e42 --- /dev/null +++ b/backends/IsabelleHOL/document/root.tex @@ -0,0 +1,60 @@ +\documentclass[11pt,a4paper]{article} +\usepackage[T1]{fontenc} +\usepackage{isabelle,isabellesym} + +% further packages required for unusual symbols (see also +% isabellesym.sty), use only when needed + +%\usepackage{amssymb} + %for \<leadsto>, \<box>, \<diamond>, \<sqsupset>, \<mho>, \<Join>, + %\<lhd>, \<lesssim>, \<greatersim>, \<lessapprox>, \<greaterapprox>, + %\<triangleq>, \<yen>, \<lozenge> + +%\usepackage{eurosym} + %for \<euro> + +%\usepackage[only,bigsqcap,bigparallel,fatsemi,interleave,sslash]{stmaryrd} + %for \<Sqinter>, \<Parallel>, \<Zsemi>, \<Parallel>, \<sslash> + +%\usepackage{eufrak} + %for \<AA> ... \<ZZ>, \<aa> ... \<zz> (also included in amssymb) + +%\usepackage{textcomp} + %for \<onequarter>, \<onehalf>, \<threequarters>, \<degree>, \<cent>, + %\<currency> + +% this should be the last package used +\usepackage{pdfsetup} + +% urls in roman style, theory text in math-similar italics +\urlstyle{rm} +\isabellestyle{it} + +% for uniform font size +%\renewcommand{\isastyle}{\isastyleminor} + + +\begin{document} + +\title{IsabelleHOL} +\author{stuebinm} +\maketitle + +\tableofcontents + +% sane default for proof documents +\parindent 0pt\parskip 0.5ex + +% generated text of all theories +\input{session} + +% optional bibliography +%\bibliographystyle{abbrv} +%\bibliography{root} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: |