in
let ainnertype,innertype,innersort =
let cicenv = List.map (function (_,ty) -> ty) bs in
- let innertype = T.type_of_aux' metasenv cicenv tt in
+(*CSC: Here we need the algorithm for Coscoy's double type-inference *)
+(*CSC: (expected type + inferred type). Just for now we use the usual *)
+(*CSC: type-inference, but the result is very poort. As a very weak *)
+(*CSC: patch, I apply whd to the computed type. Full beta *)
+(*CSC: reduction would be a much better option. *)
+ let innertype = CicReduction.whd (T.type_of_aux' metasenv cicenv tt) in
let innersort = T.type_of_aux' metasenv cicenv innertype in
let ainnertype =
if computeinnertypes then