Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2002-05-11 11:28:23 -0700 (Sat, 11 May 2002)
Revision: 3624
Log message:

      Added "input forms" that are the input analogy to display forms.
      
      An iform is declared exactly like a rewrite.  An example:
      
         declare junk{'t}
         declare magic[v:s]{'t}
         iform bind : junk{magic[x:s]{'t}} <--> lambda{x. 't}
      
         # test_rewrite bind << junk{magic[y:s]{.'y +@ 1}} >>;;
         - lambda{y.y +@ 1} : term
      
      The difference is this: iforms use the rewriter in Relaxed mode,
      where capture is allowed.  The rewrites have no logical meaning;
      the refiner will not allow you to use one in a proof.  However,
      they are otherwise normal conversions, and you can add them
      to resources etc.
      
      Also, I added a function
      
      val Top_conversionals.create_iform : string -> term -> term -> conv
      
      This will allow us to create rewrites on the fly.  I added example
      code to mp_mc_compile to illustrate, but I don't know how to
      test it.
      
      Adam, you should probably change all rewrites in Mp_mc_fir_phobos to
      iforms.  Don't use magic (remove that sample code I added).  The rewrites
      should work as they are written now.
      

Changes  Path
+3 -0 metaprl-branches/ocaml_3_04/editor/ml/shell.ml
+64 -0 metaprl-branches/ocaml_3_04/filter/base/filter_prog.ml
+80 -16 metaprl-branches/ocaml_3_04/filter/base/filter_summary.ml
+1 -0 metaprl-branches/ocaml_3_04/filter/base/filter_type.ml
+1 -0 metaprl-branches/ocaml_3_04/filter/boot/conversionals_boot.ml
+7 -0 metaprl-branches/ocaml_3_04/filter/boot/rewrite_boot.ml
+13 -1 metaprl-branches/ocaml_3_04/filter/boot/tactic_boot_sig.mlz
+30 -0 metaprl-branches/ocaml_3_04/filter/filter/filter_parse.ml
+7 -3 metaprl-branches/ocaml_3_04/filter/filter/prlcomp.ml
+42 -5 metaprl-branches/ocaml_3_04/refiner/refiner/refine.ml
+5 -0 metaprl-branches/ocaml_3_04/refiner/refsig/refine_sig.ml
+2 -1 metaprl-branches/ocaml_3_04/refiner/rewrite/rewrite_build_contractum.ml
+8 -6 metaprl-branches/ocaml_3_04/refiner/rewrite/rewrite_compile_contractum.ml
+28 -6 metaprl-branches/ocaml_3_04/theories/mc/mp_mc_compile.ml
+10 -4 metaprl-branches/ocaml_3_04/theories/mc/mp_mc_fir_phobos.ml
+2 -4 metaprl-branches/ocaml_3_04/theories/mc/mp_mc_fir_phobos.mli
+2 -0 metaprl-branches/ocaml_3_04/theories/tactic/top_conversionals.ml
+1 -0 metaprl-branches/ocaml_3_04/theories/tactic/top_conversionals.mli