src/Pure/ROOT.ML
author aspinall
Fri Dec 29 16:47:49 2006 +0100 (2006-12-29)
changeset 21930 918fb0fb5c72
parent 21890 3fb9762ba701
child 21941 62dd79056d70
permissions -rw-r--r--
Enable new Proof General code again after SML/NJ compatibility fixes by Florian.
     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 (*if true then some tools will OMIT some proofs*)
    11 val quick_and_dirty = ref false;
    12 
    13 print_depth 10;
    14 
    15 (*fake hiding of private structures*)
    16 structure Hidden = struct end;
    17 
    18 (*basic tools*)
    19 use "General/basics.ML";
    20 use "library.ML";
    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 "sorts.ML";
    29 use "type.ML";
    30 use "context.ML";
    31 use "compress.ML";
    32 
    33 (*inner syntax module*)
    34 cd "Syntax"; use "ROOT.ML"; cd "..";
    35 use "General/ml_syntax.ML";
    36 
    37 (*core of tactical proof system*)
    38 use "envir.ML";
    39 use "logic.ML";
    40 use "type_infer.ML";
    41 use "consts.ML";
    42 use "sign.ML";
    43 use "pattern.ML";
    44 use "unify.ML";
    45 use "net.ML";
    46 use "defs.ML";
    47 use "theory.ML";
    48 use "proofterm.ML";
    49 use "thm.ML";
    50 use "morphism.ML";
    51 use "fact_index.ML";
    52 use "pure_thy.ML";
    53 use "display.ML";
    54 use "drule.ML";
    55 use "variable.ML";
    56 use "tctical.ML";
    57 use "search.ML";
    58 use "tactic.ML";
    59 use "meta_simplifier.ML";
    60 use "conjunction.ML";
    61 use "assumption.ML";
    62 use "goal.ML";
    63 
    64 (*proof term operations*)
    65 use "Proof/reconstruct.ML";
    66 use "Proof/proof_syntax.ML";
    67 use "Proof/proof_rewrite_rules.ML";
    68 use "Proof/proofchecker.ML";
    69 
    70 (*theory auto loader database*)
    71 use "Thy/thy_load.ML";
    72 use "Thy/thy_info.ML";
    73 
    74 (*theory syntax*)
    75 use "Isar/outer_lex.ML";
    76 
    77 (*the Isar system*)
    78 cd "Isar"; use "ROOT.ML"; cd "..";
    79 use "subgoal.ML";
    80 
    81 use "Proof/extraction.ML";
    82 
    83 cd "Tools"; use "ROOT.ML"; cd "..";
    84 
    85 (*configuration for Proof General*)
    86 (* Next line is OLD CODE: in case you have problems, uncomment next line and 
    87    comment out line after. Please report any problems to da@inf.ed.ac.uk.
    88    Plan is to remove old code very soon. *)
    89 (*(use |> setmp proofs 1 |> setmp quick_and_dirty true) "proof_general.ML"; *)
    90 (* Next line is NEW CODE.  Hopefully now working on SMLNJ and Poly/ML. *)
    91 cd "ProofGeneral"; use "ROOT.ML"; cd ".."; 
    92 
    93 use_thy "Pure";
    94 structure Pure = struct val thy = theory "Pure" end;
    95 
    96 Context.add_setup
    97  (Theory.del_modesyntax Syntax.default_mode Syntax.appl_syntax #>
    98   Theory.add_syntax Syntax.applC_syntax);
    99 use_thy "CPure";
   100 structure CPure = struct val thy = theory "CPure" end;
   101 
   102 (*final ML setup*)
   103 use "install_pp.ML";
   104 val use = ThyInfo.use;
   105 val cd = File.cd o Path.explode;
   106 ml_prompts "ML> " "ML# ";
   107 
   108 proofs := 0;