src/HOL/IsaMakefile
author wenzelm
Wed, 26 Nov 1997 16:41:25 +0100
changeset 4289 5c1bfefd39b7
parent 4263 a434327aef8b
child 4447 b7ee449eb345
permissions -rw-r--r--
tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     1
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     2
# $Id$
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     3
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     4
# IsaMakefile for HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     5
#
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     6
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     7
#### Base system
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
     8
3118
24dae6222579 fixed ISABELLE_OUTPUT, ISABELLE_PATH (finally?);
wenzelm
parents: 3079
diff changeset
     9
OUT = $(ISABELLE_OUTPUT)
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    10
3195
dcb458d38724 Preliminary TFL versions
paulson
parents: 3125
diff changeset
    11
NAMES = HOL Ord Set Fun subset equalities Prod Relation Trancl Sum WF WF_Rel \
3025
ab6bcbd130a1 Added NatDef
nipkow
parents: 2982
diff changeset
    12
	mono Lfp Gfp NatDef Nat intr_elim indrule Inductive Finite Arith \
3981
b4f93a8da835 Added the new theory Map.
nipkow
parents: 3819
diff changeset
    13
	Divides Power Sexp Univ List RelPow Option Map
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    14
3232
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    15
PROVERS = hypsubst.ML classical.ML blast.ML \
4289
wenzelm
parents: 4263
diff changeset
    16
	simplifier.ML splitter.ML Arith/nat_transitive.ML Arith/cancel_sums.ML
3232
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    17
3354
3dac85693547 Removal of mask.sig and mask.sml
paulson
parents: 3337
diff changeset
    18
TFL   = dcterm.sml post.sml rules.new.sml rules.sig \
3232
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    19
	sys.sml tfl.sig tfl.sml thms.sig thms.sml thry.sig thry.sml   \
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    20
	usyntax.sig usyntax.sml utils.sig utils.sml
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    21
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    22
FILES = ROOT.ML add_ind_def.ML datatype.ML hologic.ML \
4289
wenzelm
parents: 4263
diff changeset
    23
	ind_syntax.ML cladata.ML simpdata.ML arith_data.ML \
wenzelm
parents: 4263
diff changeset
    24
	typedef.ML thy_syntax.ML thy_data.ML $(ISABELLE_HOME)/src/Pure/section_utils.ML \
3232
19a2b853ba7b Removal of ex/LexProd; TFL files; new treatment of Prover files
paulson
parents: 3222
diff changeset
    25
	$(NAMES:%=%.thy) $(NAMES:%=%.ML) $(TFL:%=../TFL/%) \
