src/Pure/ROOT.ML
author chaieb
Sun, 08 Jul 2007 19:01:32 +0200
changeset 23650 0a6a719d24d5
parent 23353 3069dade3eb4
child 23670 681ffad36776
permissions -rw-r--r--
Show the use of reflection attribute; fixed comments about the order of absorbing equations : f (C x) = x ; now automaically tried as last;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
929ad32d63fc Pure/ROOT.ML
wenzelm
parents: 2
diff changeset
     1
(*  Title:      Pure/ROOT.ML
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
    ID:         $Id$
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     3
16842
wenzelm
parents: 16781
diff changeset
     4
Pure Isabelle.
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
*)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
val banner = "Pure Isabelle";
11835
13d12b99b843 revert to proper version (!);
wenzelm
parents: 11759
diff changeset
     8
val version = "Isabelle repository version";    (*filled in automatically!*)
13d12b99b843 revert to proper version (!);
wenzelm
parents: 11759
diff changeset
     9
12248
f059876ef1d3 print_depth 10;
wenzelm
parents: 11966
diff changeset
    10
print_depth 10;
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    11
5017
786a17461ab9 moved table.ML, object.ML, seq.ML, name_space.ML to General;
wenzelm
parents: 5004
diff changeset
    12
(*basic tools*)
21396
afd8ba74313c added General/basics.ML;
wenzelm
parents: 20507
diff changeset
    13
use "General/basics.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    14
use "library.ML";
22592
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    15
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    16
(*generic non-sense*)
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    17
val quick_and_dirty = ref false;
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    18
val print_mode = ref ([]: string list);
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    19
fun print_mode_active s = member (op =) (! print_mode) s;
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
    20
5017
786a17461ab9 moved table.ML, object.ML, seq.ML, name_space.ML to General;
wenzelm
parents: 5004
diff changeset
    21
cd "General"; use "ROOT.ML"; cd "..";
14781
2be804d1dda9 type.ML now before Syntax module;
wenzelm
parents: 13402
diff changeset
    22
2be804d1dda9 type.ML now before Syntax module;
wenzelm
parents: 13402
diff changeset
    23
(*fundamental structures*)
20075
a7e183bfebef added name.ML;
wenzelm
parents: 19898
diff changeset
    24
use "name.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    25
use "term.ML";
20507
bb68343f6f83 added Pure/term_subst.ML;
wenzelm
parents: 20225
diff changeset
    26
use "term_subst.ML";
14823
ebb8499d0fd2 moved print_mode to General/output.ML; load General/pretty.ML early;
wenzelm
parents: 14781
diff changeset
    27
use "General/pretty.ML";
14781
2be804d1dda9 type.ML now before Syntax module;
wenzelm
parents: 13402
diff changeset
    28
use "sorts.ML";
2be804d1dda9 type.ML now before Syntax module;
wenzelm
parents: 13402
diff changeset
    29
use "type.ML";
16435
3b17850023f1 removed Pure/theory_data.ML;
wenzelm
parents: 16108
diff changeset
    30
use "context.ML";
23353
3069dade3eb4 added context_position.ML;
wenzelm
parents: 22904
diff changeset
    31
use "context_position.ML";
16980
79d6b391344b added compress.ML;
wenzelm
parents: 16842
diff changeset
    32
use "compress.ML";
22694
077ce0e019fa load type_infer.ML early;
wenzelm
parents: 22679
diff changeset
    33
use "type_infer.ML";
19
929ad32d63fc Pure/ROOT.ML
wenzelm
parents: 2
diff changeset
    34
4949
c73f72daee64 tuned comments;
wenzelm
parents: 4781
diff changeset
    35
