diff -r fad9b7479dbe -r 74c01296e818 src/HOL/IsaMakefile --- a/src/HOL/IsaMakefile Tue Jan 06 12:32:43 1998 +0100 +++ b/src/HOL/IsaMakefile Wed Jan 07 13:53:42 1998 +0100 @@ -4,267 +4,320 @@ # IsaMakefile for HOL # -#### Base system +## targets +default: HOL +images: HOL TLA +test: HOL-Subst HOL-Induct HOL-IMP HOL-Hoare HOL-Lex HOL-Integ \ + HOL-Auth HOL-Modelcheck HOL-Lambda HOL-W0 HOL-MiniML HOL-IOA \ + HOL-AxClasses HOL-AxClasses-Group HOL-AxClasses-Lattice \ + HOL-AxClasses-Tutorial HOL-Quot HOL-ex TLA-Inc TLA-Buffer TLA-Memory +all: images test + + +## global settings + +SRC = $(ISABELLE_HOME)/src OUT = $(ISABELLE_OUTPUT) LOG = $(OUT)/log -NAMES = HOL Ord Set Fun subset equalities Prod Relation Trancl Sum WF WF_Rel \ - mono Lfp Gfp NatDef Nat intr_elim indrule Inductive Finite Arith \ - Divides Power Sexp Univ List RelPow Option Map + +## HOL -PROVERS = hypsubst.ML classical.ML blast.ML \ - simplifier.ML splitter.ML Arith/nat_transitive.ML Arith/cancel_sums.ML +HOL: Pure $(OUT)/HOL + +Pure: + @cd $(SRC)/Pure; $(ISATOOL) make Pure -TFL = dcterm.sml post.sml rules.new.sml rules.sig \ - sys.sml tfl.sig tfl.sml thms.sig thms.sml thry.sig thry.sml \ - usyntax.sig usyntax.sml utils.sig utils.sml - -FILES = ROOT.ML add_ind_def.ML datatype.ML hologic.ML \ - ind_syntax.ML cladata.ML record.ML simpdata.ML arith_data.ML \ - typedef.ML thy_syntax.ML thy_data.ML $(ISABELLE_HOME)/src/Pure/section_utils.ML \ - $(NAMES:%=%.thy) $(NAMES:%=%.ML) $(TFL:%=../TFL/%) \ - $(PROVERS:%=$(ISABELLE_HOME)/src/Provers/%) - -$(OUT)/HOL: $(OUT)/Pure $(FILES) +$(OUT)/HOL: $(OUT)/Pure $(SRC)/Provers/Arith/cancel_sums.ML \ + $(SRC)/Provers/Arith/nat_transitive.ML $(SRC)/Provers/blast.ML \ + $(SRC)/Provers/classical.ML $(SRC)/Provers/hypsubst.ML \ + $(SRC)/Provers/simplifier.ML $(SRC)/Provers/splitter.ML \ + $(SRC)/Pure/section_utils.ML $(SRC)/TFL/dcterm.sml $(SRC)/TFL/post.sml \ + $(SRC)/TFL/rules.new.sml $(SRC)/TFL/rules.sig $(SRC)/TFL/sys.sml \ + $(SRC)/TFL/tfl.sig $(SRC)/TFL/tfl.sml $(SRC)/TFL/thms.sig \ + $(SRC)/TFL/thms.sml $(SRC)/TFL/thry.sig $(SRC)/TFL/thry.sml \ + $(SRC)/TFL/usyntax.sig $(SRC)/TFL/usyntax.sml $(SRC)/TFL/utils.sig \ + $(SRC)/TFL/utils.sml Arith.ML Arith.thy Divides.ML Divides.thy \ + Finite.ML Finite.thy Fun.ML Fun.thy Gfp.ML Gfp.thy HOL.ML HOL.thy \ + Inductive.ML Inductive.thy Lfp.ML Lfp.thy List.ML List.thy Map.ML \ + Map.thy Nat.ML Nat.thy NatDef.ML NatDef.thy Option.ML Option.thy \ + Ord.ML Ord.thy Power.ML Power.thy Prod.ML Prod.thy ROOT.ML RelPow.ML \ + RelPow.thy Relation.ML Relation.thy Set.ML Set.thy Sexp.ML Sexp.thy \ + Sum.ML Sum.thy Trancl.ML Trancl.thy Univ.ML Univ.thy WF.ML WF.thy \ + WF_Rel.ML WF_Rel.thy add_ind_def.ML arith_data.ML cladata.ML \ + datatype.ML equalities.ML equalities.thy hologic.ML ind_syntax.ML \ + indrule.ML indrule.thy intr_elim.ML intr_elim.thy mono.ML mono.thy \ + record.ML simpdata.ML subset.ML subset.thy thy_data.ML thy_syntax.ML \ + typedef.ML @$(ISATOOL) usedir -b $(OUT)/Pure HOL -$(OUT)/Pure: - @cd ../Pure; $(ISATOOL) make + +## HOL-Subst + +HOL-Subst: HOL $(LOG)/HOL-Subst.gz + +$(LOG)/HOL-Subst.gz: $(OUT)/HOL Subst/AList.ML Subst/AList.thy \ + Subst/ROOT.ML Subst/Subst.ML Subst/Subst.thy Subst/UTerm.ML \ + Subst/UTerm.thy Subst/Unifier.ML Subst/Unifier.thy Subst/Unify.ML \ + Subst/Unify.thy + @$(ISATOOL) usedir $(OUT)/HOL Subst -#### Tests and examples +## HOL-Induct -## Inductive definitions: simple examples +HOL-Induct: HOL $(LOG)/HOL-Induct.gz -INDUCT_FILES = Perm Comb Mutil SList LList LFilter Acc PropLog Term Simult Com Exp - -INDUCT_FILES = Induct/ROOT.ML \ - $(INDUCT_NAMES:%=Induct/%.thy) $(INDUCT_NAMES:%=Induct/%.ML) - -$(LOG)/HOL-Induct.gz: $(OUT)/HOL $(INDUCT_FILES) +$(LOG)/HOL-Induct.gz: $(OUT)/HOL Induct/Acc.ML Induct/Acc.thy \ + Induct/Com.ML Induct/Com.thy Induct/Comb.ML Induct/Comb.thy \ + Induct/Exp.ML Induct/Exp.thy Induct/LFilter.ML Induct/LFilter.thy \ + Induct/LList.ML Induct/LList.thy Induct/Mutil.ML Induct/Mutil.thy \ + Induct/Perm.ML Induct/Perm.thy Induct/PropLog.ML Induct/PropLog.thy \ + Induct/ROOT.ML Induct/SList.ML Induct/SList.thy Induct/Simult.ML \ + Induct/Simult.thy Induct/Term.ML Induct/Term.thy @$(ISATOOL) usedir $(OUT)/HOL Induct -## IMP-semantics example +## HOL-IMP + +HOL-IMP: HOL $(LOG)/HOL-IMP.gz -IMP_NAMES = Expr Com Natural Transition Denotation Hoare VC -IMP_FILES = IMP/ROOT.ML $(IMP_NAMES:%=IMP/%.thy) $(IMP_NAMES:%=IMP/%.ML) - -$(LOG)/HOL-IMP.gz: $(OUT)/HOL $(IMP_FILES) +$(LOG)/HOL-IMP.gz: $(OUT)/HOL IMP/Com.ML IMP/Com.thy IMP/Denotation.ML \ + IMP/Denotation.thy IMP/Expr.ML IMP/Expr.thy IMP/Hoare.ML IMP/Hoare.thy \ + IMP/Natural.ML IMP/Natural.thy IMP/ROOT.ML IMP/Transition.ML \ + IMP/Transition.thy IMP/VC.ML IMP/VC.thy @$(ISATOOL) usedir $(OUT)/HOL IMP -## Hoare logic +## HOL-Hoare + +HOL-Hoare: HOL $(LOG)/HOL-Hoare.gz -Hoare_NAMES = Hoare Arith2 Examples -Hoare_FILES = Hoare/ROOT.ML $(Hoare_NAMES:%=Hoare/%.thy) \ - $(Hoare_NAMES:%=Hoare/%.ML) - -$(LOG)/HOL-Hoare.gz: $(OUT)/HOL $(Hoare_FILES) +$(LOG)/HOL-Hoare.gz: $(OUT)/HOL Hoare/Arith2.ML Hoare/Arith2.thy \ + Hoare/Examples.ML Hoare/Examples.thy Hoare/Hoare.ML Hoare/Hoare.thy \ + Hoare/ROOT.ML @$(ISATOOL) usedir $(OUT)/HOL Hoare -## The integers in HOL +## HOL-Lex + +HOL-Lex: HOL $(LOG)/HOL-Lex.gz -INTEG_NAMES = Equiv Integ Group Ring Lagrange IntRingDefs IntRing +$(LOG)/HOL-Lex.gz: $(OUT)/HOL Lex/Auto.thy Lex/Auto.ML \ + Lex/AutoChopper.thy Lex/AutoChopper.ML Lex/AutoChopper1.thy \ + Lex/Chopper.thy Lex/Prefix.thy Lex/Prefix.ML Lex/ROOT.ML \ + Lex/Regset_of_auto.ML Lex/Regset_of_auto.thy + @$(ISATOOL) usedir $(OUT)/HOL Lex -INTEG_FILES = Integ/ROOT.ML \ - $(INTEG_NAMES:%=Integ/%.thy) $(INTEG_NAMES:%=Integ/%.ML) + +## HOL-Integ + +HOL-Integ: HOL $(LOG)/HOL-Integ.gz -$(LOG)/HOL-Integ.gz: $(OUT)/HOL $(INTEG_FILES) +$(LOG)/HOL-Integ.gz: $(OUT)/HOL Integ/Bin.ML Integ/Bin.thy \ + Integ/Equiv.ML Integ/Equiv.thy Integ/Group.ML Integ/Group.thy \ + Integ/IntRing.ML Integ/IntRing.thy Integ/IntRingDefs.ML \ + Integ/IntRingDefs.thy Integ/Integ.ML Integ/Integ.thy Integ/Lagrange.ML \ + Integ/Lagrange.thy Integ/ROOT.ML Integ/Ring.ML Integ/Ring.thy @$(ISATOOL) usedir $(OUT)/HOL Integ -## TLA -- Temporal Logic of Actions - -TLA_FILES = TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \ - TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \ - TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML - -TLA_INC_FILES = TLA/Inc/Inc.thy TLA/Inc/Inc.ML TLA/Inc/Pcount.thy - -TLA_BUFFER_FILES = TLA/Buffer/Buffer.thy TLA/Buffer/Buffer.ML \ - TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML +## HOL-Auth -TLA_MEMORY_FILES = TLA/Memory/MIParameters.thy TLA/Memory/MIlive.ML \ - TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML TLA/Memory/MemClerk.thy \ - TLA/Memory/MemClerkParameters.ML TLA/Memory/MemClerkParameters.thy \ - TLA/Memory/Memory.ML TLA/Memory/Memory.thy \ - TLA/Memory/MemoryImplementation.ML TLA/Memory/MemoryImplementation.thy \ - TLA/Memory/MemoryParameters.ML TLA/Memory/MemoryParameters.thy \ - TLA/Memory/ProcedureInterface.ML TLA/Memory/ProcedureInterface.thy \ - TLA/Memory/RPC.ML TLA/Memory/RPC.thy TLA/Memory/RPCMemoryParams.thy \ - TLA/Memory/RPCParameters.ML TLA/Memory/RPCParameters.thy - - -$(OUT)/TLA: $(OUT)/HOL $(TLA_FILES) - @cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA +HOL-Auth: HOL $(LOG)/HOL-Auth.gz -$(LOG)/TLA-Inc.gz: $(OUT)/TLA $(TLA_INC_FILES) - @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc - -$(LOG)/TLA-Buffer.gz: $(OUT)/TLA $(TLA_BUFFER_FILES) - @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer - -$(LOG)/TLA-Memory.gz: $(OUT)/TLA $(TLA_MEMORY_FILES) - @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory - - -## I/O Automata (meta theory only) - -IOA_FILES = IOA/ROOT.ML IOA/Asig.thy IOA/Asig.ML IOA/IOA.thy \ - IOA/IOA.ML IOA/Solve.thy IOA/Solve.ML - -$(LOG)/HOL-IOA.gz: $(OUT)/HOL $(IOA_FILES) - @$(ISATOOL) usedir $(OUT)/HOL IOA - - -## Authentication & Security Protocols - -AUTH_NAMES = Message Event Shared NS_Shared \ - OtwayRees OtwayRees_AN OtwayRees_Bad \ - Recur WooLam Yahalom Yahalom2 \ - Public NS_Public_Bad NS_Public TLS - -AUTH_FILES = Auth/ROOT.ML $(AUTH_NAMES:%=Auth/%.thy) $(AUTH_NAMES:%=Auth/%.ML) - -$(LOG)/HOL-Auth.gz: $(OUT)/HOL $(AUTH_FILES) +$(LOG)/HOL-Auth.gz: $(OUT)/HOL Auth/Event.ML Auth/Event.thy \ + Auth/Message.ML Auth/Message.thy Auth/NS_Public.ML Auth/NS_Public.thy \ + Auth/NS_Public_Bad.ML Auth/NS_Public_Bad.thy Auth/NS_Shared.ML \ + Auth/NS_Shared.thy Auth/OtwayRees.ML Auth/OtwayRees.thy \ + Auth/OtwayRees_AN.ML Auth/OtwayRees_AN.thy Auth/OtwayRees_Bad.ML \ + Auth/OtwayRees_Bad.thy Auth/Public.ML Auth/Public.thy Auth/ROOT.ML \ + Auth/Recur.ML Auth/Recur.thy Auth/Shared.ML Auth/Shared.thy \ + Auth/TLS.ML Auth/TLS.thy Auth/WooLam.ML Auth/WooLam.thy \ + Auth/Yahalom.ML Auth/Yahalom.thy Auth/Yahalom2.ML Auth/Yahalom2.thy @$(ISATOOL) usedir $(OUT)/HOL Auth -## Modelchecker invocation +## HOL-Modelcheck + +HOL-Modelcheck: HOL $(LOG)/HOL-Modelcheck.gz -MC_FILES = Modelcheck/CTL.thy Modelcheck/Example.ML \ - Modelcheck/Example.thy Modelcheck/MCSyn.ML Modelcheck/MCSyn.thy \ - Modelcheck/MuCalculus.ML Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML - -$(LOG)/HOL-Modelcheck.gz: $(OUT)/HOL $(MC_FILES) +$(LOG)/HOL-Modelcheck.gz: $(OUT)/HOL Modelcheck/CTL.thy \ + Modelcheck/Example.ML Modelcheck/Example.thy Modelcheck/MCSyn.ML \ + Modelcheck/MCSyn.thy Modelcheck/MuCalculus.ML \ + Modelcheck/MuCalculus.thy Modelcheck/ROOT.ML @$(ISATOOL) usedir $(OUT)/HOL Modelcheck -## Properties of substitutions - -SUBST_NAMES = AList Subst Unifier UTerm Unify +## HOL-Lambda -SUBST_FILES = Subst/ROOT.ML \ - $(SUBST_NAMES:%=Subst/%.thy) $(SUBST_NAMES:%=Subst/%.ML) - -$(LOG)/HOL-Subst.gz: $(OUT)/HOL $(SUBST_FILES) - @$(ISATOOL) usedir $(OUT)/HOL Subst +HOL-Lambda: HOL $(LOG)/HOL-Lambda.gz - -## Confluence of Lambda-calculus - -LAMBDA_NAMES = Lambda ParRed Commutation Eta - -LAMBDA_FILES = Lambda/ROOT.ML \ - $(LAMBDA_NAMES:%=Lambda/%.thy) $(LAMBDA_NAMES:%=Lambda/%.ML) - -$(LOG)/HOL-Lambda.gz: $(OUT)/HOL $(LAMBDA_FILES) +$(LOG)/HOL-Lambda.gz: $(OUT)/HOL Lambda/Commutation.ML \ + Lambda/Commutation.thy Lambda/Eta.ML Lambda/Eta.thy Lambda/Lambda.ML \ + Lambda/Lambda.thy Lambda/ParRed.ML Lambda/ParRed.thy Lambda/ROOT.ML @$(ISATOOL) usedir $(OUT)/HOL Lambda -## Type inference without let +## HOL-W0 -W0_NAMES = I Maybe MiniML Type W +HOL-W0: HOL $(LOG)/HOL-W0.gz -W0_FILES = W0/ROOT.ML \ - $(W0_NAMES:%=W0/%.thy) $(W0_NAMES:%=W0/%.ML) - -$(LOG)/HOL-W0.gz: $(OUT)/HOL $(W0_FILES) +$(LOG)/HOL-W0.gz: $(OUT)/HOL W0/I.ML W0/I.thy W0/Maybe.ML W0/Maybe.thy \ + W0/MiniML.ML W0/MiniML.thy W0/ROOT.ML W0/Type.ML W0/Type.thy W0/W.ML \ + W0/W.thy @$(ISATOOL) usedir $(OUT)/HOL W0 -## Type inference with let +## HOL-MiniML -MINIML_NAMES = Generalize Instance Maybe MiniML Type W +HOL-MiniML: HOL $(LOG)/HOL-MiniML.gz -MINIML_FILES = MiniML/ROOT.ML \ - $(MINIML_NAMES:%=MiniML/%.thy) $(MINIML_NAMES:%=MiniML/%.ML) - -$(LOG)/HOL-MiniML.gz: $(OUT)/HOL $(MINIML_FILES) +$(LOG)/HOL-MiniML.gz: $(OUT)/HOL MiniML/Generalize.ML \ + MiniML/Generalize.thy MiniML/Instance.ML MiniML/Instance.thy \ + MiniML/Maybe.ML MiniML/Maybe.thy MiniML/MiniML.ML MiniML/MiniML.thy \ + MiniML/ROOT.ML MiniML/Type.ML MiniML/Type.thy MiniML/W.ML MiniML/W.thy @$(ISATOOL) usedir $(OUT)/HOL MiniML -## Lexical analysis +## HOL-IOA + +HOL-IOA: HOL $(LOG)/HOL-IOA.gz -LEX_FILES = Auto AutoChopper Chopper Prefix +$(LOG)/HOL-IOA.gz: $(OUT)/HOL IOA/Asig.ML IOA/Asig.thy IOA/IOA.ML \ + IOA/IOA.thy IOA/ROOT.ML IOA/Solve.ML IOA/Solve.thy + @$(ISATOOL) usedir $(OUT)/HOL IOA + + +## HOL-AxClasses + +HOL-AxClasses: HOL $(LOG)/HOL-AxClasses.gz -LEX_FILES = Lex/ROOT.ML \ - $(LEX_NAMES:%=Lex/%.thy) $(LEX_NAMES:%=Lex/%.ML) +$(LOG)/HOL-AxClasses.gz: $(OUT)/HOL AxClasses/ROOT.ML + @$(ISATOOL) usedir $(OUT)/HOL AxClasses + + +## HOL-AxClasses-Group -$(LOG)/HOL-Lex.gz: $(OUT)/HOL $(LEX_FILES) - @$(ISATOOL) usedir $(OUT)/HOL Lex +HOL-AxClasses-Group: HOL-AxClasses $(LOG)/HOL-AxClasses-Group.gz + +$(LOG)/HOL-AxClasses-Group.gz: $(OUT)/HOL AxClasses/Group/Group.ML \ + AxClasses/Group/Group.thy AxClasses/Group/GroupDefs.ML \ + AxClasses/Group/GroupDefs.thy AxClasses/Group/GroupInsts.thy \ + AxClasses/Group/Monoid.thy AxClasses/Group/MonoidGroupInsts.thy \ + AxClasses/Group/ROOT.ML AxClasses/Group/Sigs.thy + @$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group -## Axiomatic type classes examples - -AXC_GROUP_FILES = Group.ML Group.thy GroupDefs.ML GroupDefs.thy \ - GroupInsts.thy Monoid.thy MonoidGroupInsts.thy ROOT.ML Sigs.thy +## HOL-AxClasses-Lattice -AXC_LATTICE_FILES = CLattice.ML CLattice.thy LatInsts.ML LatInsts.thy \ - LatMorph.ML LatMorph.thy LatPreInsts.ML LatPreInsts.thy \ - Lattice.ML Lattice.thy OrdDefs.ML OrdDefs.thy OrdInsts.thy \ - Order.ML Order.thy ROOT.ML tools.ML +HOL-AxClasses-Lattice: HOL-AxClasses $(LOG)/HOL-AxClasses-Lattice.gz -AXC_TUTORIAL_FILES = BoolGroupInsts.thy Group.ML Group.thy Monoid.thy \ - MonoidGroupInsts.thy ProdGroupInsts.thy Product.thy \ - ProductInsts.thy ROOT.ML Semigroup.thy Semigroups.thy Sigs.thy \ - Xor.ML Xor.thy - -$(LOG)/HOL-AxClasses.gz: AxClasses/ROOT.ML $(OUT)/HOL - @$(ISATOOL) usedir $(OUT)/HOL AxClasses - -$(LOG)/HOL-AxClasses-Group.gz: $(LOG)/HOL-AxClasses.gz \ - $(AXC_GROUP_FILES:%=AxClasses/Group/%) - @$(ISATOOL) usedir -s AxClasses-Group $(OUT)/HOL AxClasses/Group - -$(LOG)/HOL-AxClasses-Lattice.gz: $(LOG)/HOL-AxClasses.gz \ - $(AXC_LATTICE_FILES:%=AxClasses/Lattice/%) +$(LOG)/HOL-AxClasses-Lattice.gz: $(OUT)/HOL AxClasses/Lattice/CLattice.ML \ + AxClasses/Lattice/CLattice.thy AxClasses/Lattice/LatInsts.ML \ + AxClasses/Lattice/LatInsts.thy AxClasses/Lattice/LatMorph.ML \ + AxClasses/Lattice/LatMorph.thy AxClasses/Lattice/LatPreInsts.ML \ + AxClasses/Lattice/LatPreInsts.thy AxClasses/Lattice/Lattice.ML \ + AxClasses/Lattice/Lattice.thy AxClasses/Lattice/OrdDefs.ML \ + AxClasses/Lattice/OrdDefs.thy AxClasses/Lattice/OrdInsts.thy \ + AxClasses/Lattice/Order.ML AxClasses/Lattice/Order.thy \ + AxClasses/Lattice/ROOT.ML AxClasses/Lattice/tools.ML @$(ISATOOL) usedir -s AxClasses-Lattice $(OUT)/HOL AxClasses/Lattice -$(LOG)/HOL-AxClasses-Tutorial.gz: $(LOG)/HOL-AxClasses.gz \ - $(AXC_TUTORIAL_FILES:%=AxClasses/Tutorial/%) + +## HOL-AxClasses-Tutorial + +HOL-AxClasses-Tutorial: HOL-AxClasses $(LOG)/HOL-AxClasses-Tutorial.gz + +$(LOG)/HOL-AxClasses-Tutorial.gz: $(OUT)/HOL \ + AxClasses/Tutorial/BoolGroupInsts.thy AxClasses/Tutorial/Group.ML \ + AxClasses/Tutorial/Group.thy AxClasses/Tutorial/Monoid.thy \ + AxClasses/Tutorial/MonoidGroupInsts.thy \ + AxClasses/Tutorial/ProdGroupInsts.thy AxClasses/Tutorial/Product.thy \ + AxClasses/Tutorial/ProductInsts.thy AxClasses/Tutorial/ROOT.ML \ + AxClasses/Tutorial/Semigroup.thy AxClasses/Tutorial/Semigroups.thy \ + AxClasses/Tutorial/Sigs.thy AxClasses/Tutorial/Xor.ML \ + AxClasses/Tutorial/Xor.thy @$(ISATOOL) usedir -s AxClasses-Tutorial $(OUT)/HOL AxClasses/Tutorial -## Higher-order quotients and example fractionals +## HOL-Quot + +HOL-Quot: HOL $(LOG)/HOL-Quot.gz -QUOT_FILES = Quot/ROOT.ML Quot/PER0.thy Quot/PER0.ML Quot/PER.thy Quot/PER.ML \ - Quot/HQUOT.thy Quot/HQUOT.ML Quot/NPAIR.thy Quot/NPAIR.ML \ - Quot/FRACT.thy Quot/FRACT.ML - -$(LOG)/HOL-Quot.gz: $(OUT)/HOL $(QUOT_FILES) +$(LOG)/HOL-Quot.gz: $(OUT)/HOL Quot/FRACT.ML Quot/FRACT.thy \ + Quot/HQUOT.ML Quot/HQUOT.thy Quot/NPAIR.ML Quot/NPAIR.thy Quot/PER.ML \ + Quot/PER.thy Quot/PER0.ML Quot/PER0.thy Quot/ROOT.ML @$(ISATOOL) usedir $(OUT)/HOL Quot -## Miscellaneous examples +## HOL-ex -EX_NAMES = Recdef Fib Primes Primrec NatSum String BT InSort Qsort Puzzle MT +HOL-ex: HOL $(LOG)/HOL-ex.gz -EX_FILES = ex/ROOT.ML ex/cla.ML ex/meson.ML ex/mesontest.ML ex/rel.ML \ - ex/set.ML $(EX_NAMES:%=ex/%.thy) $(EX_NAMES:%=ex/%.ML) - -$(LOG)/HOL-ex.gz: $(OUT)/HOL $(EX_FILES) +$(LOG)/HOL-ex.gz: $(OUT)/HOL ex/BT.ML ex/BT.thy ex/Fib.ML ex/Fib.thy \ + ex/InSort.ML ex/InSort.thy ex/MT.ML ex/MT.thy ex/NatSum.ML \ + ex/NatSum.thy ex/Primes.ML ex/Primes.thy ex/Primrec.ML ex/Primrec.thy \ + ex/Puzzle.ML ex/Puzzle.thy ex/Qsort.ML ex/Qsort.thy ex/ROOT.ML \ + ex/Recdef.ML ex/Recdef.thy ex/String.ML ex/String.thy ex/cla.ML \ + ex/meson.ML ex/mesontest.ML ex/rel.ML ex/set.ML @$(ISATOOL) usedir $(OUT)/HOL ex -## Full test +## TLA + +TLA: HOL $(OUT)/TLA + +$(OUT)/TLA: $(OUT)/HOL TLA/Action.ML TLA/Action.thy TLA/IntLemmas.ML \ + TLA/Intensional.ML TLA/Intensional.thy TLA/ROOT.ML TLA/Stfun.ML \ + TLA/Stfun.thy TLA/TLA.ML TLA/TLA.thy TLA/cladata.ML TLA/hypsubst.ML + @cd TLA; $(ISATOOL) usedir -b $(OUT)/HOL TLA + + +## TLA-Inc + +TLA-Inc: TLA $(LOG)/TLA-Inc.gz + +$(LOG)/TLA-Inc.gz: $(OUT)/TLA TLA/Inc/Inc.thy TLA/Inc/Inc.ML \ + TLA/Inc/Pcount.thy + @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Inc + + +## TLA-Buffer + +TLA-Buffer: TLA $(LOG)/TLA-Buffer.gz -ALL_TARGETS = $(OUT)/HOL $(LOG)/HOL-Subst.gz $(LOG)/HOL-Induct.gz \ - $(LOG)/HOL-IMP.gz $(LOG)/HOL-Hoare.gz $(LOG)/HOL-Lex.gz \ - $(LOG)/HOL-Integ.gz $(LOG)/HOL-Auth.gz $(LOG)/HOL-Modelcheck.gz \ - $(LOG)/HOL-Lambda.gz $(LOG)/HOL-W0.gz $(LOG)/HOL-MiniML.gz \ - $(OUT)/TLA $(LOG)/TLA-Inc.gz $(LOG)/TLA-Buffer.gz \ - $(LOG)/TLA-Memory.gz $(LOG)/HOL-IOA.gz $(LOG)/HOL-AxClasses.gz \ - $(LOG)/HOL-AxClasses-Group.gz $(LOG)/HOL-AxClasses-Lattice.gz \ - $(LOG)/HOL-AxClasses-Tutorial.gz $(LOG)/HOL-Quot.gz $(LOG)/HOL-ex.gz +$(LOG)/TLA-Buffer.gz: $(OUT)/TLA TLA/Buffer/Buffer.thy \ + TLA/Buffer/Buffer.ML TLA/Buffer/DBuffer.thy TLA/Buffer/DBuffer.ML + @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Buffer + + +## TLA-Memory + +TLA-Memory: TLA $(LOG)/TLA-Memory.gz -test: $(ALL_TARGETS) +$(LOG)/TLA-Memory.gz: $(OUT)/TLA TLA/Memory/MIParameters.thy \ + TLA/Memory/MIlive.ML TLA/Memory/MIsafe.ML TLA/Memory/MemClerk.ML \ + TLA/Memory/MemClerk.thy TLA/Memory/MemClerkParameters.ML \ + TLA/Memory/MemClerkParameters.thy TLA/Memory/Memory.ML \ + TLA/Memory/Memory.thy TLA/Memory/MemoryImplementation.ML \ + TLA/Memory/MemoryImplementation.thy TLA/Memory/MemoryParameters.ML \ + TLA/Memory/MemoryParameters.thy TLA/Memory/ProcedureInterface.ML \ + TLA/Memory/ProcedureInterface.thy TLA/Memory/RPC.ML TLA/Memory/RPC.thy \ + TLA/Memory/RPCMemoryParams.thy TLA/Memory/RPCParameters.ML \ + TLA/Memory/RPCParameters.thy + @cd TLA; $(ISATOOL) usedir $(OUT)/TLA Memory + + +## clean clean: - @rm -f $(ALL_TARGETS) - - -.PRECIOUS: $(OUT)/Pure $(OUT)/HOL + @rm -f $(OUT)/HOL $(LOG)/HOL.gz $(LOG)/HOL-Subst.gz \ + $(LOG)/HOL-Induct.gz $(LOG)/HOL-IMP.gz $(LOG)/HOL-Hoare.gz \ + $(LOG)/HOL-Lex.gz $(LOG)/HOL-Integ.gz $(LOG)/HOL-Auth.gz \ + $(LOG)/HOL-Modelcheck.gz $(LOG)/HOL-Lambda.gz $(LOG)/HOL-W0.gz \ + $(LOG)/HOL-MiniML.gz $(LOG)/HOL-IOA.gz $(LOG)/HOL-AxClasses.gz \ + $(LOG)/HOL-AxClasses-Group.gz $(LOG)/HOL-AxClasses-Lattice.gz \ + $(LOG)/HOL-AxClasses-Tutorial.gz $(LOG)/HOL-Quot.gz \ + $(LOG)/HOL-ex.gz $(OUT)/TLA $(LOG)/TLA.gz $(LOG)/TLA-Inc.gz \ + $(LOG)/TLA-Buffer.gz $(LOG)/TLA-Memory.gz