src/Pure/ROOT.ML
author wenzelm
Mon Jul 09 23:12:31 2007 +0200 (2007-07-09)
changeset 23670 681ffad36776
parent 23353 3069dade3eb4
child 23696 ff97a943681e
permissions -rw-r--r--
use position.ML after pretty.ML;
     1 (*  Title:      Pure/ROOT.ML
     2     ID:         $Id$
     3 
     4 Pure Isabelle.
     5 *)
     6 
     7 val banner = "Pure Isabelle";
     8 val version = "Isabelle repository version";    (*filled in automatically!*)
     9 
    10 print_depth 10;
    11 
    12 (*basic tools*)
    13 use "General/basics.ML";
    14 use "library.ML";
    15 
    16 (*generic non-sense*)
    17 val quick_and_dirty = ref false;
    18 val print_mode = ref ([]: string list);
    19 fun print_mode_active s = member (op =) (! print_mode) s;
    20 
    21 cd "General"; use "ROOT.ML"; cd "..";
    22 
    23 (*fundamental structures*)
    24 use "name.ML";
    25 use "term.ML";
    26 use "term_subst.ML";
    27 use "General/pretty.ML";
    28 use "General/position.ML";
    29 use "sorts.ML";
    30 use "type.ML";
    31 use "context.ML";
    32 use "context_position.ML";
    33 use "compress.ML";
    34 use "type_infer.ML";
    35 
    36 (*inner syntax module*)
    37 use "Syntax/lexicon.ML";
    38 use "Syntax/ast.ML";
    39 use "Syntax/syn_ext.ML";
    40 use "Syntax/parser.ML";
    41 use "Syntax/type_ext.ML";
    42 use "Syntax/syn_trans.ML";
    43 use "Syntax/mixfix.ML";
    44 use "Syntax/printer.ML";
    45 use "Syntax/syntax.ML";
    46 structure Hidden = struct end;
    47 structure Lexicon = Hidden;
    48 structure Ast = Hidden;
    49 structure SynExt = Hidden;
    50 structure Parser = Hidden;
    51 structure TypeExt = Hidden;
    52 structure SynTrans = Hidden;
    53 structure Mixfix = Hidden;
    54 structure Printer = Hidden;
    55 
    56 use "General/ml_syntax.ML";
    57 
    58 (*core of tactical proof system*)
    59 use "envir.ML";
    60 use "logic.ML";
    61 use "consts.ML";
    62 use "sign.ML";
    63 use "pattern.ML";
    64 use "unify.ML";
    65 use "net.ML";
    66 use "defs.ML";
    67 use "theory.ML";
    68 use "proofterm.ML";
    69 use "thm.ML";
    70 use "more_thm.ML";
    71 use "fact_index.ML";
    72 use "pure_thy.ML";
    73 use "display.ML";
    74 use "drule.ML";
    75 use "conv.ML";
    76 use "morphism.ML";
    77 use "variable.ML";
    78 use "tctical.ML";
    79 use "search.ML";
    80 use "tactic.ML";
    81 use "meta_simplifier.ML";
    82 use "conjunction.ML";
    83 use "assumption.ML";
    84 use "goal.ML";
    85 
    86 (*proof term operations*)
    87 use "Proof/reconstruct.ML";
    88 use "Proof/proof_syntax.ML";
    89 use "Proof/proof_rewrite_rules.ML";
    90 use "Proof/proofchecker.ML";
    91 
    92 (*the main Isar system*)
    93 cd "Isar"; use "ROOT.ML"; cd "..";
    94 use "subgoal.ML";
    95 
    96 use "Proof/extraction.ML";
    97 
    98 cd "Tools"; use "ROOT.ML"; cd "..";
    99 
   100 (*configuration for Proof General*)
   101 cd "ProofGeneral"; use "ROOT.ML"; cd "..";
   102 
   103 use_thy "Pure";
   104 structure Pure = struct val thy = theory "Pure" end;
   105 
   106 Context.add_setup
   107  (Sign.del_modesyntax Syntax.default_mode Syntax.appl_syntax #>
   108   Sign.add_syntax Syntax.applC_syntax);
   109 use_thy "CPure";
   110 structure CPure = struct val thy = theory "CPure" end;
   111 
   112 (*final ML setup*)
   113 use "install_pp.ML";
   114 val use = ThyInfo.use;
   115 val cd = File.cd o Path.explode;
   116 ml_prompts "ML> " "ML# ";
   117 
   118 proofs := 0;