Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-16 20:13:40 -0800 (Mon, 16 Jan 2006)
Revision: 8488
Log message:

      NOTE: this is a moderate change to the internal way we handle
      resource annotations.
      
         - Resource arguments are now passed as labeled initial arguments to
           the annotation processor.  If you have an annotation processor
           that takes arguments, you define it as a function that takes
           the arguments and produces an annotation processor.
      
               val process_elim_resource_annotation :
                   ?options: elim_option list -> (term * (int -> tactic)) annotation_processor
      
         - The argument may be required or optional as desired.
      
         - Unlabeled arguments are relabeled as "options".
           Note that a function is allowed to take multiple arguments
           with the same label.
      
         - The annotation_processor and rw_annotation_processor types no
           longer require the first type argument.
      
      Changes to the "reduce" resource:
      
         - Added a ~select:<string> argument to the annotation processor
           that can be used to control when the rewrite
           is allowed.  By default, if the argument is not specified,
           the rewrite is always allowed.
      
         - You now need to use the wrap_reduce function when you add conversions
           manually (this is why so many files were changed in this update).
      
              let resource reduce +=
                 << foo >>, wrap_reduce reduce_foo
      
      Notes:
         - Since dT arguments are declared as optional, it is legal to
           write {| intro |} instead of {| intro [] |}.
      
         - We should allow other options to the reduce resource,
           including type inference, etc.
      
         - It is ok with me if we collect the reduce options into a list,
           like we do for dT.
      

Changes  Path
+20 -22 metaprl/filter/filter/filter_prog.ml
+5 -6 metaprl/refiner/reflib/mp_resource.ml
+4 -4 metaprl/refiner/reflib/mp_resource.mli
Properties metaprl/support/tactics
+3 -1 metaprl/support/tactics/OMakefile
+2 -1 metaprl/support/tactics/auto_tactic.mli
+1 -0 metaprl/support/tactics/basic_tactics.ml
+2 -2 metaprl/support/tactics/dtactic.ml
+3 -2 metaprl/support/tactics/dtactic.mli
+1 -1 metaprl/support/tactics/forward.ml
+2 -1 metaprl/support/tactics/forward.mli
+36 -19 metaprl/support/tactics/top_conversionals.ml
+8 -2 metaprl/support/tactics/top_conversionals.mli
Added metaprl/support/tactics/top_resource.mlz
Properties metaprl/support/tactics/top_resource.mlz
+29 -0 metaprl/tactics/proof/tactic_boot.ml
+3 -0 metaprl/tactics/proof/tactic_boot.mli
+4 -4 metaprl/tactics/proof/tactic_boot_sig.ml
+1 -1 metaprl/tactics/proof/tacticals_boot.mli
+5 -5 metaprl/theories/experimental/compile/m_arith.ml
+4 -4 metaprl/theories/experimental/compile/m_inline.ml
+15 -15 metaprl/theories/fir/mfir_int.ml
+7 -7 metaprl/theories/fir/mfir_int_set.ml
+1 -1 metaprl/theories/fir/mfir_list.ml
+2 -2 metaprl/theories/fir/mfir_record.ml
+1 -1 metaprl/theories/fir/mfir_token.ml
+7 -7 metaprl/theories/fir/mfir_util.ml
+2 -2 metaprl/theories/itt/applications/algebra/itt_cyclic_group.ml
+1 -1 metaprl/theories/itt/applications/algebra/itt_field2.ml
+1 -1 metaprl/theories/itt/applications/algebra/itt_poly.ml
+1 -1 metaprl/theories/itt/applications/datatypes/itt_bintree.ml
+2 -2 metaprl/theories/itt/applications/datatypes/itt_rbtree.ml
+3 -3 metaprl/theories/itt/applications/datatypes/itt_relation_str.ml
+1 -1 metaprl/theories/itt/applications/datatypes/itt_sortedtree.ml
+27 -27 metaprl/theories/itt/applications/supinf/itt_rat.ml
+1 -1 metaprl/theories/itt/core/itt_atom_bool.ml
+1 -1 metaprl/theories/itt/core/itt_int_arith.ml
+2 -2 metaprl/theories/itt/core/itt_int_arith.mli
+11 -11 metaprl/theories/itt/core/itt_int_base.ml
+2 -1 metaprl/theories/itt/core/itt_int_base.mli
+21 -21 metaprl/theories/itt/core/itt_int_ext.ml
+4 -4 metaprl/theories/itt/core/itt_list2.ml
+2 -2 metaprl/theories/itt/core/itt_nat.ml
+2 -2 metaprl/theories/itt/core/itt_record.ml
+1 -1 metaprl/theories/itt/core/itt_record_label.ml
+9 -9 metaprl/theories/itt/core/itt_record_renaming.ml
+2 -2 metaprl/theories/itt/core/itt_sqsimple.mli
+1 -1 metaprl/theories/itt/core/itt_squash.mli
+4 -4 metaprl/theories/itt/core/itt_union2.ml
+1 -1 metaprl/theories/itt/extensions/base/itt_list3.mli
+1 -1 metaprl/theories/itt/extensions/vector/itt_vec_list1.ml
+2 -2 metaprl/theories/itt/reflection/core/itt_hoas_operator.ml
+1 -1 metaprl/theories/itt/reflection/core/itt_hoas_vbind.ml
+1 -1 metaprl/theories/itt/reflection/core/itt_hoas_vector.ml
+1 -1 metaprl/theories/itt/reflection/experimental/itt_hoas_bterm_wf.ml
+3 -3 metaprl/theories/itt/reflection/experimental/itt_hoas_lof.ml
+3 -3 metaprl/theories/itt/reflection/experimental/itt_hoas_lof.mli
+1 -1 metaprl/theories/itt/reflection/experimental/itt_hoas_util.mli
+10 -10 metaprl/theories/itt/reflection/obsolete/itt_reflection.ml
+1 -1 metaprl/theories/itt/reflection/obsolete/itt_reflection_new.ml
+5 -5 metaprl/theories/meta/base/base_reflection.ml
+2 -2 metaprl/theories/meta/extensions/meta_context_terms.ml
+2 -2 metaprl/theories/meta/extensions/meta_dtactic.ml
+2 -2 metaprl/theories/meta/extensions/meta_dtactic.mli
+6 -6 metaprl/theories/sil/sil_itt_sos.ml
+9 -8 metaprl/theories/sil/sil_itt_state.ml
+6 -5 metaprl/theories/sil/sil_state.ml