src/HOL/IsaMakefile
author haftmann
Tue, 01 Sep 2009 15:39:33 +0200
changeset 32479 521cc9bf2958
parent 32402 5731300da417
child 32491 d5d8bea0cd94
child 32496 4ab00a2642c3
permissions -rw-r--r--
some reorganization of number theory

#
# IsaMakefile for HOL
#

## targets

default: HOL
generate: HOL-Generate-HOL HOL-Generate-HOLLight
images: HOL HOL-Base HOL-Plain HOL-Main HOL-Algebra HOL-Nominal HOL-NSA HOL-Word TLA HOL4

#Note: keep targets sorted (except for HOL-Library and HOL-ex)
test: \
  HOL-Library \
  HOL-ex \
  HOL-Auth \
  HOL-Bali \
  HOL-Decision_Procs \
  HOL-Extraction \
  HOL-Hahn_Banach \
  HOL-Hoare \
  HOL-HoareParallel \
  HOL-Import \
  HOL-IMP \
  HOL-IMPP \
  HOL-IOA \
  HOL-Imperative_HOL \
  HOL-Induct \
  HOL-Isar_examples \
  HOL-Lambda \
  HOL-Lattice \
  HOL-Matrix \
  HOL-MetisExamples \
  HOL-MicroJava \
  HOL-Modelcheck \
  HOL-NanoJava \
  HOL-Nominal-Examples \
  HOL-Number_Theory \
  HOL-Old_Number_Theory \
  HOL-Prolog \
  HOL-SET-Protocol \
  HOL-SizeChange \
  HOL-Statespace \
  HOL-Subst \
      TLA-Buffer \
      TLA-Inc \
      TLA-Memory \
  HOL-UNITY \
  HOL-Unix \
  HOL-W0 \
  HOL-Word-Examples \
  HOL-ZF
    # ^ this is the sort position

proofterms: HOL HOL-Extraction HOL-Lambda

all: test images


## global settings

SRC = $(ISABELLE_HOME)/src
OUT = $(ISABELLE_OUTPUT)
LOG = $(OUT)/log


## HOL

HOL: Pure $(OUT)/HOL

HOL-Base: Pure $(OUT)/HOL-Base

HOL-Plain: Pure $(OUT)/HOL-Plain

HOL-Main: Pure $(OUT)/HOL-Main

Pure:
	@cd $(SRC)/Pure; $(ISABELLE_TOOL) make Pure

$(OUT)/Pure: Pure

BASE_DEPENDENCIES = $(OUT)/Pure \
  $(SRC)/Provers/blast.ML \
  $(SRC)/Provers/clasimp.ML \
  $(SRC)/Provers/classical.ML \
  $(SRC)/Provers/hypsubst.ML \
  $(SRC)/Provers/quantifier1.ML \
  $(SRC)/Provers/splitter.ML \
  $(SRC)/Tools/IsaPlanner/isand.ML \
  $(SRC)/Tools/IsaPlanner/rw_inst.ML \
  $(SRC)/Tools/IsaPlanner/rw_tools.ML \
  $(SRC)/Tools/IsaPlanner/zipper.ML \
  $(SRC)/Tools/atomize_elim.ML \
  $(SRC)/Tools/auto_solve.ML \
  $(SRC)/Tools/Code/code_haskell.ML \
  $(SRC)/Tools/Code/code_ml.ML \
  $(SRC)/Tools/Code/code_preproc.ML \
  $(SRC)/Tools/Code/code_printer.ML \
  $(SRC)/Tools/Code/code_target.ML \
  $(SRC)/Tools/Code/code_thingol.ML \
  $(SRC)/Tools/coherent.ML \
  $(SRC)/Tools/eqsubst.ML \
  $(SRC)/Tools/induct.ML \
  $(SRC)/Tools/intuitionistic.ML \
  $(SRC)/Tools/induct_tacs.ML \
  $(SRC)/Tools/nbe.ML \
  $(SRC)/Tools/quickcheck.ML \
  $(SRC)/Tools/project_rule.ML \
  $(SRC)/Tools/random_word.ML \
  $(SRC)/Tools/value.ML \
  $(SRC)/Tools/Code_Generator.thy \
  $(SRC)/Tools/more_conv.ML \
  HOL.thy \
  Tools/hologic.ML \
  Tools/recfun_codegen.ML \
  Tools/simpdata.ML \

