if insource then
(match args with
| [arg] -> Cic.Appl (fix :: args)
- | _ -> Cic.Appl (head :: [Cic.Appl args]))
+ | _ -> Cic.Appl (fix :: [Cic.Appl args]))
else
(match args with
| [] -> head
List.nth indTypes typeno
with Failure _ -> assert false
in
+ let ty = Unshare.unshare ~fresh_univs:true ty in
+ let constructors =
+ List.map (fun (name,c)-> name,Unshare.unshare ~fresh_univs:true c) constructors
+ in
let paramsno = count_pi ty in (* number of (left or right) parameters *)
let rightno = paramsno - leftno in
let dependent = (strip_pi ty <> Cic.Sort Cic.Prop) in