Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-25 09:57:47 -0800 (Wed, 25 Jan 2006)
Revision: 8604
Log message:

      Reflected rule definitions can use the usual meta-type checking
      mechanism Term_grammar.parse_rule.
      
      With sequent judgments, we have goals like the following
      
         bind{n; x. sequent_bterm{vsequent{| <J[x]> >- C[x] |}}} in BTerm
      
      Options:
         1. We can augment the normalizer with theorems for
            pushing binds through sequent_bterm, vsequent.
      
            One potential drawback is that we have assumed
            in many places that sequents are closed.
      
         2. We could define theorems for sequent_bterm{vsequent{| ... |}}
            in non-normal form.
      
      I think option 1 is probably better.
      
      The key theorem is as follows:
      
         bind{n; x. sequent_bterm{vsequent{| <J[x]> >- C[x] |}}}
         <-->
         sequent_bterm{vsequent{| hyp_context{n; x. hyplist{| <J[x]> |}};
                                  >- bind{n; x. C[x]} |}}
      
      We would have to define the non-vector hyp_context{n; x. ...} term,
      and then prove a bunch of theorems about open sequents.
      

Changes  Path
+0 -2 metaprl/filter/base/filter_type.ml
+1 -1 metaprl/filter/filter/filter_parse.ml
+0 -5 metaprl/filter/filter/term_grammar.ml
+1 -1 metaprl/theories/itt/reflection/experimental/itt_hoas_meta_types.ml
+1 -1 metaprl/theories/itt/reflection/experimental/itt_hoas_meta_types.mli
+42 -3 metaprl/theories/poplmark/naive/pmn_core_judgments.ml
+15 -17 metaprl/theories/poplmark/naive/pmn_core_judgments.mli
+1 -1 metaprl/theories/poplmark/naive/pmn_core_terms.ml