$(OUT)/HOL-Base: base.ML $(BASE_DEPENDENCIES)
	@$(ISABELLE_TOOL) usedir -b -f base.ML -d false -g false $(OUT)/Pure HOL-Base

PLAIN_DEPENDENCIES = $(BASE_DEPENDENCIES)\
  Complete_Lattice.thy \
  Datatype.thy \
  Divides.thy \
  Extraction.thy \
  Finite_Set.thy \
  Fun.thy \
  FunDef.thy \
  Inductive.thy \
  Lattices.thy \
  Nat.thy \
  OrderedGroup.thy \
  Orderings.thy \
  Option.thy \
  Plain.thy \
  Power.thy \
  Predicate.thy \
  Product_Type.thy \
  Record.thy \
  Refute.thy \
  Relation.thy \
  Ring_and_Field.thy \
  SAT.thy \
  Set.thy \
  Sum_Type.thy \
  Tools/arith_data.ML \
  Tools/cnf_funcs.ML \
  Tools/Datatype/datatype_abs_proofs.ML \
  Tools/Datatype/datatype_aux.ML \
  Tools/Datatype/datatype_case.ML \
  Tools/Datatype/datatype_codegen.ML \
  Tools/Datatype/datatype.ML \
  Tools/Datatype/datatype_prop.ML \
  Tools/Datatype/datatype_realizer.ML \
  Tools/Datatype/datatype_rep_proofs.ML \
  Tools/dseq.ML \
  Tools/Function/auto_term.ML \
  Tools/Function/context_tree.ML \
  Tools/Function/decompose.ML \
  Tools/Function/descent.ML \
  Tools/Function/fundef_common.ML \
  Tools/Function/fundef_core.ML \
  Tools/Function/fundef_datatype.ML \
  Tools/Function/fundef_lib.ML \
  Tools/Function/fundef.ML \
  Tools/Function/induction_scheme.ML \
  Tools/Function/inductive_wrap.ML \
  Tools/Function/lexicographic_order.ML \
  Tools/Function/measure_functions.ML \
  Tools/Function/mutual.ML \
  Tools/Function/pattern_split.ML \
  Tools/Function/scnp_reconstruct.ML \
  Tools/Function/scnp_solve.ML \
  Tools/Function/size.ML \
  Tools/Function/sum_tree.ML \
  Tools/Function/termination.ML \
  Tools/inductive_codegen.ML \
  Tools/inductive.ML \
  Tools/inductive_realizer.ML \
  Tools/inductive_set.ML \
  Tools/lin_arith.ML \
  Tools/nat_arith.ML \
  Tools/old_primrec.ML \
  Tools/primrec.ML \
  Tools/prop_logic.ML \
  Tools/record.ML \
  Tools/refute.ML \
  Tools/refute_isar.ML \
  Tools/rewrite_hol_proof.ML \
  Tools/sat_funcs.ML \
  Tools/sat_solver.ML \
  Tools/split_rule.ML \
  Tools/typecopy.ML \
  Tools/typedef_codegen.ML \
  Tools/typedef.ML \
  Transitive_Closure.thy \
  Typedef.thy \
  Wellfounded.thy \
  $(SRC)/Provers/Arith/abel_cancel.ML \
  $(SRC)/Provers/Arith/cancel_div_mod.ML \
  $(SRC)/Provers/Arith/cancel_sums.ML \
  $(SRC)/Provers/Arith/fast_lin_arith.ML \
  $(SRC)/Provers/order.ML \
  $(SRC)/Provers/trancl.ML \
  $(SRC)/Tools/rat.ML

$(OUT)/HOL-Plain: plain.ML $(PLAIN_DEPENDENCIES)
	@$(ISABELLE_TOOL) usedir -b -f plain.ML -g true $(OUT)/Pure HOL-Plain

