# HG changeset patch # User blanchet # Date 1390238696 -3600 # Node ID 9b96fb4c8cfd68d5efe7230eaa20fc49058ccb7a # Parent 8488fdc4ddc0062c5fe3cb94222c3f8f5e9b11a3 reduced dependencies + updated docs diff -r 8488fdc4ddc0 -r 9b96fb4c8cfd src/Doc/Datatypes/Datatypes.thy --- a/src/Doc/Datatypes/Datatypes.thy Mon Jan 20 18:24:56 2014 +0100 +++ b/src/Doc/Datatypes/Datatypes.thy Mon Jan 20 18:24:56 2014 +0100 @@ -8,7 +8,11 @@ *) theory Datatypes -imports Setup "~~/src/HOL/Library/Simps_Case_Conv" +imports + Setup + "~~/src/HOL/BNF/BNF_Decl" + "~~/src/HOL/BNF/More_BNFs" + "~~/src/HOL/Library/Simps_Case_Conv" begin section {* Introduction @@ -74,20 +78,10 @@ finitely many direct subtrees, whereas those of the second and fourth may have infinite branching. -To use the package, it is necessary to import the @{theory BNF} theory, which -can be precompiled into the \texttt{HOL-BNF} image. The following commands show -how to launch jEdit/PIDE with the image loaded and how to build the image -without launching jEdit: -*} - -text {* -\noindent -\ \ \ \ \texttt{isabelle jedit -l HOL-BNF} \\ -\noindent -\hbox{}\ \ \ \ \texttt{isabelle build -b HOL-BNF} -*} - -text {* +The package is part of @{theory Main}. Additional functionality is provided by +the theories @{theory BNF_Decl} and @{theory More_BNFs}, located in the +@{text "~~/src/HOL/BNF"} directory. + The package, like its predecessor, fully adheres to the LCF philosophy \cite{mgordon79}: The characteristic theorems associated with the specified (co)datatypes are derived rather than introduced axiomatically.% @@ -2512,7 +2506,7 @@ Tobias Nipkow and Makarius Wenzel encouraged us to implement the new (co)datatype package. Andreas Lochbihler provided lots of comments on earlier versions of the package, especially for the coinductive part. Brian Huffman -suggested major simplifications to the internal constructions, much of which has +suggested major simplifications to the internal constructions, many of which has yet to be implemented. Florian Haftmann and Christian Urban provided general advice on Isabelle and package writing. Stefan Milius and Lutz Schr\"oder found an elegant proof to eliminate one of the BNF assumptions. Andreas diff -r 8488fdc4ddc0 -r 9b96fb4c8cfd src/Doc/Datatypes/Setup.thy --- a/src/Doc/Datatypes/Setup.thy Mon Jan 20 18:24:56 2014 +0100 +++ b/src/Doc/Datatypes/Setup.thy Mon Jan 20 18:24:56 2014 +0100 @@ -1,5 +1,5 @@ theory Setup -imports BNF +imports Main begin ML_file "../antiquote_setup.ML" diff -r 8488fdc4ddc0 -r 9b96fb4c8cfd src/Doc/ROOT --- a/src/Doc/ROOT Mon Jan 20 18:24:56 2014 +0100 +++ b/src/Doc/ROOT Mon Jan 20 18:24:56 2014 +0100 @@ -37,7 +37,7 @@ "document/root.tex" "document/style.sty" -session Datatypes (doc) in "Datatypes" = "HOL-BNF" + +session Datatypes (doc) in "Datatypes" = HOL + options [document_variants = "datatypes"] theories [document = false] Setup theories Datatypes diff -r 8488fdc4ddc0 -r 9b96fb4c8cfd src/HOL/BNF/README.html --- a/src/HOL/BNF/README.html Mon Jan 20 18:24:56 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ - - - - -
- --The BNF package provides a fully modular framework for constructing -inductive and coinductive datatypes in HOL, with support for mixed mutual and -nested (co)recursion. Mixed (co)recursion enables type definitions involving -both datatypes and codatatypes, such as the type of finitely branching trees of -possibly infinite depth. The framework draws heavily from category theory. - -
-The package is described in isabelle doc datatypes and in the following -paper: - -
-Most of the package is loaded as part of Main.thy. Additional -functionality is provided by BNF.thy. The Examples directory -contains various examples of (co)datatypes, including the examples from the -paper. - -
-The key notion underlying the package is that of a bounded natural functor -(BNF)—an enriched type constructor satisfying specific properties -preserved by interesting categorical operations (composition, least fixed point, -and greatest fixed point). The Basic_BNFs.thy, More_BNFs.thy, -and Countable_Set_Type.thy files register various basic types, notably -for sums, products, function spaces, finite sets, multisets, and countable sets. -Custom BNFs can be registered as well. - - - -