diff options
| author | Matthieu Sozeau | 2015-01-17 14:11:13 +0530 |
|---|---|---|
| committer | Matthieu Sozeau | 2015-01-18 00:16:43 +0530 |
| commit | d3c3b67c10774ab09054b94c6db5633f0483a06f (patch) | |
| tree | 1e06b56b6cc0f4913c88fe676198f59ea35a4e00 /pretyping | |
| parent | 6e0b660b1e58502b7da477b9725ae8ee4f5d00ed (diff) | |
Univs: Fix alias computation for VMs, computation of normal form of
match predicates for vm_compute and compile polymorphic definitions
to constant code. Add univscompute test-suite file testing VM
computations in presence of polymorphic universes.
Diffstat (limited to 'pretyping')
| -rw-r--r-- | pretyping/vnorm.ml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pretyping/vnorm.ml b/pretyping/vnorm.ml index 3f1e6e5d60..19613c4e06 100644 --- a/pretyping/vnorm.ml +++ b/pretyping/vnorm.ml @@ -195,7 +195,7 @@ and nf_stk env c t stk = let pT = hnf_prod_applist env (type_of_ind env (ind,u)) (Array.to_list params) in let pT = whd_betadeltaiota env pT in - let dep, p = nf_predicate env ind mip params (type_of_switch sw) pT in + let dep, p = nf_predicate env (ind,u) mip params (type_of_switch sw) pT in (* Calcul du type des branches *) let btypes = build_branches_type env ind mib mip u params dep p in (* calcul des branches *) @@ -226,7 +226,7 @@ and nf_predicate env ind mip params v pT = let n = mip.mind_nrealargs in let rargs = Array.init n (fun i -> mkRel (n-i)) in let params = if Int.equal n 0 then params else Array.map (lift n) params in - let dom = mkApp(mkInd ind,Array.append params rargs) in + let dom = mkApp(mkIndU ind,Array.append params rargs) in let body = nf_vtype (push_rel (name,None,dom) env) vb in true, mkLambda(name,dom,body) | _, _ -> false, nf_val env v crazy_type |
