src/HOL/IsaMakefile
changeset 4518 74c01296e818
parent 4455 c0a6ad614fa0
child 4657 941c9b169dc4
     1.1 --- a/src/HOL/IsaMakefile	Tue Jan 06 12:32:43 1998 +0100
     1.2 +++ b/src/HOL/IsaMakefile	Wed Jan 07 13:53:42 1998 +0100
     1.3 @@ -4,267 +4,320 @@
     1.4  # IsaMakefile for HOL
     1.5  #
     1.6  
     1.7 -#### Base system
     1.8 +## targets
     1.9  
    1.10 +default: HOL
    1.11 +images: HOL TLA
    1.12 +test: HOL-Subst HOL-Induct HOL-IMP HOL-Hoare HOL-Lex HOL-Integ \
    1.13 +  HOL-Auth HOL-Modelcheck HOL-Lambda HOL-W0 HOL-MiniML HOL-IOA \
    1.14 +  HOL-AxClasses HOL-AxClasses-Group HOL-AxClasses-Lattice \
    1.15 +  HOL-AxClasses-Tutorial HOL-Quot HOL-ex TLA-Inc TLA-Buffer TLA-Memory
    1.16 +all: images test
    1.17 +
    1.18 +
    1.19 +## global settings
    1.20 +
    1.21 +SRC = $(ISABELLE_HOME)/src
    1.22  OUT = $(ISABELLE_OUTPUT)
    1.23  LOG = $(OUT)/log
    1.24  
    1.25 -NAMES = HOL Ord Set Fun subset equalities Prod Relation Trancl Sum WF WF_Rel \
    1.26 -	mono Lfp Gfp NatDef Nat intr_elim indrule Inductive Finite Arith \
    1.27 -	Divides Power Sexp Univ List RelPow Option Map
    1.28 +
    1.29 +## HOL
    1.30  
    1.31 -PROVERS = hypsubst.ML classical.ML blast.ML \
    1.32 -	simplifier.ML splitter.ML Arith/nat_transitive.ML Arith/cancel_sums.ML
    1.33 +HOL: Pure $(OUT)/HOL
    1.34 +
    1.35 +Pure:
    1.36 +	@cd $(SRC)/Pure; $(ISATOOL) make Pure
    1.37  
    1.38 -TFL   = dcterm.sml post.sml rules.new.sml rules.sig \
    1.39 -	sys.sml tfl.sig tfl.sml thms.sig thms.sml thry.sig thry.sml   \
    1.40 -	usyntax.sig usyntax.sml utils.sig utils.sml
    1.41 -
    1.42 -FILES = ROOT.ML add_ind_def.ML datatype.ML hologic.ML \
    1.43 -	ind_syntax.ML cladata.ML record.ML simpdata.ML arith_data.ML \
    1.44 -	typedef.ML thy_syntax.ML thy_data.ML $(ISABELLE_HOME)/src/Pure/section_utils.ML \
    1.45 -	$(NAMES:%=%.thy) $(NAMES:%=%.ML) $(TFL:%=../TFL/%) \
    1.46 -	$(PROVERS:%=$(ISABELLE_HOME)/src/Provers/%)
    1.47 -
    1.48 -$(OUT)/HOL: $(OUT)/Pure $(FILES)
    1.49 +$(OUT)/HOL: $(OUT)/Pure $(SRC)/Provers/Arith/cancel_sums.ML \
    1.50 +  $(SRC)/Provers/Arith/nat_transitive.ML $(SRC)/Provers/blast.ML \
    1.51 +  $(SRC)/Provers/classical.ML $(SRC)/Provers/hypsubst.ML \
    1.52 +  $(SRC)/Provers/simplifier.ML $(SRC)/Provers/splitter.ML \
    1.53 +  $(SRC)/Pure/section_utils.ML $(SRC)/TFL/dcterm.sml $(SRC)/TFL/post.sml \
    1.54 +  $(SRC)/TFL/rules.new.sml $(SRC)/TFL/rules.sig $(SRC)/TFL/sys.sml \
    1.55 +  $(SRC)/TFL/tfl.sig $(SRC)/TFL/tfl.sml $(SRC)/TFL/thms.sig \
    1.56 +  $(SRC)/TFL/thms.sml $(SRC)/TFL/thry.sig $(SRC)/TFL/thry.sml \
    1.57 +  $(SRC)/TFL/usyntax.sig $(SRC)/TFL/usyntax.sml $(SRC)/TFL/utils.sig \
    1.58 +  $(SRC)/TFL/utils.sml Arith.ML Arith.thy Divides.ML Divides.thy \
    1.59 +  Finite.ML Finite.thy Fun.ML Fun.thy Gfp.ML Gfp.thy HOL.ML HOL.thy \
    1.60 +  Inductive.ML Inductive.thy Lfp.ML Lfp.thy List.ML List.thy Map.ML \
    1.61 +  Map.thy Nat.ML Nat.thy NatDef.ML NatDef.thy Option.ML Option.thy \
    1.62 +  Ord.ML Ord.thy Power.ML Power.thy Prod.ML Prod.thy ROOT.ML RelPow.ML \
    1.63 +  RelPow.thy Relation.ML Relation.thy Set.ML Set.thy Sexp.ML Sexp.thy \
    1.64 +  Sum.ML Sum.thy Trancl.ML Trancl.thy Univ.ML Univ.thy WF.ML WF.thy \
    1.65 +  WF_Rel.ML WF_Rel.thy add_ind_def.ML arith_data.ML cladata.ML \
    1.66 +  datatype.ML equalities.ML equalities.thy hologic.ML ind_syntax.ML \
    1.67 +  indrule.ML indrule.thy intr_elim.ML intr_elim.thy mono.ML mono.thy \
    1.68 +  record.ML simpdata.ML subset.ML subset.thy thy_data.ML thy_syntax.ML \
    1.69 +  typedef.ML
    1.70  	@$(ISATOOL) usedir -b $(OUT)/Pure HOL
    1.71  
    1.72 -$(OUT)/Pure:
    1.73 -	@cd ../Pure; $(ISATOOL) make
    1.74 +
    1.75 +## HOL-Subst
    1.76 +
    1.77 +HOL-Subst: HOL $(LOG)/HOL-Subst.gz
    1.78 +
    1.79 +$(LOG)/HOL-Subst.gz: $(OUT)/HOL Subst/AList.ML Subst/AList.thy \
    1.80 +  Subst/ROOT.ML Subst/Subst.ML Subst/Subst.thy Subst/UTerm.ML \
    1.81 +  Subst/UTerm.thy Subst/Unifier.ML Subst/Unifier.thy Subst/Unify.ML \
    1.82 +  Subst/Unify.thy
    1.83 +	@$(ISATOOL) usedir $(OUT)/HOL Subst
    1.84  
    1.85  
    1.86 -#### Tests and examples
    1.87 +## HOL-Induct
    1.88  
    1.89 -## Inductive definitions: simple examples
    1.90 +HOL-Induct: HOL $(LOG)/HOL-Induct.gz
    1.91  
    1.92 -INDUCT_FILES = Perm Comb Mutil SList LList LFilter Acc PropLog Term Simult Com Exp
    1.93 -
    1.94 -INDUCT_FILES = Induct/ROOT.ML \
    1.95 -	    $(INDUCT_NAMES:%=Induct/%.thy) $(INDUCT_NAMES:%=Induct/%.ML)
    1.96 -
    1.97 -$(LOG)/HOL-Induct.gz: $(OUT)/HOL $(INDUCT_FILES)
    1.98 +$(LOG)/HOL-Induct.gz: $(OUT)/HOL Induct/Acc.ML Induct/Acc.thy \
    1.99 +  Induct/Com.ML Induct/Com.thy Induct/Comb.ML Induct/Comb.thy \
   1.100 +  Induct/Exp.ML Induct/Exp.thy Induct/LFilter.ML Induct/LFilter.thy \
   1.101 +  Induct/LList.ML Induct/LList.thy Induct/Mutil.ML Induct/Mutil.thy \
   1.102 +  Induct/Perm.ML Induct/Perm.thy Induct/PropLog.ML Induct/PropLog.thy \
   1.103 +  Induct/ROOT.ML Induct/SList.ML Induct/SList.thy Induct/Simult.ML \
   1.104 +  Induct/Simult.thy Induct/Term.ML Induct/Term.thy
   1.105  	@$(ISATOOL) usedir $(OUT)/HOL Induct
   1.106  
   1.107  
   1.108 -## IMP-semantics example
   1.109 +## HOL-IMP
   1.110 +
   1.111 +HOL-IMP: HOL $(LOG)/HOL-IMP.gz
   1.112  
   1.113 -IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC
   1.114 -IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML)
   1.115 -
   1.116 -$(LOG)/HOL-IMP.gz: $(OUT)/HOL $(IMP_FILES)
   1.117 +$(LOG)/HOL-IMP.gz: $(OUT)/HOL IMP/Com.ML IMP/Com.thy IMP/Denotation.ML \
   1.118 +  IMP/Denotation.thy IMP/Expr.ML IMP/Expr.thy IMP/Hoare.ML IMP/Hoare.thy \
   1.119 +  IMP/Natural.ML IMP/Natural.thy IMP/ROOT.ML IMP/Transition.ML \
   1.120 +  IMP/Transition.thy IMP/VC.ML IMP/VC.thy
   1.121  	@$(ISATOOL) usedir $(OUT)/HOL IMP
   1.122  
   1.123  
   1.124 -## Hoare logic
   1.125 +## HOL-Hoare
   1.126 +
   1.127 +HOL-Hoare: HOL $(LOG)/HOL-Hoare.gz
   1.128  
   1.129 -Hoare_NAMES = Hoare Arith2 Examples
   1.130 -Hoare_FILES = Hoare/ROOT.ML $(Hoare_NAMES:%=Hoare/%.thy) \
   1.131 -	      $(Hoare_NAMES:%=Hoare/%.ML)
   1.132 -
   1.133 -$(LOG)/HOL-Hoare.gz: $(OUT)/HOL $(Hoare_FILES)
   1.134 +$(LOG)/HOL-Hoare.gz: $(OUT)/HOL Hoare/Arith2.ML Hoare/Arith2.thy \
   1.135 +  Hoare/Examples.ML Hoare/Examples.thy Hoare/Hoare.ML Hoare/Hoare.thy \
   1.136 +  Hoare/ROOT.ML
   1.137  	@$(ISATOOL) usedir $(OUT)/HOL Hoare
   1.138  
   1.139  
   1.140 -## The integers in HOL
   1.141 +## HOL-Lex
   1.142 +
   1.143 +HOL-Lex: HOL $(LOG)/HOL-Lex.gz
   1.144  
   1.145 -INTEG_NAMES = Equiv Integ Group Ring Lagrange IntRingDefs IntRing
   1.146 +$(LOG)/HOL-Lex.gz: $(OUT)/HOL Lex/Auto.thy Lex/Auto.ML \
   1.147 +  Lex/AutoChopper.thy Lex/AutoChopper.ML Lex/AutoChopper1.thy \
   1.148 +  Lex/Chopper.thy Lex/Prefix.thy Lex/Prefix.ML Lex/ROOT.ML \
   1.149 +  Lex/Regset_of_auto.ML Lex/Regset_of_auto.thy
   1.150 +	@$(ISATOOL) usedir $(OUT)/HOL Lex
   1.151  
   1.152 -INTEG_FILES = Integ/ROOT.ML \
   1.153 -	      $(INTEG_NAMES:%=Integ/%.thy) $(INTEG_NAMES:%=Integ/%.ML)
   1.154 +
   1.155 +## HOL-Integ
   1.156 +
   1.157 +HOL-Integ: HOL $(LOG)/HOL-Integ.gz
   1.158  
   1.159 -$(LOG)/HOL-Integ.gz: $(OUT)/HOL $(INTEG_FILES)
   1.160 +$(LOG)/HOL-Integ.gz: $(OUT)/HOL Integ/Bin.ML Integ/Bin.thy \
   1.161 +  Integ/Equiv.ML Integ/Equiv.thy Integ/Group.ML Integ/Group.thy \
   1.162 +  Integ/IntRing.ML Integ/IntRing.thy Integ/IntRingDefs.ML \
   1.163 +  Integ/IntRingDefs.thy Integ/Integ.ML Integ/Integ.thy Integ/Lagrange.ML \
   1.164 +  Integ/Lagrange.thy Integ/ROOT.ML Integ/Ring.ML Integ/Ring.thy
   1.165  	@$(ISATOOL) usedir $(OUT)/HOL Integ
   1.166  
   1.167  
   1.168 -## TLA -- Temporal Logic of Actions
   1.169 -
   1.170 -TLA_FILES = TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \
   1.171 -	TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \
   1.172 -	TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML
   1.173 -
   1.174 -TLA_INC_FILES = TLA/Inc/Inc.thy TLA/Inc/Inc.ML TLA/Inc/Pcount.thy
   1.175 -
   1.176 -TLA_BUFFER_FILES = TLA/Buffer/Buffer.thy TLA/Buffer/Buffer.ML \
   1.177 -	TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML
   1.178 +## HOL-Auth
   1.179  
   1.180 -TLA_MEMORY_FILES = TLA/Memory/MIParameters.thy TLA/Memory/MIlive.ML \
   1.181 -	TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML TLA/Memory/MemClerk.thy \
   1.182 -	TLA/Memory/MemClerkParameters.ML TLA/Memory/MemClerkParameters.thy \
   1.183 -	TLA/Memory/Memory.ML TLA/Memory/Memory.thy \
   1.184 -	TLA/Memory/MemoryImplementation.ML TLA/Memory/MemoryImplementation.thy \
   1.185 -	TLA/Memory/MemoryParameters.ML TLA/Memory/MemoryParameters.thy \
   1.186 -	TLA/Memory/ProcedureInterface.ML TLA/Memory/ProcedureInterface.thy \
   1.187 -	TLA/Memory/RPC.ML TLA/Memory/RPC.thy TLA/Memory/RPCMemoryParams.thy \
   1.188 -	TLA/Memory/RPCParameters.ML TLA/Memory/RPCParameters.thy
   1.189 -
   1.190 -
   1.191 -$(OUT)/TLA: $(OUT)/HOL $(TLA_FILES)
   1.192 -	@cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA
   1.193 +HOL-Auth: HOL $(LOG)/HOL-Auth.gz
   1.194  
   1.195 -$(LOG)/TLA-Inc.gz: $(OUT)/TLA $(TLA_INC_FILES)
   1.196 -	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc
   1.197 -
   1.198 -$(LOG)/TLA-Buffer.gz: $(OUT)/TLA $(TLA_BUFFER_FILES)
   1.199 -	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer
   1.200 -
   1.201 -$(LOG)/TLA-Memory.gz: $(OUT)/TLA $(TLA_MEMORY_FILES)
   1.202 -	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory
   1.203 -
   1.204 -
   1.205 -## I/O Automata (meta theory only)
   1.206 -
   1.207 -IOA_FILES = IOA/ROOT.ML IOA/Asig.thy IOA/Asig.ML IOA/IOA.thy \
   1.208 -  IOA/IOA.ML IOA/Solve.thy IOA/Solve.ML
   1.209 -
   1.210 -$(LOG)/HOL-IOA.gz: $(OUT)/HOL $(IOA_FILES)
   1.211 -	@$(ISATOOL) usedir $(OUT)/HOL IOA
   1.212 -
   1.213 -
   1.214 -## Authentication & Security Protocols
   1.215 -
   1.216 -AUTH_NAMES = Message Event Shared NS_Shared \
   1.217 -	     OtwayRees OtwayRees_AN OtwayRees_Bad \
   1.218 -	     Recur WooLam Yahalom Yahalom2 \
   1.219 -	     Public NS_Public_Bad NS_Public TLS
   1.220 -
   1.221 -AUTH_FILES = Auth/ROOT.ML $(AUTH_NAMES:%=Auth/%.thy) $(AUTH_NAMES:%=Auth/%.ML)
   1.222 -
   1.223 -$(LOG)/HOL-Auth.gz: $(OUT)/HOL $(AUTH_FILES)
   1.224 +$(LOG)/HOL-Auth.gz: $(OUT)/HOL Auth/Event.ML Auth/Event.thy \
   1.225 +  Auth/Message.ML Auth/Message.thy Auth/NS_Public.ML Auth/NS_Public.thy \
   1.226 +  Auth/NS_Public_Bad.ML Auth/NS_Public_Bad.thy Auth/NS_Shared.ML \
   1.227 +  Auth/NS_Shared.thy Auth/OtwayRees.ML Auth/OtwayRees.thy \
   1.228 +  Auth/OtwayRees_AN.ML Auth/OtwayRees_AN.thy Auth/OtwayRees_Bad.ML \
   1.229 +  Auth/OtwayRees_Bad.thy Auth/Public.ML Auth/Public.thy Auth/ROOT.ML \
   1.230 +  Auth/Recur.ML Auth/Recur.thy Auth/Shared.ML Auth/Shared.thy \
   1.231 +  Auth/TLS.ML Auth/TLS.thy Auth/WooLam.ML Auth/WooLam.thy \
   1.232 +  Auth/Yahalom.ML Auth/Yahalom.thy Auth/Yahalom2.ML Auth/Yahalom2.thy
   1.233  	@$(ISATOOL) usedir $(OUT)/HOL Auth
   1.234  
   1.235  
   1.236 -## Modelchecker invocation
   1.237 +## HOL-Modelcheck
   1.238 +
   1.239 +HOL-Modelcheck: HOL $(LOG)/HOL-Modelcheck.gz
   1.240  
   1.241 -MC_FILES = Modelcheck/CTL.thy Modelcheck/Example.ML \
   1.242 -  Modelcheck/Example.thy Modelcheck/MCSyn.ML Modelcheck/MCSyn.thy \
   1.243 -  Modelcheck/MuCalculus.ML Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML
   1.244 -
   1.245 -$(LOG)/HOL-Modelcheck.gz: $(OUT)/HOL $(MC_FILES)
   1.246 +$(LOG)/HOL-Modelcheck.gz: $(OUT)/HOL Modelcheck/CTL.thy \
   1.247 +  Modelcheck/Example.ML Modelcheck/Example.thy Modelcheck/MCSyn.ML \
   1.248 +  Modelcheck/MCSyn.thy Modelcheck/MuCalculus.ML	\
   1.249 +  Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML
   1.250  	@$(ISATOOL) usedir $(OUT)/HOL Modelcheck
   1.251  
   1.252  
   1.253 -## Properties of substitutions
   1.254 -
   1.255 -SUBST_NAMES = AList Subst Unifier UTerm Unify
   1.256 +## HOL-Lambda
   1.257  
   1.258 -SUBST_FILES = Subst/ROOT.ML \
   1.259 -	      $(SUBST_NAMES:%=Subst/%.thy) $(SUBST_NAMES:%=Subst/%.ML)
   1.260 -
   1.261 -$(LOG)/HOL-Subst.gz: $(OUT)/HOL $(SUBST_FILES)
   1.262 -	@$(ISATOOL) usedir $(OUT)/HOL Subst
   1.263 +HOL-Lambda: HOL $(LOG)/HOL-Lambda.gz
   1.264  
   1.265 -
   1.266 -## Confluence of Lambda-calculus
   1.267 -
   1.268 -LAMBDA_NAMES = Lambda ParRed Commutation Eta
   1.269 -
   1.270 -LAMBDA_FILES = Lambda/ROOT.ML \
   1.271 -	      $(LAMBDA_NAMES:%=Lambda/%.thy) $(LAMBDA_NAMES:%=Lambda/%.ML)
   1.272 -
   1.273 -$(LOG)/HOL-Lambda.gz: $(OUT)/HOL $(LAMBDA_FILES)
   1.274 +$(LOG)/HOL-Lambda.gz: $(OUT)/HOL Lambda/Commutation.ML \
   1.275 +  Lambda/Commutation.thy Lambda/Eta.ML Lambda/Eta.thy Lambda/Lambda.ML \
   1.276 +  Lambda/Lambda.thy Lambda/ParRed.ML Lambda/ParRed.thy Lambda/ROOT.ML
   1.277  	@$(ISATOOL) usedir $(OUT)/HOL Lambda
   1.278  
   1.279  
   1.280 -## Type inference without let
   1.281 +## HOL-W0
   1.282  
   1.283 -W0_NAMES = I Maybe MiniML Type W
   1.284 +HOL-W0: HOL $(LOG)/HOL-W0.gz
   1.285  
   1.286 -W0_FILES = W0/ROOT.ML \
   1.287 -	      $(W0_NAMES:%=W0/%.thy) $(W0_NAMES:%=W0/%.ML)
   1.288 -
   1.289 -$(LOG)/HOL-W0.gz: $(OUT)/HOL $(W0_FILES)
   1.290 +$(LOG)/HOL-W0.gz: $(OUT)/HOL W0/I.ML W0/I.thy W0/Maybe.ML W0/Maybe.thy \
   1.291 +  W0/MiniML.ML W0/MiniML.thy W0/ROOT.ML W0/Type.ML W0/Type.thy W0/W.ML \
   1.292 +  W0/W.thy
   1.293  	@$(ISATOOL) usedir $(OUT)/HOL W0
   1.294  
   1.295  
   1.296 -## Type inference with let
   1.297 +## HOL-MiniML
   1.298  
   1.299 -MINIML_NAMES = Generalize Instance Maybe MiniML Type W
   1.300 +HOL-MiniML: HOL $(LOG)/HOL-MiniML.gz
   1.301  
   1.302 -MINIML_FILES = MiniML/ROOT.ML \
   1.303 -	      $(MINIML_NAMES:%=MiniML/%.thy) $(MINIML_NAMES:%=MiniML/%.ML)
   1.304 -
   1.305 -$(LOG)/HOL-MiniML.gz: $(OUT)/HOL $(MINIML_FILES)
   1.306 +$(LOG)/HOL-MiniML.gz: $(OUT)/HOL MiniML/Generalize.ML \
   1.307 +  MiniML/Generalize.thy MiniML/Instance.ML MiniML/Instance.thy \
   1.308 +  MiniML/Maybe.ML MiniML/Maybe.thy MiniML/MiniML.ML MiniML/MiniML.thy \
   1.309 +  MiniML/ROOT.ML MiniML/Type.ML MiniML/Type.thy MiniML/W.ML MiniML/W.thy
   1.310  	@$(ISATOOL) usedir $(OUT)/HOL MiniML
   1.311  
   1.312  
   1.313 -## Lexical analysis
   1.314 +## HOL-IOA
   1.315 +
   1.316 +HOL-IOA: HOL $(LOG)/HOL-IOA.gz
   1.317  
   1.318 -LEX_FILES = Auto AutoChopper Chopper Prefix
   1.319 +$(LOG)/HOL-IOA.gz: $(OUT)/HOL IOA/Asig.ML IOA/Asig.thy IOA/IOA.ML \
   1.320 +  IOA/IOA.thy IOA/ROOT.ML IOA/Solve.ML IOA/Solve.thy
   1.321 +	@$(ISATOOL) usedir $(OUT)/HOL IOA
   1.322 +
   1.323 +
   1.324 +## HOL-AxClasses
   1.325 +
   1.326 +HOL-AxClasses: HOL $(LOG)/HOL-AxClasses.gz
   1.327  
   1.328 -LEX_FILES = Lex/ROOT.ML \
   1.329 -	    $(LEX_NAMES:%=Lex/%.thy) $(LEX_NAMES:%=Lex/%.ML)
   1.330 +$(LOG)/HOL-AxClasses.gz: $(OUT)/HOL AxClasses/ROOT.ML
   1.331 +	@$(ISATOOL) usedir $(OUT)/HOL AxClasses
   1.332 +
   1.333 +
   1.334 +## HOL-AxClasses-Group
   1.335  
   1.336 -$(LOG)/HOL-Lex.gz: $(OUT)/HOL $(LEX_FILES)
   1.337 -	@$(ISATOOL) usedir $(OUT)/HOL Lex
   1.338 +HOL-AxClasses-Group: HOL-AxClasses $(LOG)/HOL-AxClasses-Group.gz
   1.339 +
   1.340 +$(LOG)/HOL-AxClasses-Group.gz: $(OUT)/HOL AxClasses/Group/Group.ML \
   1.341 +  AxClasses/Group/Group.thy AxClasses/Group/GroupDefs.ML \
   1.342 +  AxClasses/Group/GroupDefs.thy AxClasses/Group/GroupInsts.thy \
   1.343 +  AxClasses/Group/Monoid.thy AxClasses/Group/MonoidGroupInsts.thy \
   1.344 +  AxClasses/Group/ROOT.ML AxClasses/Group/Sigs.thy
   1.345 +	@$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group
   1.346  
   1.347  
   1.348 -## Axiomatic type classes examples
   1.349 -
   1.350 -AXC_GROUP_FILES = Group.ML Group.thy GroupDefs.ML GroupDefs.thy \
   1.351 -	GroupInsts.thy Monoid.thy MonoidGroupInsts.thy ROOT.ML Sigs.thy
   1.352 +## HOL-AxClasses-Lattice
   1.353  
   1.354 -AXC_LATTICE_FILES = CLattice.ML CLattice.thy LatInsts.ML LatInsts.thy \
   1.355 -	LatMorph.ML LatMorph.thy LatPreInsts.ML LatPreInsts.thy \
   1.356 -	Lattice.ML Lattice.thy OrdDefs.ML OrdDefs.thy OrdInsts.thy \
   1.357 -	Order.ML Order.thy ROOT.ML tools.ML
   1.358 +HOL-AxClasses-Lattice: HOL-AxClasses $(LOG)/HOL-AxClasses-Lattice.gz
   1.359  
   1.360 -AXC_TUTORIAL_FILES = BoolGroupInsts.thy Group.ML Group.thy Monoid.thy \
   1.361 -	MonoidGroupInsts.thy ProdGroupInsts.thy Product.thy \
   1.362 -	ProductInsts.thy ROOT.ML Semigroup.thy Semigroups.thy Sigs.thy \
   1.363 -	Xor.ML Xor.thy
   1.364 -
   1.365 -$(LOG)/HOL-AxClasses.gz: AxClasses/ROOT.ML $(OUT)/HOL
   1.366 -	@$(ISATOOL) usedir $(OUT)/HOL AxClasses
   1.367 -
   1.368 -$(LOG)/HOL-AxClasses-Group.gz: $(LOG)/HOL-AxClasses.gz \
   1.369 -  $(AXC_GROUP_FILES:%=AxClasses/Group/%)
   1.370 -	@$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group
   1.371 -
   1.372 -$(LOG)/HOL-AxClasses-Lattice.gz: $(LOG)/HOL-AxClasses.gz \
   1.373 -  $(AXC_LATTICE_FILES:%=AxClasses/Lattice/%)
   1.374 +$(LOG)/HOL-AxClasses-Lattice.gz: $(OUT)/HOL AxClasses/Lattice/CLattice.ML \
   1.375 +  AxClasses/Lattice/CLattice.thy AxClasses/Lattice/LatInsts.ML \
   1.376 +  AxClasses/Lattice/LatInsts.thy AxClasses/Lattice/LatMorph.ML \
   1.377 +  AxClasses/Lattice/LatMorph.thy AxClasses/Lattice/LatPreInsts.ML \
   1.378 +  AxClasses/Lattice/LatPreInsts.thy AxClasses/Lattice/Lattice.ML \
   1.379 +  AxClasses/Lattice/Lattice.thy AxClasses/Lattice/OrdDefs.ML \
   1.380 +  AxClasses/Lattice/OrdDefs.thy AxClasses/Lattice/OrdInsts.thy \
   1.381 +  AxClasses/Lattice/Order.ML AxClasses/Lattice/Order.thy \
   1.382 +  AxClasses/Lattice/ROOT.ML AxClasses/Lattice/tools.ML
   1.383  	@$(ISATOOL) usedir -s AxClasses-Lattice $(OUT)/HOL AxClasses/Lattice
   1.384  
   1.385 -$(LOG)/HOL-AxClasses-Tutorial.gz: $(LOG)/HOL-AxClasses.gz \
   1.386 -  $(AXC_TUTORIAL_FILES:%=AxClasses/Tutorial/%)
   1.387 +
   1.388 +## HOL-AxClasses-Tutorial
   1.389 +
   1.390 +HOL-AxClasses-Tutorial: HOL-AxClasses $(LOG)/HOL-AxClasses-Tutorial.gz
   1.391 +
   1.392 +$(LOG)/HOL-AxClasses-Tutorial.gz: $(OUT)/HOL \
   1.393 +  AxClasses/Tutorial/BoolGroupInsts.thy AxClasses/Tutorial/Group.ML \
   1.394 +  AxClasses/Tutorial/Group.thy AxClasses/Tutorial/Monoid.thy \
   1.395 +  AxClasses/Tutorial/MonoidGroupInsts.thy \
   1.396 +  AxClasses/Tutorial/ProdGroupInsts.thy AxClasses/Tutorial/Product.thy \
   1.397 +  AxClasses/Tutorial/ProductInsts.thy AxClasses/Tutorial/ROOT.ML \
   1.398 +  AxClasses/Tutorial/Semigroup.thy AxClasses/Tutorial/Semigroups.thy \
   1.399 +  AxClasses/Tutorial/Sigs.thy AxClasses/Tutorial/Xor.ML \
   1.400 +  AxClasses/Tutorial/Xor.thy
   1.401  	@$(ISATOOL) usedir -s AxClasses-Tutorial $(OUT)/HOL AxClasses/Tutorial
   1.402  
   1.403  
   1.404 -## Higher-order quotients and example fractionals
   1.405 +## HOL-Quot
   1.406 +
   1.407 +HOL-Quot: HOL $(LOG)/HOL-Quot.gz
   1.408  
   1.409 -QUOT_FILES = Quot/ROOT.ML Quot/PER0.thy Quot/PER0.ML Quot/PER.thy Quot/PER.ML \
   1.410 -	Quot/HQUOT.thy Quot/HQUOT.ML Quot/NPAIR.thy Quot/NPAIR.ML \
   1.411 -	Quot/FRACT.thy Quot/FRACT.ML
   1.412 -
   1.413 -$(LOG)/HOL-Quot.gz: $(OUT)/HOL $(QUOT_FILES)
   1.414 +$(LOG)/HOL-Quot.gz: $(OUT)/HOL Quot/FRACT.ML Quot/FRACT.thy \
   1.415 +  Quot/HQUOT.ML Quot/HQUOT.thy Quot/NPAIR.ML Quot/NPAIR.thy Quot/PER.ML \
   1.416 +  Quot/PER.thy Quot/PER0.ML Quot/PER0.thy Quot/ROOT.ML
   1.417  	@$(ISATOOL) usedir $(OUT)/HOL Quot
   1.418  
   1.419  
   1.420 -## Miscellaneous examples
   1.421 +## HOL-ex
   1.422  
   1.423 -EX_NAMES = Recdef Fib Primes Primrec NatSum String BT InSort Qsort Puzzle MT
   1.424 +HOL-ex: HOL $(LOG)/HOL-ex.gz
   1.425  
   1.426 -EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \
   1.427 -	   ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML)
   1.428 -
   1.429 -$(LOG)/HOL-ex.gz: $(OUT)/HOL $(EX_FILES)
   1.430 +$(LOG)/HOL-ex.gz: $(OUT)/HOL ex/BT.ML ex/BT.thy ex/Fib.ML ex/Fib.thy \
   1.431 +  ex/InSort.ML ex/InSort.thy ex/MT.ML ex/MT.thy ex/NatSum.ML \
   1.432 +  ex/NatSum.thy ex/Primes.ML ex/Primes.thy ex/Primrec.ML ex/Primrec.thy \
   1.433 +  ex/Puzzle.ML ex/Puzzle.thy ex/Qsort.ML ex/Qsort.thy ex/ROOT.ML \
   1.434 +  ex/Recdef.ML ex/Recdef.thy ex/String.ML ex/String.thy ex/cla.ML \
   1.435 +  ex/meson.ML ex/mesontest.ML ex/rel.ML ex/set.ML
   1.436  	@$(ISATOOL) usedir $(OUT)/HOL ex
   1.437  
   1.438  
   1.439 -## Full test
   1.440 +## TLA
   1.441 +
   1.442 +TLA: HOL $(OUT)/TLA
   1.443 +
   1.444 +$(OUT)/TLA: $(OUT)/HOL TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \
   1.445 +  TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \
   1.446 +  TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML
   1.447 +	@cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA
   1.448 +
   1.449 +
   1.450 +## TLA-Inc
   1.451 +
   1.452 +TLA-Inc: TLA $(LOG)/TLA-Inc.gz
   1.453 +
   1.454 +$(LOG)/TLA-Inc.gz: $(OUT)/TLA TLA/Inc/Inc.thy TLA/Inc/Inc.ML \
   1.455 +  TLA/Inc/Pcount.thy
   1.456 +	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc
   1.457 +
   1.458 +
   1.459 +## TLA-Buffer
   1.460 +
   1.461 +TLA-Buffer: TLA $(LOG)/TLA-Buffer.gz
   1.462  
   1.463 -ALL_TARGETS = $(OUT)/HOL $(LOG)/HOL-Subst.gz $(LOG)/HOL-Induct.gz \
   1.464 -  $(LOG)/HOL-IMP.gz $(LOG)/HOL-Hoare.gz $(LOG)/HOL-Lex.gz \
   1.465 -  $(LOG)/HOL-Integ.gz $(LOG)/HOL-Auth.gz $(LOG)/HOL-Modelcheck.gz \
   1.466 -  $(LOG)/HOL-Lambda.gz $(LOG)/HOL-W0.gz $(LOG)/HOL-MiniML.gz \
   1.467 -  $(OUT)/TLA $(LOG)/TLA-Inc.gz $(LOG)/TLA-Buffer.gz \
   1.468 -  $(LOG)/TLA-Memory.gz $(LOG)/HOL-IOA.gz $(LOG)/HOL-AxClasses.gz \
   1.469 -  $(LOG)/HOL-AxClasses-Group.gz $(LOG)/HOL-AxClasses-Lattice.gz \
   1.470 -  $(LOG)/HOL-AxClasses-Tutorial.gz $(LOG)/HOL-Quot.gz $(LOG)/HOL-ex.gz
   1.471 +$(LOG)/TLA-Buffer.gz: $(OUT)/TLA TLA/Buffer/Buffer.thy \
   1.472 +  TLA/Buffer/Buffer.ML TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML
   1.473 +	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer
   1.474 +
   1.475 +
   1.476 +## TLA-Memory
   1.477 +
   1.478 +TLA-Memory: TLA $(LOG)/TLA-Memory.gz
   1.479  
   1.480 -test: $(ALL_TARGETS)
   1.481 +$(LOG)/TLA-Memory.gz: $(OUT)/TLA TLA/Memory/MIParameters.thy \
   1.482 +  TLA/Memory/MIlive.ML TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML \
   1.483 +  TLA/Memory/MemClerk.thy TLA/Memory/MemClerkParameters.ML \
   1.484 +  TLA/Memory/MemClerkParameters.thy TLA/Memory/Memory.ML \
   1.485 +  TLA/Memory/Memory.thy TLA/Memory/MemoryImplementation.ML \
   1.486 +  TLA/Memory/MemoryImplementation.thy TLA/Memory/MemoryParameters.ML \
   1.487 +  TLA/Memory/MemoryParameters.thy TLA/Memory/ProcedureInterface.ML \
   1.488 +  TLA/Memory/ProcedureInterface.thy TLA/Memory/RPC.ML TLA/Memory/RPC.thy \
   1.489 +  TLA/Memory/RPCMemoryParams.thy TLA/Memory/RPCParameters.ML \
   1.490 +  TLA/Memory/RPCParameters.thy
   1.491 +	@cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory
   1.492 +
   1.493 +
   1.494 +## clean
   1.495  
   1.496  clean:
   1.497 -	@rm -f $(ALL_TARGETS)
   1.498 -
   1.499 -
   1.500 -.PRECIOUS: $(OUT)/Pure $(OUT)/HOL
   1.501 +	@rm -f $(OUT)/HOL $(LOG)/HOL.gz $(LOG)/HOL-Subst.gz \
   1.502 +	  $(LOG)/HOL-Induct.gz $(LOG)/HOL-IMP.gz $(LOG)/HOL-Hoare.gz \
   1.503 +	  $(LOG)/HOL-Lex.gz $(LOG)/HOL-Integ.gz $(LOG)/HOL-Auth.gz \
   1.504 +	  $(LOG)/HOL-Modelcheck.gz $(LOG)/HOL-Lambda.gz $(LOG)/HOL-W0.gz \
   1.505 +	  $(LOG)/HOL-MiniML.gz $(LOG)/HOL-IOA.gz $(LOG)/HOL-AxClasses.gz \
   1.506 +	  $(LOG)/HOL-AxClasses-Group.gz $(LOG)/HOL-AxClasses-Lattice.gz \
   1.507 +	  $(LOG)/HOL-AxClasses-Tutorial.gz $(LOG)/HOL-Quot.gz \
   1.508 +	  $(LOG)/HOL-ex.gz $(OUT)/TLA $(LOG)/TLA.gz $(LOG)/TLA-Inc.gz \
   1.509 +	  $(LOG)/TLA-Buffer.gz $(LOG)/TLA-Memory.gz