Abstract
Consequently the package is geared towards parsing, printing and code-generation to the Isabelle API. It is at the moment not sufficiently rich for doing meta theory on Isabelle itself. Extensions in this direction are possible though.
Moreover, the chosen fragment is fairly rudimentary. However it should be easily adapted to one's needs if a package is written on top of it. The supported API contains types, terms, transformation of global context like definitions and data-type declarations as well as infrastructure for Isar-setups.
This theory is drawn from the Featherweight OCL project where it is used to construct a package for object-oriented data-type theories generated from UML class diagrams. The Featherweight OCL, for example, allows for both the direct execution of compiled tactic code by the Isabelle API as well as the generation of ".thy"-files for debugging purposes.
Gained experience from this project shows that the compiled code is sufficiently efficient for practical purposes while being based on a formal model on which properties of the package can be proven such as termination of certain transformations, correctness, etc.
License
Topics
Session Isabelle_Meta_Model
- Antiquote_Setup
- Isabelle_Cartouche_Examples
- Isabelle_Main0
- Isabelle_code_target
- Isabelle_code_runtime
- Isabelle_Main1
- Isabelle_typedecl
- Isabelle_Main2
- Init
- Meta_Pure
- Parser_init
- Parser_Pure
- Meta_SML
- Meta_Isabelle
- Printer_init
- Printer_Pure
- Printer_SML
- Printer_Isabelle
- Toy_Library_Static
- Init_rbt
- Meta_Toy
- Meta_Toy_extended
- Meta_META
- Core_init
- Floor1_infra
- Floor1_access
- Floor1_examp
- Floor2_examp
- Floor1_ctxt
- Core
- Parser_Toy
- Parser_Toy_extended
- Parser_META
- Printer_Toy
- Printer_Toy_extended
- Printer_META
- Printer
- Generator_static
- Generator_dynamic_sequential
- Design_deep
- Toy_Library
- Design_shallow
- Rail
- Design_generated
- Design_generated_generated