author | paulson |
Mon, 14 Aug 1995 13:42:27 +0200 | |
changeset 1228 | 7d6b0241afab |
parent 1078 | e57beb974dd7 |
child 1411 | f60f68878354 |
permissions | -rw-r--r-- |
19 | 1 |
(* Title: Pure/ROOT.ML |
0 | 2 |
ID: $Id$ |
19 | 3 |
Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
0 | 4 |
Copyright 1993 University of Cambridge |
5 |
||
19 | 6 |
Root file for Pure Isabelle: all modules in proper order for loading. |
7 |
Loads pure Isabelle into an empty database (see also Makefile). |
|
0 | 8 |
|
19 | 9 |
TO DO: |
0 | 10 |
instantiation of theorems can lead to inconsistent sorting of type vars if |
19 | 11 |
'a::S is already present and 'a::T is introduced. |
0 | 12 |
*) |
13 |
||
14 |
val banner = "Pure Isabelle"; |
|
1228 | 15 |
val version = "Isabelle-94 revision 4: August 95"; |
0 | 16 |
|
17 |
print_depth 1; |
|
18 |
||
19 |
use "library.ML"; |
|
20 |
use "term.ML"; |
|
21 |
use "symtab.ML"; |
|
22 |
||
23 |
structure Symtab = SymtabFun(); |
|
19 | 24 |
|
25 |
(*Syntax module*) |
|
0 | 26 |
cd "Syntax"; |
27 |
use "ROOT.ML"; |
|
28 |
cd ".."; |
|
29 |
||
30 |
use "type.ML"; |
|
31 |
use "sign.ML"; |
|
32 |
use "sequence.ML"; |
|
33 |
use "envir.ML"; |
|
34 |
use "pattern.ML"; |
|
35 |
use "unify.ML"; |
|
36 |
use "net.ML"; |
|
37 |
use "logic.ML"; |
|
38 |
use "thm.ML"; |
|
39 |
use "drule.ML"; |
|
40 |
use "tctical.ML"; |
|
41 |
use "tactic.ML"; |
|
42 |
use "goals.ML"; |
|
403 | 43 |
use "axclass.ML"; |
0 | 44 |
|
45 |
(*Will be visible to all object-logics.*) |
|
46 |
structure Type = TypeFun(structure Symtab=Symtab and Syntax=Syntax); |
|
47 |
structure Sign = SignFun(structure Type=Type and Syntax=Syntax); |
|
48 |
structure Sequence = SequenceFun(); |
|
49 |
structure Envir = EnvirFun(); |
|
50 |
structure Pattern = PatternFun(structure Sign=Sign and Envir=Envir); |
|
51 |
structure Unify = UnifyFun(structure Sign=Sign and Envir=Envir |
|
19 | 52 |
and Sequence=Sequence and Pattern=Pattern); |
0 | 53 |
structure Net = NetFun(); |
54 |
structure Logic = LogicFun(structure Unify=Unify and Net=Net); |
|
55 |
structure Thm = ThmFun(structure Logic=Logic and Unify=Unify and Net=Net |
|
19 | 56 |
and Pattern=Pattern); |
0 | 57 |
structure Drule = DruleFun(structure Logic=Logic and Thm=Thm); |
58 |
structure Tactical = TacticalFun(structure Logic=Logic and Drule=Drule); |
|
19 | 59 |
structure Tactic = TacticFun(structure Logic=Logic and Drule=Drule |
60 |
and Tactical=Tactical and Net=Net); |
|
0 | 61 |
structure Goals = GoalsFun(structure Logic=Logic and Drule=Drule |
19 | 62 |
and Tactic=Tactic and Pattern=Pattern); |
618 | 63 |
structure AxClass = AxClassFun(structure Logic = Logic |
403 | 64 |
and Goals = Goals and Tactic = Tactic); |
635 | 65 |
open BasicSyntax Thm Drule Tactical Tactic Goals; |
0 | 66 |
|
67 |
structure Pure = struct val thy = pure_thy end; |
|
922
196ca0973a6d
added CPure (curried functions) and ProtoPure (ancestor of Pure and CPure)
clasohm
parents:
913
diff
changeset
|
68 |
structure CPure = struct val thy = cpure_thy end; |
2
c67f44be880f
moved use of Thy/ROOT.ML to end of file because Thy/read.ML needs Thm
clasohm
parents:
0
diff
changeset
|
69 |
|
1078 | 70 |
(* hide functors; saves space in PolyML *) |
71 |
functor SymtabFun() = struct end; |
|
72 |
functor TypeFun() = struct end; |
|
73 |
functor SignFun() = struct end; |
|
74 |
functor SequenceFun() = struct end; |
|
75 |
functor EnvirFun() = struct end; |
|
76 |
functor PatternFun() = struct end; |
|
77 |
functor UnifyFun() = struct end; |
|
78 |
functor NetFun() = struct end; |
|
79 |
functor LogicFun() = struct end; |
|
80 |
functor ThmFun() = struct end; |
|
81 |
functor DruleFun() = struct end; |
|
82 |
functor TacticalFun() = struct end; |
|
83 |
functor TacticFun() = struct end; |
|
84 |
functor GoalsFun() = struct end; |
|
85 |
functor AxClassFun() = struct end; |
|
86 |
||
618 | 87 |
(*Theory parser and loader*) |
73
075db6ac7f2f
delete_file now has type string -> unit in both NJ and POLY,
clasohm
parents:
19
diff
changeset
|
88 |
cd "Thy"; |
075db6ac7f2f
delete_file now has type string -> unit in both NJ and POLY,
clasohm
parents:
19
diff
changeset
|
89 |
use "ROOT.ML"; |
075db6ac7f2f
delete_file now has type string -> unit in both NJ and POLY,
clasohm
parents:
19
diff
changeset
|
90 |
cd ".."; |
075db6ac7f2f
delete_file now has type string -> unit in both NJ and POLY,
clasohm
parents:
19
diff
changeset
|
91 |
|
618 | 92 |
use "install_pp.ML"; |
93 |
fun init_database () = (init_thy_reader (); init_pps ()); |
|
94 |