#
# 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