diff options
| author | Hugo Herbelin | 2014-10-15 15:48:16 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2014-10-17 12:41:14 +0200 |
| commit | 251218905daea0838a3738466afa1c278bb3e81b (patch) | |
| tree | 88170ea32c1b36b4e0ab5a4c0e47f34930421b90 /kernel/nativecode.ml | |
| 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 'kernel/nativecode.ml')
0 files changed, 0 insertions, 0 deletions
