Constraint handling rules with binders, patterns and generic quantification

Constraint Handling Rules provide descriptions for constraint solvers. However, they fall short when those constraints specify some binding structure, like higher-rank types in a constraint-based type inference algorithm. In this paper, the term syntax of constraints is replaced by $\lambda$-tree syntax, in which binding is explicit; and a new $\nabla$ generic quantifier is introduced, which is used to create new fresh constants.

[1]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[2]  Peter J. Stuckey,et al.  Observable Confluence for Constraint Handling Rules , 2007, ICLP.

[3]  Dale Miller,et al.  A proof theory for generic judgments , 2005, TOCL.

[4]  Slim Abdennadher,et al.  Chr _ : a Flexible Query Language , 2022 .

[5]  Gopalan Nadathur,et al.  Abella: A System for Reasoning about Relational Specifications , 2014, J. Formaliz. Reason..

[6]  Neelakantan R. Krishnaswami,et al.  Complete and easy bidirectional typechecking for higher-rank polymorphism , 2013, ICFP.

[7]  Peter J. Stuckey,et al.  A Framework for Extended Algebraic Data Types , 2006, FLOPS.

[8]  Danny De Schreye,et al.  A new approach to termination analysis of Constraint Handling Rules , 2007 .

[9]  Stephanie Weirich,et al.  Visible Type Application , 2016, ESOP.

[10]  Christian Urban,et al.  Nominal logic programming , 2006, TOPL.

[11]  Dale Miller,et al.  Abstract Syntax for Variable Binders: An Overview , 2000, Computational Logic.

[12]  Slim Abdennadher,et al.  Operational Semantics and Confluence of Constraint Propagation Rules , 1997, CP.

[13]  Alwen Tiu A Logic for Reasoning about Generic Judgments , 2007, Electron. Notes Theor. Comput. Sci..

[14]  Peter J. Stuckey,et al.  The Refined Operational Semantics of Constraint Handling Rules , 2004, ICLP.

[15]  Jurriaan Hage,et al.  Strategies for Solving Constraints in Type and Effect Systems , 2009, Electron. Notes Theor. Comput. Sci..

[16]  Thom W. Frühwirth,et al.  Theory and Practice of Constraint Handling Rules , 1998, J. Log. Program..

[17]  Simon L. Peyton Jones,et al.  Understanding functional dependencies via constraint handling rules , 2007, J. Funct. Program..

[18]  Thom Frühwirth Constraint Handling Rules: My first CHR programs , 2009 .

[19]  Arthur Charguéraud,et al.  The Locally Nameless Representation , 2012, Journal of Automated Reasoning.

[20]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[21]  Jurriaan Hage,et al.  Type Error Diagnosis for Embedded DSLs by Two-Stage Specialized Type Rules , 2016, ESOP.

[22]  Zhenyu Qian,et al.  Linear Unification of Higher-Order Patterns , 1993, TAPSOFT.

[23]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[24]  Gopalan Nadathur,et al.  Programming with Higher-Order Logic , 2012 .

[25]  Simon L. Peyton Jones,et al.  OutsideIn(X) Modular type inference with local assumptions , 2011, J. Funct. Program..

[26]  Peter J. Stuckey,et al.  Type Processing by Constraint Reasoning , 2006, APLAS.

[27]  Danny De Schreye,et al.  Termination Analysis of CHR Revisited , 2008, ICLP.

[28]  Naoki Kobayashi Programming Languages and Systems, 4th Asian Symposium, APLAS 2006, Sydney, Australia, November 8-10, 2006, Proceedings , 2006, APLAS.

[29]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[30]  VytiniotisDimitrios,et al.  Practical type inference for arbitrary-rank types , 2007 .

[31]  Bernd Becker,et al.  Bounded Model Checking with Parametric Data Structures , 2007, Electron. Notes Theor. Comput. Sci..

[32]  Tom Schrijvers,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming as Time Goes By: Constraint Handling Rules , 2022 .

[34]  Simon L. Peyton Jones,et al.  Practical type inference for arbitrary-rank types , 2007, Journal of Functional Programming.

[35]  Thom W. Frühwirth,et al.  Proving Termination of Constraint Solver Programs , 1999, New Trends in Constraints.

[36]  Bart Demoen,et al.  The computational power and complexity of constraint handling rules , 2009, TOPL.

[37]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[38]  Bart Demoen,et al.  User-definable rule priorities for CHR , 2007, PPDP '07.

[39]  Dale Miller,et al.  An Extension to ML to Handle Bound Variables in Data Structures: Preliminary Report , 1990 .

[40]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .