diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2014-10-15 15:48:16 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2014-10-17 12:41:14 +0200 |
commit | 251218905daea0838a3738466afa1c278bb3e81b (patch) | |
tree | 88170ea32c1b36b4e0ab5a4c0e47f34930421b90 /pretyping | |
parent | a53b44aa042cfded28c34205074f194de7e2e4ee (diff) |
Fixing a loop in proof reconstruction for congruence (#2447).
Proofs of C t1..tn+1 = C t1..tn+1, even when the terms were
syntactically the same, were built by composition of a proof of C
t1..tn = C t1..tn with a proof of reflexivity of tn+1. The latter was
reduced to showing C t1..tn = C u1..un for C u1..un the canonical
representant of C t1..tn in its congruence class. But if some pair
ti=ui was derivable by injectivity of the constructor C, it might go
back to find a proof of C t1..tn+1 = C t1..tn+1 again, while a simple
reflexivity proof was enough here.
Not sure that the fix prevents any further loop in this part of the
code though.
Diffstat (limited to 'pretyping')
0 files changed, 0 insertions, 0 deletions