ProgTutorial/Base.thy
author Norbert Schirmer <norbert.schirmer@web.de>
Fri, 17 May 2019 11:21:09 +0200
changeset 571 95b42288294e
parent 567 f7c97e64cc2a
child 572 438703674711
permissions -rw-r--r--
reactivated Readme.thy for authors

theory Base
imports Main 
        "~~/src/HOL/Library/LaTeXsugar"
begin

print_ML_antiquotations

text \<open>
Why is Base not printed?
@{cite "isa-imp"}
\<close>
notation (latex output)
  Cons ("_ # _" [66,65] 65)

ML %linenosgrayML\<open>fun P n = @{term "P::nat \<Rightarrow> bool"} $ (HOLogic.mk_number @{typ "nat"} n) 

fun rhs 1 = P 1
  | rhs n = HOLogic.mk_conj (P n, rhs (n - 1))

fun lhs 1 n = HOLogic.mk_imp (HOLogic.mk_eq (P 1, P n), rhs n)
  | lhs m n = HOLogic.mk_conj (HOLogic.mk_imp 
                 (HOLogic.mk_eq (P (m - 1), P m), rhs n), lhs (m - 1) n)

fun de_bruijn n =
  HOLogic.mk_Trueprop (HOLogic.mk_imp (lhs n n, rhs n))\<close>

ML_file "output_tutorial.ML"
ML_file "antiquote_setup.ML"


(*setup {* OutputTutorial.setup *}*) (* Seems to be standard now, we don't need this anymoe *)
setup \<open>AntiquoteSetup.setup\<close>

print_ML_antiquotations

end