(*inner syntax module*)
22679
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    36
use "Syntax/lexicon.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    37
use "Syntax/ast.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    38
use "Syntax/syn_ext.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    39
use "Syntax/parser.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    40
use "Syntax/type_ext.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    41
use "Syntax/syn_trans.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    42
use "Syntax/mixfix.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    43
use "Syntax/printer.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    44
use "Syntax/syntax.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    45
structure Hidden = struct end;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    46
structure Lexicon = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    47
structure Ast = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    48
structure SynExt = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    49
structure Parser = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    50
structure TypeExt = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    51
structure SynTrans = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    52
structure Mixfix = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    53
structure Printer = Hidden;
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
    54
21475
ec0d1cf0eb35 added morphism.ML, General/ml_syntax.ML;
wenzelm
parents: 21396
diff changeset
    55
use "General/ml_syntax.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    56
15825
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    57
(*core of tactical proof system*)
18934
0342b7c21388 load envir.ML and logic.ML early;
wenzelm
parents: 18870
diff changeset
    58
use "envir.ML";
0342b7c21388 load envir.ML and logic.ML early;
wenzelm
parents: 18870
diff changeset
    59
use "logic.ML";
18059
ce6cff74931b added consts.ML;
wenzelm
parents: 17963
diff changeset
    60
use "consts.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    61
use "sign.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    62
use "pattern.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    63
use "unify.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    64
use "net.ML";
16108
cf468b93a02e Implement cycle-free overloading, so that definitions cannot harm consistency any more (except of course via interaction with axioms).
obua
parents: 15825
diff changeset
    65
use "defs.ML";
1528
608dd813b437 Theories are now in theory.ML
paulson
parents: 1498
diff changeset
    66
use "theory.ML";
11511
ec89f5cff390 Added new files for proof terms.
berghofe
parents: 11065
diff changeset
    67
use "proofterm.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    68
use "thm.ML";
22361
d8d96d0122a7 added more_thm.ML;
wenzelm
parents: 22233
diff changeset
    69
use "more_thm.ML";
13271
d0859ff6cd65 added fact_index.ML;
wenzelm
parents: 12778
diff changeset
    70
use "fact_index.ML";
3986
d788dcb86930 added pure_thy.ML;
wenzelm
parents: 3971
diff changeset
    71
use "pure_thy.ML";
19589
wenzelm
parents: 19417
diff changeset
    72
use "display.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    73
use "drule.ML";
22904
de2d630e1548 added conv.ML;
wenzelm
parents: 22796
diff changeset
    74
use "conv.ML";
22233
c37d7404199b load morphism.ML later;
wenzelm
parents: 22108
diff changeset
    75
use "morphism.ML";
19898
b1d179e42713 added variable.ML;
wenzelm
parents: 19837
diff changeset
    76
use "variable.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    77
use "tctical.ML";
1582
97a305db0c9e Updated for new file search.ML
paulson
parents: 1528
diff changeset
    78
use "search.ML";
21708
45e7491bea47 reorganized structure Tactic vs. MetaSimplifier;
wenzelm
parents: 21687
diff changeset
    79
use "tactic.ML";
15006
107e4dfd3b96 Merging the meta-simplifier with the Provers-simplifier. Next step:
skalberg
parents: 14823
diff changeset
    80
use "meta_simplifier.ML";
19417
3a9d25bdd7f4 added conjunction.ML;
wenzelm
parents: 19382
diff changeset
    81
use "conjunction.ML";
20225
4b8e42490e58 added Pure/assumption.ML;
wenzelm
parents: 20207
diff changeset
    82
use "assumption.ML";
17963
5574f676092c added goal.ML;
wenzelm
parents: 17927
diff changeset
    83
use "goal.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    84
11511
ec89f5cff390 Added new files for proof terms.
berghofe
parents: 11065
diff changeset
    85
(*proof term operations*)
15825
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    86
use "Proof/reconstruct.ML";
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    87
use "Proof/proof_syntax.ML";
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    88
use "Proof/proof_rewrite_rules.ML";
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    89
use "Proof/proofchecker.ML";
1576f9d3ffae added content of Pure/Thy/ROOT.ML, Pure/Proof/ROOT.ML;
wenzelm
parents: 15801
diff changeset
    90
22108
d76ea9928959 tuned order;
wenzelm
parents: 21941
diff changeset
    91
