Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 1999-05-23 14:55:17 -0700 (Sun, 23 May 1999)
Revision: 2669
Log message:

      This is a major modification to how parameters are handled.
      1. All level parmeters are now meta.  That is, univ[@i:l] is
         exactly the same as univ[i:l].  The rewriter handles
         lavel expressions, so matching with levels like
         univ[3 | i':l | j:l] should work correctly.
      
         The syntax still requires the @ for meta-parameter of
         other types.  For instance, token["hello world":t] is
         a normal token, and token[@"hello world":t] is a
         token with a meta-parameter.
      
      2. There are no more parameter expressions.  For instance,
         the term natural_number[@i + @j] is not valid anymore.
         To replace them, the module theories/base/base_meta.ml
         defines ML rewrites that implement the same functionality.
         For example,
            meta_sum{number[12]; number[5]} --> number[17]
      
      3. There is no term natural_number[@i:n] any more.  This was
         always a bad name, since it has always been possible for the
         parameter to be negative.
      
      4. The Itt_equal.cumulativity rule is no longer defined as a
         side-condition.  It now uses Base_meta.meta_lt to define
         inclusion on level expression.  Cumulativity expansion
         should be performed automatically by the dT tactic.
         So:
            sequent ['ext] { ... >- univ[@i:l] = univ[@i:l] in univ[@j:l] }
            BY dT 0
         should always either succeed or fail, without producing
         subgoals.
      
      I haven't fully tested the side-conditions.  As usual, let me know
      if you see anything strange.  Next, I'm looking at the
      rewriter free variable soundness problem.
      

Changes  Path
Added metaprl/.cpdir
Properties metaprl/.cpdir
Added metaprl/.cprc
Properties metaprl/.cprc
+4 -3 metaprl/editor/emacs/caml.el
Binary metaprl/editor/emacs/caml.elc
+10 -7 metaprl/editor/ml/test.ml
+1 -1 metaprl/editor/ml/test.mli
Binary metaprl/editor/ml/test.prlb
+5 -3 metaprl/filter/filter_parse.ml
+130 -109 metaprl/filter/filter_prog.ml
+1 -0 metaprl/filter/filter_prog.mli
+26 -58 metaprl/filter/filter_summary.ml
+6 -28 metaprl/filter/term_grammar.ml
Added metaprl/free_prlb
Properties metaprl/free_prlb
+18 -15 metaprl/library/db.ml
+44 -44 metaprl/library/mbterm.ml
+1 -1 metaprl/refiner/reflib/dform.ml
+10 -48 metaprl/refiner/reflib/ml_format.ml
+13 -18 metaprl/refiner/reflib/simple_print.ml
+5 -14 metaprl/refiner/reflib/term_compare.ml
+8 -30 metaprl/refiner/refsig/term_header_sig.mlz
+7 -6 metaprl/refiner/refsig/term_man_sig.ml
+6 -16 metaprl/refiner/refsig/term_simple_sig.mlz
+4 -1 metaprl/refiner/rewrite/rewrite.ml
+7 -4 metaprl/refiner/rewrite/rewrite.mli
+23 -65 metaprl/refiner/rewrite/rewrite_build_contractum.ml
+7 -4 metaprl/refiner/rewrite/rewrite_build_contractum.mli
+32 -32 metaprl/refiner/rewrite/rewrite_compile_contractum.ml
+6 -4 metaprl/refiner/rewrite/rewrite_compile_contractum.mli
+49 -27 metaprl/refiner/rewrite/rewrite_compile_redex.ml
+6 -4 metaprl/refiner/rewrite/rewrite_compile_redex.mli
+10 -23 metaprl/refiner/rewrite/rewrite_debug.ml
+47 -16 metaprl/refiner/rewrite/rewrite_match_redex.ml
+6 -4 metaprl/refiner/rewrite/rewrite_match_redex.mli
+40 -17 metaprl/refiner/rewrite/rewrite_meta.ml
+11 -4 metaprl/refiner/rewrite/rewrite_meta.mli
+11 -14 metaprl/refiner/rewrite/rewrite_type_sig.mlz
+11 -14 metaprl/refiner/rewrite/rewrite_types.ml
+6 -16 metaprl/refiner/term_ds/term_ds.ml
+8 -18 metaprl/refiner/term_ds/term_ds_sig.ml
+45 -10 metaprl/refiner/term_ds/term_man_ds.ml
+3 -3 metaprl/refiner/term_ds/term_op_ds.ml
+11 -20 metaprl/refiner/term_gen/term_hash.ml
+18 -59 metaprl/refiner/term_gen/term_header.ml
+11 -17 metaprl/refiner/term_gen/term_header_constr.ml
+45 -10 metaprl/refiner/term_gen/term_man_gen.ml
+4 -5 metaprl/refiner/term_gen/term_shape_gen.ml
+3 -3 metaprl/refiner/term_std/term_op_std.ml
+6 -17 metaprl/refiner/term_std/term_std.ml
+6 -16 metaprl/refiner/term_std/term_std_sig.ml
+1 -0 metaprl/theories/base/Makefile
+32 -25 metaprl/theories/base/base_dform.ml
Added metaprl/theories/base/base_meta.ml
Properties metaprl/theories/base/base_meta.ml
Added metaprl/theories/base/base_meta.mli
Properties metaprl/theories/base/base_meta.mli
+1 -0 metaprl/theories/base/base_theory.mlz
Binary metaprl/theories/czf/czf_itt_all.prlb
Binary metaprl/theories/czf/czf_itt_and.prlb
Binary metaprl/theories/czf/czf_itt_axioms.prlb
Binary metaprl/theories/czf/czf_itt_dall.prlb
Binary metaprl/theories/czf/czf_itt_dexists.prlb
Binary metaprl/theories/czf/czf_itt_eq.prlb
Binary metaprl/theories/czf/czf_itt_exists.prlb
Binary metaprl/theories/czf/czf_itt_false.prlb
Binary metaprl/theories/czf/czf_itt_implies.prlb
Binary metaprl/theories/czf/czf_itt_member.prlb
Binary metaprl/theories/czf/czf_itt_or.prlb
Binary metaprl/theories/czf/czf_itt_rel.prlb
Binary metaprl/theories/czf/czf_itt_sall.prlb
Binary metaprl/theories/czf/czf_itt_sep.prlb
Binary metaprl/theories/czf/czf_itt_set.prlb
Binary metaprl/theories/czf/czf_itt_set_ind.prlb
Binary metaprl/theories/czf/czf_itt_sexists.prlb
Binary metaprl/theories/czf/czf_itt_true.prlb
+6 -6 metaprl/theories/czf/czf_itt_union.ml
Binary metaprl/theories/czf/czf_itt_union.prlb
Binary metaprl/theories/fol/fol_ctheory.prlb
Binary metaprl/theories/fol/fol_not.prlb
Binary metaprl/theories/fol/fol_theory.prlb
+2 -2 metaprl/theories/itt/itt_arith.ml
+7 -1 metaprl/theories/itt/itt_atom_bool.ml
+2 -1 metaprl/theories/itt/itt_atom_bool.mli
Binary metaprl/theories/itt/itt_bisect.prlb
+7 -18 metaprl/theories/itt/itt_bool.ml
+2 -8 metaprl/theories/itt/itt_bool.mli
Binary metaprl/theories/itt/itt_bool.prlb
Binary metaprl/theories/itt/itt_bunion.prlb
Binary metaprl/theories/itt/itt_derive.prlb
+1 -1 metaprl/theories/itt/itt_dfun.ml
+1 -1 metaprl/theories/itt/itt_dprod.ml
+28 -13 metaprl/theories/itt/itt_equal.ml
+12 -1 metaprl/theories/itt/itt_equal.mli
Binary metaprl/theories/itt/itt_equal.prlb
Binary metaprl/theories/itt/itt_fset.prlb
+1 -1 metaprl/theories/itt/itt_fun.ml
+130 -109 metaprl/theories/itt/itt_int.ml
+28 -20 metaprl/theories/itt/itt_int.mli
+23 -10 metaprl/theories/itt/itt_int_bool.ml
+6 -5 metaprl/theories/itt/itt_int_bool.mli
+1 -1 metaprl/theories/itt/itt_isect.ml
Binary metaprl/theories/itt/itt_isect.prlb
Binary metaprl/theories/itt/itt_list.prlb
Binary metaprl/theories/itt/itt_list2.prlb
+26 -28 metaprl/theories/itt/itt_logic.ml
+23 -25 metaprl/theories/itt/itt_logic.mli
Binary metaprl/theories/itt/itt_logic.prlb
+1 -1 metaprl/theories/itt/itt_prod.ml
+1 -1 metaprl/theories/itt/itt_prop_decide.ml
Binary metaprl/theories/itt/itt_prop_decide.prlb
+1 -1 metaprl/theories/itt/itt_quotient.ml
+5 -5 metaprl/theories/itt/itt_rfun.ml
+6 -6 metaprl/theories/itt/itt_rfun.mli
+1 -1 metaprl/theories/itt/itt_set.ml
+4 -3 metaprl/theories/itt/itt_srec.ml
+1 -1 metaprl/theories/itt/itt_subtype.ml
+8 -10 metaprl/theories/itt/itt_test.ml
+1 -1 metaprl/theories/itt/itt_union.ml
+1 -1 metaprl/theories/itt/itt_w.ml
+1 -1 metaprl/theories/ocaml/ocaml_expr_df.ml
Binary metaprl/theories/reflect_itt/refl_free_vars.prlb
Binary metaprl/theories/reflect_itt/refl_raw_term.prlb
+0 -1 metaprl/theories/reflect_itt/refl_term.ml
+0 -1 metaprl/theories/reflect_itt/refl_term.mli
Binary metaprl/theories/reflect_itt/refl_term.prlb
Binary metaprl/theories/reflect_itt/refl_var.prlb
Binary metaprl/theories/reflect_itt/refl_var_set.prlb
Binary metaprl/theories/tptp/tptp.prlb
Added metaprl/update_prlb
Properties metaprl/update_prlb