Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license
Refinement types are a well-studied manner of performing in-depth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higher-order rewrite systems is still the subject of active research. We observe that a variant of refinement types allows us to express a form of higher-order dependency pair method: from the rewrite system labeled with typing information, we build a type-level approximated dependency graph, and describe a type level embedding preorder. We describe a syntactic termination criterion involving the graph and the preorder, which generalizes the simple projection criterion of Middeldorp and Hirokawa, and prove our main result: if the graph passes the criterion, then every well-typed term is strongly normalizing.
@InProceedings{roux:LIPIcs.RTA.2011.299,
author = {Roux, Cody},
title = {{Refinement Types as Higher-Order Dependency Pairs}},
booktitle = {22nd International Conference on Rewriting Techniques and Applications (RTA'11)},
pages = {299--312},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-30-9},
ISSN = {1868-8969},
year = {2011},
volume = {10},
editor = {Schmidt-Schauss, Manfred},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.RTA.2011.299},
URN = {urn:nbn:de:0030-drops-31273},
doi = {10.4230/LIPIcs.RTA.2011.299},
annote = {Keywords: Dependency Pairs, Higher-Order, Refinement Types}
}