MAIN_DEPENDENCIES = $(PLAIN_DEPENDENCIES) \
  ATP_Linkup.thy \
  Code_Eval.thy \
  Code_Numeral.thy \
  Equiv_Relations.thy \
  Groebner_Basis.thy \
  Hilbert_Choice.thy \
  IntDiv.thy \
  Int.thy \
  List.thy \
  Main.thy \
  Map.thy \
  Nat_Numeral.thy \
  Presburger.thy \
  Quickcheck.thy \
  Random.thy \
  Recdef.thy \
  SetInterval.thy \
  String.thy \
  Typerep.thy \
  $(SRC)/Provers/Arith/assoc_fold.ML \
  $(SRC)/Provers/Arith/cancel_numeral_factor.ML \
  $(SRC)/Provers/Arith/cancel_numerals.ML \
  $(SRC)/Provers/Arith/combine_numerals.ML \
  $(SRC)/Provers/Arith/extract_common_term.ML \
  $(SRC)/Tools/Metis/metis.ML \
  Tools/ATP_Manager/atp_manager.ML \
  Tools/ATP_Manager/atp_minimal.ML \
  Tools/ATP_Manager/atp_wrapper.ML \
  Tools/Groebner_Basis/groebner.ML \
  Tools/Groebner_Basis/misc.ML \
  Tools/Groebner_Basis/normalizer.ML \
  Tools/Groebner_Basis/normalizer_data.ML \
  Tools/int_arith.ML \
  Tools/list_code.ML \
  Tools/meson.ML \
  Tools/metis_tools.ML \
  Tools/nat_numeral_simprocs.ML \
  Tools/numeral.ML \
  Tools/numeral_simprocs.ML \
  Tools/numeral_syntax.ML \
  Tools/polyhash.ML \
  Tools/quickcheck_generators.ML \
  Tools/Qelim/cooper_data.ML \
  Tools/Qelim/cooper.ML \
  Tools/Qelim/generated_cooper.ML \
  Tools/Qelim/presburger.ML \
  Tools/Qelim/qelim.ML \
  Tools/recdef.ML \
  Tools/res_atp.ML \
  Tools/res_axioms.ML \
  Tools/res_clause.ML \
  Tools/res_hol_clause.ML \
  Tools/res_reconstruct.ML \
  Tools/choice_specification.ML \
  Tools/string_code.ML \
  Tools/string_syntax.ML \
  Tools/TFL/casesplit.ML \
  Tools/TFL/dcterm.ML \
  Tools/TFL/post.ML \
  Tools/TFL/rules.ML \
  Tools/TFL/tfl.ML \
  Tools/TFL/thms.ML \
  Tools/TFL/thry.ML \
  Tools/TFL/usyntax.ML \
  Tools/TFL/utils.ML

$(OUT)/HOL-Main: main.ML $(MAIN_DEPENDENCIES)
	@$(ISABELLE_TOOL) usedir -b -f main.ML -g true $(OUT)/Pure HOL-Main

$(OUT)/HOL: ROOT.ML $(MAIN_DEPENDENCIES) \
  Archimedean_Field.thy \
  Complex_Main.thy \
  Complex.thy \
  Deriv.thy \
  Fact.thy \
  GCD.thy \
  Integration.thy \
  Lim.thy \
  Limits.thy \
  Ln.thy \
  Log.thy \
  Lubs.thy \
  MacLaurin.thy \
  NatTransfer.thy \
  NthRoot.thy \
  SEQ.thy \
  Series.thy \
  Taylor.thy \
  Transcendental.thy \
  Parity.thy \
  PReal.thy \
  Rational.thy \
  RComplete.thy \
  RealDef.thy \
  RealPow.thy \
  Real.thy \
  RealVector.thy \
  Tools/float_syntax.ML \
  Tools/transfer_data.ML \
  Tools/Qelim/ferrante_rackoff_data.ML \
  Tools/Qelim/ferrante_rackoff.ML \
  Tools/Qelim/langford_data.ML \
  Tools/Qelim/langford.ML
	@$(ISABELLE_TOOL) usedir $(HOL_USEDIR_OPTIONS) -b -g true $(OUT)/Pure HOL


## HOL-Library

HOL-Library: HOL $(LOG)/HOL-Library.gz