4289
wenzelm
parents: 4263
diff changeset
    26
	$(PROVERS:%=$(ISABELLE_HOME)/src/Provers/%)
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    27
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    28
$(OUT)/HOL: $(OUT)/Pure $(FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
    29
	@$(ISATOOL) usedir -b $(OUT)/Pure HOL
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    30
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    31
$(OUT)/Pure:
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    32
	@cd ../Pure; $(ISATOOL) make
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    33
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    34
2473
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    35
#### Tests and examples
3eb12c85846c minor tuning;
wenzelm
parents: 2448
diff changeset
    36
3125
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    37
## Inductive definitions: simple examples
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    38
4263
a434327aef8b corrected INDUCT_FILES
oheimb
parents: 4081
diff changeset
    39
INDUCT_FILES = Perm Comb Mutil SList LList LFilter Acc PropLog Term Simult Com Exp
3125
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    40
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    41
INDUCT_FILES = Induct/ROOT.ML \
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    42
	    $(INDUCT_NAMES:%=Induct/%.thy) $(INDUCT_NAMES:%=Induct/%.ML)
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    43
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    44
Induct:	$(OUT)/HOL $(INDUCT_FILES)
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    45
	@$(ISATOOL) usedir $(OUT)/HOL Induct
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    46
3f0ab2c306f7 Moved induction examples to directory Induct
paulson
parents: 3118
diff changeset
    47
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    48
## IMP-semantics example
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    49
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    50
IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    51
IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    52
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    53
IMP:	$(OUT)/HOL $(IMP_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
    54
	@$(ISATOOL) usedir $(OUT)/HOL IMP
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    55
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    56
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    57
## Hoare logic
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    58
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    59
Hoare_NAMES = Hoare Arith2 Examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    60
Hoare_FILES = Hoare/ROOT.ML $(Hoare_NAMES:%=Hoare/%.thy) \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    61
	      $(Hoare_NAMES:%=Hoare/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    62
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    63
Hoare:	$(OUT)/HOL $(Hoare_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
    64
	@$(ISATOOL) usedir $(OUT)/HOL Hoare
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    65
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    66
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    67
## The integers in HOL
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    68
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    69
INTEG_NAMES = Equiv Integ Group Ring Lagrange IntRingDefs IntRing
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    70
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    71
INTEG_FILES = Integ/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    72
	      $(INTEG_NAMES:%=Integ/%.thy) $(INTEG_NAMES:%=Integ/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    73
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    74
Integ:	$(OUT)/HOL $(INTEG_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
    75
	@$(ISATOOL) usedir $(OUT)/HOL Integ
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    76
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
    77
3819
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    78
## TLA -- Temporal Logic of Actions
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    79
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    80
TLA_FILES = TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    81
	TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    82
	TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    83
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    84
TLA_INC_FILES = TLA/Inc/Inc.thy TLA/Inc/Inc.ML TLA/Inc/Pcount.thy
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    85
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    86
TLA_BUFFER_FILES = TLA/Buffer/Buffer.thy TLA/Buffer/Buffer.ML \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    87
	TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    88
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    89
TLA_MEMORY_FILES = TLA/Memory/MIParameters.thy TLA/Memory/MIlive.ML \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    90
	TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML TLA/Memory/MemClerk.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    91
	TLA/Memory/MemClerkParameters.ML TLA/Memory/MemClerkParameters.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    92
	TLA/Memory/Memory.ML TLA/Memory/Memory.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    93
	TLA/Memory/MemoryImplementation.ML TLA/Memory/MemoryImplementation.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    94
	TLA/Memory/MemoryParameters.ML TLA/Memory/MemoryParameters.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    95
	TLA/Memory/ProcedureInterface.ML TLA/Memory/ProcedureInterface.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    96
	TLA/Memory/RPC.ML TLA/Memory/RPC.thy TLA/Memory/RPCMemoryParams.thy \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    97
	TLA/Memory/RPCParameters.ML TLA/Memory/RPCParameters.thy
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    98
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
    99
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   100
TLA: $(OUT)/HOL $(TLA_FILES)
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   101
	@cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   102
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   103
TLA_Inc: $(OUT)/TLA $(TLA_INC_FILES)
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   104
	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   105
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   106
TLA_Buffer: $(OUT)/TLA $(TLA_BUFFER_FILES)
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   107
	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   108
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   109
TLA_Memory: $(OUT)/TLA $(TLA_MEMORY_FILES)
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   110
	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   111
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   112
3079
2ea678d3523f removed (most of) IOA (see HOLCF/IOA);
mueller
parents: 3025
diff changeset
   113
## I/O Automata (meta theory only)
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   114
3079
2ea678d3523f removed (most of) IOA (see HOLCF/IOA);
mueller
parents: 3025
diff changeset
   115
IOA_FILES = IOA/ROOT.ML IOA/Asig.thy IOA/Asig.ML IOA/IOA.thy \
2ea678d3523f removed (most of) IOA (see HOLCF/IOA);
mueller
parents: 3025
diff changeset
   116
  IOA/IOA.ML IOA/Solve.thy IOA/Solve.ML
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   117
3079
2ea678d3523f removed (most of) IOA (see HOLCF/IOA);
mueller
parents: 3025
diff changeset
   118
IOA: $(OUT)/HOL $(IOA_FILES)
2ea678d3523f removed (most of) IOA (see HOLCF/IOA);
mueller
parents: 3025
diff changeset
   119
	@$(ISATOOL) usedir $(OUT)/HOL IOA
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   120
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   121
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   122
## Authentication & Security Protocols
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   123
3540
acd60238f191 Fixed the spelling of AUTH_NAMES--it could not have worked before\!
paulson
parents: 3505
diff changeset
   124
AUTH_NAMES = Message Event Shared NS_Shared \
acd60238f191 Fixed the spelling of AUTH_NAMES--it could not have worked before\!
paulson
parents: 3505
diff changeset
   125
	     OtwayRees OtwayRees_AN OtwayRees_Bad \
3482
ef918a90f9bf New theory TLS
paulson
parents: 3417
diff changeset
   126
	     Recur WooLam Yahalom Yahalom2 \
ef918a90f9bf New theory TLS
paulson
parents: 3417
diff changeset
   127
	     Public NS_Public_Bad NS_Public TLS
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   128
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   129
AUTH_FILES = Auth/ROOT.ML $(AUTH_NAMES:%=Auth/%.thy) $(AUTH_NAMES:%=Auth/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   130
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   131
Auth:	$(OUT)/HOL $(AUTH_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   132
	@$(ISATOOL) usedir $(OUT)/HOL Auth
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   133
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   134
3218
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   135
## Modelchecker invocation
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   136
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   137
MC_FILES = Modelcheck/CTL.thy Modelcheck/Example.ML \
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   138
  Modelcheck/Example.thy Modelcheck/MCSyn.ML Modelcheck/MCSyn.thy \
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   139
  Modelcheck/MuCalculus.ML Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   140
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   141
Modelcheck: $(OUT)/HOL $(MC_FILES)
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   142
	@$(ISATOOL) usedir $(OUT)/HOL Modelcheck
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   143
44f01b718eab added Modelcheck example;
mueller
parents: 3195
diff changeset
   144
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   145
## Properties of substitutions
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   146
3195
dcb458d38724 Preliminary TFL versions
paulson
parents: 3125
diff changeset
   147
SUBST_NAMES = AList Subst Unifier UTerm Unify
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   148
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   149
SUBST_FILES = Subst/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   150
	      $(SUBST_NAMES:%=Subst/%.thy) $(SUBST_NAMES:%=Subst/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   151
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   152
Subst:	$(OUT)/HOL $(SUBST_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   153
	@$(ISATOOL) usedir $(OUT)/HOL Subst
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   154
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   155
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   156
## Confluence of Lambda-calculus
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   157
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   158
LAMBDA_NAMES = Lambda ParRed Commutation Eta
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   159
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   160
LAMBDA_FILES = Lambda/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   161
	      $(LAMBDA_NAMES:%=Lambda/%.thy) $(LAMBDA_NAMES:%=Lambda/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   162
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   163
Lambda:	 $(OUT)/HOL $(LAMBDA_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   164
	@$(ISATOOL) usedir $(OUT)/HOL Lambda
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   165
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   166
2527
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   167
## Type inference without let
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   168
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   169
W0_NAMES = I Maybe MiniML Type W
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   170
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   171
W0_FILES = W0/ROOT.ML \
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   172
	      $(W0_NAMES:%=W0/%.thy) $(W0_NAMES:%=W0/%.ML)
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   173
2527
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   174
W0: $(OUT)/HOL $(W0_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   175
	@$(ISATOOL) usedir $(OUT)/HOL W0
2527
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   176
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   177
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   178
## Type inference with let
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   179
0ba3755ce398 Added W0 and modified MiniML.
nipkow
parents: 2473
diff changeset
   180
MINIML_NAMES = Generalize Instance Maybe MiniML Type W
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   181
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   182
MINIML_FILES = MiniML/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   183
	      $(MINIML_NAMES:%=MiniML/%.thy) $(MINIML_NAMES:%=MiniML/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   184
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   185
MiniML: $(OUT)/HOL $(MINIML_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   186
	@$(ISATOOL) usedir $(OUT)/HOL MiniML
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   187
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   188
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   189
## Lexical analysis
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   190
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   191
LEX_FILES = Auto AutoChopper Chopper Prefix
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   192
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   193
LEX_FILES = Lex/ROOT.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   194
	    $(LEX_NAMES:%=Lex/%.thy) $(LEX_NAMES:%=Lex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   195
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   196
Lex:	$(OUT)/HOL $(LEX_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   197
	@$(ISATOOL) usedir $(OUT)/HOL Lex
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   198
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   199
2545
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   200
## Axiomatic type classes examples
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   201
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   202
AXC_GROUP_FILES = Group.ML Group.thy GroupDefs.ML GroupDefs.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   203
	GroupInsts.thy Monoid.thy MonoidGroupInsts.thy ROOT.ML Sigs.thy
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   204
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   205
AXC_LATTICE_FILES = CLattice.ML CLattice.thy LatInsts.ML LatInsts.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   206
	LatMorph.ML LatMorph.thy LatPreInsts.ML LatPreInsts.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   207
	Lattice.ML Lattice.thy OrdDefs.ML OrdDefs.thy OrdInsts.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   208
	Order.ML Order.thy ROOT.ML tools.ML
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   209
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   210
AXC_TUTORIAL_FILES = BoolGroupInsts.thy Group.ML Group.thy Monoid.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   211
	MonoidGroupInsts.thy ProdGroupInsts.thy Product.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   212
	ProductInsts.thy ROOT.ML Semigroup.thy Semigroups.thy Sigs.thy \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   213
	Xor.ML Xor.thy
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   214
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   215
AXCLASSES_FILES = AxClasses/ROOT.ML \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   216
	$(AXC_GROUP_FILES:%=AxClasses/Group/%) \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   217
	$(AXC_LATTICE_FILES:%=AxClasses/Lattice/%) \
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   218
	$(AXC_TUTORIAL_FILES:%=AxClasses/Tutorial/%)
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   219
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   220
AxClasses: $(OUT)/HOL $(AXCLASSES_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   221
	@$(ISATOOL) usedir $(OUT)/HOL AxClasses
2827
cce436a62740 improved session names;
wenzelm
parents: 2826
diff changeset
   222
	@$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group
cce436a62740 improved session names;
wenzelm
parents: 2826
diff changeset
   223
	@$(ISATOOL) usedir -s AxClasses-Lattice $(OUT)/HOL AxClasses/Lattice
cce436a62740 improved session names;
wenzelm
parents: 2826
diff changeset
   224
	@$(ISATOOL) usedir -s AxClasses-Tutorial $(OUT)/HOL AxClasses/Tutorial
2545
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   225
d10abc8c11fb added AxClasses test;
wenzelm
parents: 2527
diff changeset
   226
2909
22a8a97b66be Added Example Quot
slotosch
parents: 2900
diff changeset
   227
## Higher-order quotients and example fractionals
2900
d5e1a2b869a2 added Quot examples;
wenzelm
parents: 2889
diff changeset
   228
2909
22a8a97b66be Added Example Quot
slotosch
parents: 2900
diff changeset
   229
QUOT_FILES = Quot/ROOT.ML Quot/PER0.thy Quot/PER0.ML Quot/PER.thy Quot/PER.ML \
22a8a97b66be Added Example Quot
slotosch
parents: 2900
diff changeset
   230
	Quot/HQUOT.thy Quot/HQUOT.ML Quot/NPAIR.thy Quot/NPAIR.ML \
22a8a97b66be Added Example Quot
slotosch
parents: 2900
diff changeset
   231
	Quot/FRACT.thy Quot/FRACT.ML
2900
d5e1a2b869a2 added Quot examples;
wenzelm
parents: 2889
diff changeset
   232
Quot:	$(OUT)/HOL $(QUOT_FILES)
d5e1a2b869a2 added Quot examples;
wenzelm
parents: 2889
diff changeset
   233
	@$(ISATOOL) usedir $(OUT)/HOL Quot
d5e1a2b869a2 added Quot examples;
wenzelm
parents: 2889
diff changeset
   234
d5e1a2b869a2 added Quot examples;
wenzelm
parents: 2889
diff changeset
   235
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   236
## Miscellaneous examples
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   237
3417
58ccb80eb50a New example theory: Recdef
paulson
parents: 3390
diff changeset
   238
EX_NAMES = Recdef Fib Primes Primrec NatSum String BT InSort Qsort Puzzle MT
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   239
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   240
EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   241
	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   242
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   243
ex:	$(OUT)/HOL $(EX_FILES)
2826
0b0d9e3bc661 isatool usedir;
wenzelm
parents: 2635
diff changeset
   244
	@$(ISATOOL) usedir $(OUT)/HOL ex
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   245
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   246
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   247
## Full test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   248
2635
835820c1591d cosmetic
oheimb
parents: 2607
diff changeset
   249
test:	$(OUT)/HOL \
3819
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   250
	  Subst Induct IMP Hoare Lex Integ Auth Modelcheck Lambda  \
5a6a6f18b109 added TLA stuff;
wenzelm
parents: 3616
diff changeset
   251
	  W0 MiniML TLA TLA_Inc TLA_Buffer TLA_Memory IOA AxClasses Quot ex
2448
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   252
	echo 'Test examples ran successfully' > test
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   253
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   254
61337170db84 IsaMakefile for HOL;
wenzelm
parents:
diff changeset
   255
.PRECIOUS: $(OUT)/Pure $(OUT)/HOL