diff options
| author | Maxime Dénès | 2017-10-18 17:20:27 +0200 |
|---|---|---|
| committer | Maxime Dénès | 2017-10-18 17:20:27 +0200 |
| commit | 6bda57bd75efe55fe1f7774f932e9ef5a65aeaaf (patch) | |
| tree | 1ca022fa394b41f7679d88fb2a668dc7257ce47f /pretyping/evarconv.ml | |
| parent | 0ac62afd4b2a8ce220c70b71f6a8d34445de6528 (diff) | |
| parent | 157d3fdce504e59eada13068b630c6b9d3d44360 (diff) | |
Merge PR #984: Handling primitive projections in canonical structures.
Diffstat (limited to 'pretyping/evarconv.ml')
| -rw-r--r-- | pretyping/evarconv.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml index cb76df4e8a..0f1a508c8d 100644 --- a/pretyping/evarconv.ml +++ b/pretyping/evarconv.ml @@ -176,6 +176,12 @@ let check_conv_record env sigma (t1,sk1) (t2,sk2) = let s = ESorts.kind sigma s in lookup_canonical_conversion (proji, Sort_cs (family_of_sort s)),[] + | Proj (p, c) -> + let c2 = Globnames.ConstRef (Projection.constant p) in + let c = Retyping.expand_projection env sigma p c [] in + let _, args = destApp sigma c in + let sk2 = Stack.append_app args sk2 in + lookup_canonical_conversion (proji, Const_cs c2), sk2 | _ -> let (c2, _) = Termops.global_of_constr sigma t2 in lookup_canonical_conversion (proji, Const_cs c2),sk2 |
