src/HOL/HOLCF/IsaMakefile
author huffman
Sun Dec 19 05:15:31 2010 -0800 (2010-12-19)
changeset 41286 3d7685a4a5ff
parent 41285 efd23c1d9886
child 43524 d75e285fcf3e
permissions -rw-r--r--
reintroduce 'bifinite' class, now with existentially-quantified approx function (cf. b525988432e9)
     1 #
     2 # IsaMakefile for HOLCF
     3 #
     4 
     5 ## targets
     6 
     7 default: HOLCF
     8 images: HOLCF IOA
     9 test: \
    10   HOLCF-FOCUS \
    11   HOLCF-IMP \
    12   HOLCF-Library \
    13   HOLCF-Tutorial \
    14   HOLCF-ex \
    15   IOA-ABP \
    16   IOA-NTP \
    17   IOA-Storage \
    18   IOA-ex
    19 all: images test
    20 
    21 
    22 ## global settings
    23 
    24 SRC = $(ISABELLE_HOME)/src
    25 OUT = $(ISABELLE_OUTPUT)
    26 LOG = $(OUT)/log
    27 
    28 
    29 ## HOLCF
    30 
    31 HOLCF: HOL $(OUT)/HOLCF
    32 
    33 HOL:
    34 	@cd $(SRC)/HOL; $(ISABELLE_TOOL) make HOL
    35 
    36 $(OUT)/HOLCF: $(OUT)/HOL \
    37   ROOT.ML \
    38   Adm.thy \
    39   Algebraic.thy \
    40   Bifinite.thy \
    41   Cfun.thy \
    42   Compact_Basis.thy \
    43   Completion.thy \
    44   Cont.thy \
    45   ConvexPD.thy \
    46   Cpodef.thy \
    47   Cprod.thy \
    48   Discrete.thy \
    49   Deflation.thy \
    50   Domain.thy \
    51   Domain_Aux.thy \
    52   Fixrec.thy \
    53   Fix.thy \
    54   Fun_Cpo.thy \
    55   HOLCF.thy \
    56   Lift.thy \
    57   LowerPD.thy \
    58   Map_Functions.thy \
    59   One.thy \
    60   Pcpo.thy \
    61   Plain_HOLCF.thy \
    62   Porder.thy \
    63   Powerdomains.thy \
    64   Product_Cpo.thy \
    65   Representable.thy \
    66   Sfun.thy \
    67   Sprod.thy \
    68   Ssum.thy \
    69   Tr.thy \
    70   Universal.thy \
    71   UpperPD.thy \
    72   Up.thy \
    73   Tools/cont_consts.ML \
    74   Tools/cont_proc.ML \
    75   Tools/holcf_library.ML \
    76   Tools/Domain/domain.ML \
    77   Tools/Domain/domain_axioms.ML \
    78   Tools/Domain/domain_constructors.ML \
    79   Tools/Domain/domain_induction.ML \
    80   Tools/Domain/domain_isomorphism.ML \
    81   Tools/Domain/domain_take_proofs.ML \
    82   Tools/cpodef.ML \
    83   Tools/domaindef.ML \
    84   Tools/fixrec.ML \
    85   document/root.tex
    86 	@$(ISABELLE_TOOL) usedir -b -g true $(OUT)/HOL HOLCF
    87 
    88 
    89 ## HOLCF-Tutorial
    90 
    91 HOLCF-Tutorial: HOLCF $(LOG)/HOLCF-Tutorial.gz
    92 
    93 $(LOG)/HOLCF-Tutorial.gz: $(OUT)/HOLCF \
    94   Tutorial/Domain_ex.thy \
    95   Tutorial/Fixrec_ex.thy \
    96   Tutorial/New_Domain.thy \
    97   Tutorial/document/root.tex \
    98   Tutorial/ROOT.ML
    99 	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF Tutorial
   100 
   101 
   102 ## HOLCF-Library
   103 
   104 HOLCF-Library: HOLCF $(LOG)/HOLCF-Library.gz
   105 
   106 $(LOG)/HOLCF-Library.gz: $(OUT)/HOLCF \
   107   Library/Defl_Bifinite.thy \
   108   Library/Bool_Discrete.thy \
   109   Library/Char_Discrete.thy \
   110   Library/HOL_Cpo.thy \
   111   Library/Int_Discrete.thy \
   112   Library/List_Cpo.thy \
   113   Library/List_Predomain.thy \
   114   Library/Nat_Discrete.thy \
   115   Library/Option_Cpo.thy \
   116   Library/Stream.thy \
   117   Library/Sum_Cpo.thy \
   118   Library/HOLCF_Library.thy \
   119   Library/ROOT.ML
   120 	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF Library
   121 
   122 
   123 ## HOLCF-IMP
   124 
   125 HOLCF-IMP: HOLCF $(LOG)/HOLCF-IMP.gz
   126 
   127 $(LOG)/HOLCF-IMP.gz: $(OUT)/HOLCF IMP/HoareEx.thy \
   128   IMP/Denotational.thy IMP/ROOT.ML IMP/document/root.tex
   129 	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF IMP
   130 
   131 
   132 ## HOLCF-ex
   133 
   134 HOLCF-ex: HOLCF $(LOG)/HOLCF-ex.gz
   135 
   136 $(LOG)/HOLCF-ex.gz: $(OUT)/HOLCF \
   137   ../Library/Nat_Infinity.thy \
   138   ex/Dagstuhl.thy \
   139   ex/Dnat.thy \
   140   ex/Domain_Proofs.thy \
   141   ex/Fix2.thy \
   142   ex/Focus_ex.thy \
   143   ex/Hoare.thy \
   144   ex/Letrec.thy \
   145   ex/Loop.thy \
   146   ex/Pattern_Match.thy \
   147   ex/Powerdomain_ex.thy \
   148   ex/ROOT.ML
   149 	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF ex
   150 
   151 
   152 ## HOLCF-FOCUS
   153 
   154 HOLCF-FOCUS: HOLCF $(LOG)/HOLCF-FOCUS.gz
   155 
   156 $(LOG)/HOLCF-FOCUS.gz: $(OUT)/HOLCF \
   157   Library/Stream.thy \
   158   FOCUS/Fstreams.thy \
   159   FOCUS/Fstream.thy FOCUS/FOCUS.thy \
   160   FOCUS/Stream_adm.thy ../Library/Continuity.thy \
   161   FOCUS/Buffer.thy FOCUS/Buffer_adm.thy
   162 	@$(ISABELLE_TOOL) usedir $(OUT)/HOLCF FOCUS
   163 
   164 ## IOA
   165 
   166 IOA: HOLCF $(OUT)/IOA
   167 
   168 $(OUT)/IOA: $(OUT)/HOLCF IOA/ROOT.ML IOA/meta_theory/Traces.thy        \
   169   IOA/meta_theory/Asig.thy IOA/meta_theory/CompoScheds.thy	       \
   170   IOA/meta_theory/CompoTraces.thy IOA/meta_theory/Seq.thy	       \
   171   IOA/meta_theory/RefCorrectness.thy IOA/meta_theory/Automata.thy      \
   172   IOA/meta_theory/ShortExecutions.thy IOA/meta_theory/IOA.thy	       \
   173   IOA/meta_theory/Sequence.thy IOA/meta_theory/CompoExecs.thy	       \
   174   IOA/meta_theory/RefMappings.thy IOA/meta_theory/Compositionality.thy \
   175   IOA/meta_theory/TL.thy IOA/meta_theory/TLS.thy		       \
   176   IOA/meta_theory/LiveIOA.thy IOA/meta_theory/Pred.thy		       \
   177   IOA/meta_theory/Abstraction.thy IOA/meta_theory/Simulations.thy      \
   178   IOA/meta_theory/SimCorrectness.thy
   179 	@cd IOA; $(ISABELLE_TOOL) usedir -b $(OUT)/HOLCF IOA
   180 
   181 
   182 ## IOA-ABP
   183 
   184 IOA-ABP: IOA $(LOG)/IOA-ABP.gz
   185 
   186 $(LOG)/IOA-ABP.gz: $(OUT)/IOA IOA/ABP/Abschannel.thy \
   187   IOA/ABP/Abschannel_finite.thy IOA/ABP/Action.thy \
   188   IOA/ABP/Check.ML IOA/ABP/Correctness.thy \
   189   IOA/ABP/Env.thy IOA/ABP/Impl.thy IOA/ABP/Impl_finite.thy \
   190   IOA/ABP/Lemmas.thy IOA/ABP/Packet.thy \
   191   IOA/ABP/ROOT.ML IOA/ABP/Receiver.thy IOA/ABP/Sender.thy \
   192   IOA/ABP/Spec.thy
   193 	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA ABP
   194 
   195 ## IOA-NTP
   196 
   197 IOA-NTP: IOA $(LOG)/IOA-NTP.gz
   198 
   199 $(LOG)/IOA-NTP.gz: $(OUT)/IOA \
   200   IOA/NTP/Abschannel.thy IOA/NTP/Action.thy IOA/NTP/Correctness.thy \
   201   IOA/NTP/Impl.thy IOA/NTP/Lemmas.thy IOA/NTP/Multiset.thy \
   202   IOA/NTP/Packet.thy IOA/NTP/ROOT.ML IOA/NTP/Receiver.thy IOA/NTP/Sender.thy \
   203   IOA/NTP/Spec.thy
   204 	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA NTP
   205 
   206 
   207 ## IOA-Storage
   208 
   209 IOA-Storage: IOA $(LOG)/IOA-Storage.gz
   210 
   211 $(LOG)/IOA-Storage.gz: $(OUT)/IOA IOA/Storage/Action.thy \
   212   IOA/Storage/Correctness.thy IOA/Storage/Impl.thy \
   213   IOA/Storage/ROOT.ML IOA/Storage/Spec.thy
   214 	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA Storage
   215 
   216 
   217 ## IOA-ex
   218 
   219 IOA-ex: IOA $(LOG)/IOA-ex.gz
   220 
   221 $(LOG)/IOA-ex.gz: $(OUT)/IOA IOA/ex/ROOT.ML IOA/ex/TrivEx.thy IOA/ex/TrivEx2.thy
   222 	@cd IOA; $(ISABELLE_TOOL) usedir $(OUT)/IOA ex
   223 
   224 
   225 ## clean
   226 
   227 clean:
   228 	@rm -f $(OUT)/HOLCF $(LOG)/HOLCF.gz $(LOG)/HOLCF-IMP.gz	\
   229 	  $(LOG)/HOLCF-ex.gz $(LOG)/HOLCF-FOCUS.gz $(OUT)/IOA	\
   230 	  $(LOG)/IOA.gz $(LOG)/IOA-ABP.gz $(LOG)/IOA-NTP.gz	\
   231 	  $(LOG)/IOA-Storage.gz $(LOG)/HOLCF-Library.gz		\
   232 	  $(LOG)/IOA-ex.gz $(LOG)/HOLCF-Tutorial.gz