Section:
New Results
Confluence
In modulo, congruences are expressed by rewrite rules that must
enjoy precise properties, notably confluence, strong normalization,
and type preservation. A difficulty is that these properties depend on
each other in calculi of dependent types. To break the circularity,
confluence is usually proved separately on untyped terms. A another
difficulty then arises : computation do not terminate on untyped
terms. A result of van Oostrom allows to show confluence of
non-terminating left-linear higher-order rules, provided their
critical pairs are development closed. This result was used for the
encodings of HOL, Matita, and Coq up to version 8.4. Encoding the most
recent version of Coq requires rules for universes that are confluent
on open terms, while confluence on ground terms sufficed before. The
encoding we recently developed for this new version of Coq has
higher-order rules which are not left-linear, use pattern matching
modulo associativity, commutativity and identity, and whose (joinable)
critical pairs are not development closed. We have therefore developed
a new powerful result for proving confluence of that sort of rules
provided non-linear variables can only be instantiated by first-order
expressions [18], [19].