(*the main Isar system*)
6178
wenzelm
parents: 6164
diff changeset
    92
cd "Isar"; use "ROOT.ML"; cd "..";
20207
4c57e850e8d5 added Pure/subgoal.ML;
wenzelm
parents: 20075
diff changeset
    93
use "subgoal.ML";
5834
c6fea8488ce7 added Isar;
wenzelm
parents: 5684
diff changeset
    94
13402
e6e826bb8c3c Added program extraction module.
berghofe
parents: 13271
diff changeset
    95
use "Proof/extraction.ML";
11511
ec89f5cff390 Added new files for proof terms.
berghofe
parents: 11065
diff changeset
    96
17467
2e9f745924d0 removed obsolete BasisLibrary;
wenzelm
parents: 16980
diff changeset
    97
cd "Tools"; use "ROOT.ML"; cd "..";
2e9f745924d0 removed obsolete BasisLibrary;
wenzelm
parents: 16980
diff changeset
    98
12778
3120e338ffae Interface/proof_general.ML move to proof_general.ML;
wenzelm
parents: 12248
diff changeset
    99
(*configuration for Proof General*)
21941
62dd79056d70 removed obsolete proof_general.ML;
wenzelm
parents: 21930
diff changeset
   100
cd "ProofGeneral"; use "ROOT.ML"; cd "..";
16781
663235466562 - introduce Pure/Tools directory
obua
parents: 16435
diff changeset
   101
18991
0ded3b842878 use proof_general.ML: setmp quick_and_dirty captures default value;
wenzelm
parents: 18934
diff changeset
   102
use_thy "Pure";
0ded3b842878 use proof_general.ML: setmp quick_and_dirty captures default value;
wenzelm
parents: 18934
diff changeset
   103
structure Pure = struct val thy = theory "Pure" end;
18837
577438cc653e CPure: Context.add_setup;
wenzelm
parents: 18169
diff changeset
   104
577438cc653e CPure: Context.add_setup;
wenzelm
parents: 18169
diff changeset
   105
Context.add_setup
22796
34c316d7b630 renamed some old names Theory.xxx to Sign.xxx;
wenzelm
parents: 22694
diff changeset
   106
 (Sign.del_modesyntax Syntax.default_mode Syntax.appl_syntax #>
34c316d7b630 renamed some old names Theory.xxx to Sign.xxx;
wenzelm
parents: 22694
diff changeset
   107
  Sign.add_syntax Syntax.applC_syntax);
18991
0ded3b842878 use proof_general.ML: setmp quick_and_dirty captures default value;
wenzelm
parents: 18934
diff changeset
   108
use_thy "CPure";
0ded3b842878 use proof_general.ML: setmp quick_and_dirty captures default value;
wenzelm
parents: 18934
diff changeset
   109
structure CPure = struct val thy = theory "CPure" end;
15801
d2f5ca3c048d superceded by Pure.thy and CPure.thy;
wenzelm
parents: 15597
diff changeset
   110
17467
2e9f745924d0 removed obsolete BasisLibrary;
wenzelm
parents: 16980
diff changeset
   111
(*final ML setup*)
6178
wenzelm
parents: 6164
diff changeset
   112
use "install_pp.ML";
6237
699b4daf1451 Session.finish ();
wenzelm
parents: 6226
diff changeset
   113
val use = ThyInfo.use;
21858
05f57309170c avoid conflict with Alice keywords: renamed pack -> implode, unpack -> explode, any -> many, avoided assert;
wenzelm
parents: 21708
diff changeset
   114
val cd = File.cd o Path.explode;
7938
e45599caee6c activate ml_prompts;
wenzelm
parents: 6783
diff changeset
   115
ml_prompts "ML> " "ML# ";
11511
ec89f5cff390 Added new files for proof terms.
berghofe
parents: 11065
diff changeset
   116
11545
0b56d9c90dcf final proofs := 0;
wenzelm
parents: 11511
diff changeset
   117
proofs := 0;