Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-29 17:41:26 -0800 (Sun, 29 Jan 2006)
Revision: 8621
Log message:

      Initial progress toward append-style sequents and binders.
      
      This initial naive definition is not satisfactory.
      
      Here is the problem.  The append-binder has the following rule:
      
         mk_flat_vbind{| x: A; <J[x]> >- e[x] |} <-->
            mk_bind{length{A}; x. mk_flat_vbind{| <J[x]> >- e[x] |}}
      
      This means that it is possible to define some strange terms.
      
         mk_flat_bind{| x: A; y: append{x; x} >- e[x; y] |}
      
      This says that the "y" binder has twice as many bindings
      as the "x" binder.  This is clearly bogus.
      
      I'm not sure exactly how to fix it.  We could require non-self-bindings
      in the context, but that is probably too strong.
      
      It seems like we would prefer a sequent_ind form that would allow
      the substitions for the hyps and concl to differ.
      
      Perhaps we can do two-phase, where the first phase squashes the terms
      in the context.  We'll see.
      

Changes  Path
+10 -0 metaprl/theories/itt/extensions/vector/itt_vec_flat_bind.ml
+4 -0 metaprl/theories/itt/extensions/vector/itt_vec_flat_bind.mli
+168 -93 metaprl/theories/itt/extensions/vector/itt_vec_flat_bind.prla
+133 -0 metaprl/theories/itt/extensions/vector/itt_vec_flat_sequent_term.ml
+5 -0 metaprl/theories/itt/extensions/vector/itt_vec_flat_sequent_term.mli
Added metaprl/theories/itt/extensions/vector/itt_vec_flat_sequent_term.prla
Properties metaprl/theories/itt/extensions/vector/itt_vec_flat_sequent_term.prla
+6 -0 metaprl/theories/itt/extensions/vector/itt_vec_sequent_term.mli