diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-08-28 01:07:07 +0200 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-08-29 17:20:40 +0200 |
commit | 5fb53743cc14047b4be12c188c21c6f679bdbd8f (patch) | |
tree | f81997dfa6d64829e204335c1e63d8a47f29fecd /tactics | |
parent | a980d38681f7ab9bfd8a180f2252ce573e3ff211 (diff) |
Fix BZ#5697: Congruence does not work with primitive projections.
The code generating the projection was unconditionally generating
pattern-matchings, although this is incorrect for primitive records.
Diffstat (limited to 'tactics')
-rw-r--r-- | tactics/equality.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tactics/equality.ml b/tactics/equality.ml index ad6abfa1f..3ea9538f3 100644 --- a/tactics/equality.ml +++ b/tactics/equality.ml @@ -922,7 +922,8 @@ let build_selector env sigma dirn c ind special default = let brl = List.map build_branch(List.interval 1 (Array.length mip.mind_consnames)) in let ci = make_case_info env ind RegularStyle in - mkCase (ci, p, c, Array.of_list brl) + let ans = Inductiveops.make_case_or_project env sigma indf ci p c (Array.of_list brl) in + ans let build_coq_False () = pf_constr_of_global (build_coq_False ()) let build_coq_True () = pf_constr_of_global (build_coq_True ()) |