Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-12-26 13:53:20 -0800 (Mon, 26 Dec 2005)
Revision: 8367
Log message:

      Working on a list_of_fun theory.
      
      The main problem with list_of_fun{i. 'f['i]; 'n} is that
      the function 'f['i] can be arbitrary, and reasoning about
      arbitrary functions is hard.
      
      In particular, information can be lost during normalization.
      For example:
      
          interactive_rw nth_prefix_lof {| normalize_lof |} :
             'n in nat -->
             'm in nat -->
             'm <= 'n -->
             nth_prefix{lof{i. 'f['i]; 'n}; 'm}
             <-->
             lof{i. 'f['i]; 'm}
      
      Here, we lost some information (the variable 'n), and so the rewrite is
      not easy to reverse.
      
      The plan is to define a set of reversible rewrites for lof normalization.
      

Changes  Path
+8 -1 metaprl/theories/itt/core/itt_list2.ml
+3 -0 metaprl/theories/itt/core/itt_list2.mli
+60 -3 metaprl/theories/itt/extensions/base/itt_list3.ml
+4 -0 metaprl/theories/itt/extensions/base/itt_list3.mli
+1512 -117 metaprl/theories/itt/extensions/base/itt_list3.prla
+1 -0 metaprl/theories/itt/reflection/experimental/OMakefile
Added metaprl/theories/itt/reflection/experimental/itt_hoas_lof.ml
Properties metaprl/theories/itt/reflection/experimental/itt_hoas_lof.ml
Added metaprl/theories/itt/reflection/experimental/itt_hoas_lof.mli
Properties metaprl/theories/itt/reflection/experimental/itt_hoas_lof.mli
+25 -0 metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.ml
+4 -0 metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.mli
+2042 -1240 metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.prla