$(LOG)/HOL-Library.gz: $(OUT)/HOL Library/SetsAndFunctions.thy		\
  Library/Abstract_Rat.thy Library/BigO.thy Library/ContNotDenum.thy	\
  Library/Efficient_Nat.thy Library/Euclidean_Space.thy			\
  Library/Sum_Of_Squares.thy Library/Sum_Of_Squares/sos_wrapper.ML	\
  Library/Sum_Of_Squares/sum_of_squares.ML Library/Fset.thy		\
  Library/Convex_Euclidean_Space.thy Library/Glbs.thy			\
  Library/normarith.ML Library/Executable_Set.thy			\
  Library/Infinite_Set.thy Library/FuncSet.thy				\
  Library/Permutations.thy Library/Determinants.thy Library/Bit.thy	\
  Library/Topology_Euclidean_Space.thy					\
  Library/Finite_Cartesian_Product.thy Library/FrechetDeriv.thy		\
  Library/Fraction_Field.thy Library/Fundamental_Theorem_Algebra.thy	\
  Library/Inner_Product.thy Library/Kleene_Algebra.thy			\
  Library/Lattice_Syntax.thy			\
  Library/Library.thy Library/List_Prefix.thy Library/List_Set.thy	\
  Library/State_Monad.thy Library/Nat_Int_Bij.thy Library/Multiset.thy	\
  Library/Permutation.thy	\
  Library/Quotient.thy Library/Quicksort.thy Library/Nat_Infinity.thy	\
  Library/Word.thy Library/README.html Library/Continuity.thy		\
  Library/Order_Relation.thy Library/Nested_Environment.thy		\
  Library/Ramsey.thy Library/Zorn.thy Library/Library/ROOT.ML		\
  Library/Library/document/root.tex Library/Library/document/root.bib	\
  Library/While_Combinator.thy Library/Product_ord.thy			\
  Library/Char_nat.thy Library/Char_ord.thy Library/Option_ord.thy	\
  Library/Sublist_Order.thy Library/List_lexord.thy			\
  Library/Commutative_Ring.thy Library/comm_ring.ML			\
  Library/Coinductive_List.thy Library/AssocList.thy			\
  Library/Formal_Power_Series.thy Library/Binomial.thy			\
  Library/Eval_Witness.thy Library/Code_Char.thy			\
  Library/Code_Char_chr.thy Library/Code_Integer.thy			\
  Library/Mapping.thy Library/Numeral_Type.thy Library/Reflection.thy	\
  Library/Boolean_Algebra.thy Library/Countable.thy			\
  Library/Diagonalize.thy Library/RBT.thy Library/Univ_Poly.thy		\
  Library/Poly_Deriv.thy Library/Polynomial.thy Library/Preorder.thy	\
  Library/Product_plus.thy Library/Product_Vector.thy Library/Tree.thy	\
  Library/Enum.thy Library/Float.thy $(SRC)/Tools/float.ML		\
  $(SRC)/HOL/Tools/float_arith.ML Library/positivstellensatz.ML		\
  Library/reify_data.ML Library/reflection.ML Library/LaTeXsugar.thy	\
  Library/OptionalSugar.thy
	@cd Library; $(ISABELLE_TOOL) usedir $(OUT)/HOL Library


## HOL-Hahn_Banach

HOL-Hahn_Banach: HOL $(LOG)/HOL-Hahn_Banach.gz

$(LOG)/HOL-Hahn_Banach.gz: $(OUT)/HOL Hahn_Banach/Bounds.thy		\
  Hahn_Banach/Function_Norm.thy Hahn_Banach/Function_Order.thy		\
  Hahn_Banach/Hahn_Banach.thy Hahn_Banach/Hahn_Banach_Ext_Lemmas.thy	\
  Hahn_Banach/Hahn_Banach_Sup_Lemmas.thy Hahn_Banach/Linearform.thy	\
  Hahn_Banach/Normed_Space.thy Hahn_Banach/README.html			\
  Hahn_Banach/ROOT.ML Hahn_Banach/Subspace.thy				\
  Hahn_Banach/Vector_Space.thy Hahn_Banach/Zorn_Lemma.thy		\
  Hahn_Banach/document/root.bib Hahn_Banach/document/root.tex
	@$(ISABELLE_TOOL) usedir -g true $(OUT)/HOL Hahn_Banach


## HOL-Subst

HOL-Subst: HOL $(LOG)/HOL-Subst.gz

$(LOG)/HOL-Subst.gz: $(OUT)/HOL Subst/AList.thy Subst/ROOT.ML		\
  Subst/Subst.thy Subst/UTerm.thy Subst/Unifier.thy Subst/Unify.thy
	@$(ISABELLE_TOOL) usedir $(OUT)/HOL Subst


## HOL-Induct

HOL-Induct: HOL $(LOG)/HOL-Induct.gz

$(LOG)/HOL-Induct.gz: $(OUT)/HOL Induct/Com.thy Induct/Comb.thy	\
  Induct/LFilter.thy Induct/LList.thy Induct/Ordinals.thy	\
  Induct/PropLog.thy Induct/QuoNestedDataType.thy		\
  Induct/QuoDataType.thy Induct/ROOT.ML Induct/Sexp.thy		\
  Induct/Sigma_Algebra.thy Induct/SList.thy Induct/ABexp.thy	\
  Induct/Term.thy Induct/Tree.thy Induct/document/root.tex