Domain Views for Constraint Programming
Pascal Van Hentenryck, Laurent Michel

TL;DR
This paper introduces domain views in constraint programming, simplifying implementation and expanding scope by delegating only domain operations and supporting non-injective views, with demonstrated practical benefits.
Contribution
It proposes domain views as an alternative to variable views, enabling simpler implementation and broader applicability in constraint programming systems.
Findings
Domain views simplify value-based propagation implementation.
They support non-injective views compositionally.
Experimental results show practical performance benefits.
Abstract
Views are a standard abstraction in constraint programming: They make it possible to implement a single version of each constraint, while avoiding to create new variables and constraints that would slow down propagation. Traditional constraint-programming systems provide the concept of {\em variable views} which implement a view of the type by delegating all (domain and constraint) operations on variable to variable . This paper proposes the alternative concept of {\em domain views} which only delegate domain operations. Domain views preserve the benefits of variable views but simplify the implementation of value-based propagation. Domain views also support non-injective views compositionally, expanding the scope of views significantly. Experimental results demonstrate the practical benefits of domain views.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Logic, programming, and type systems · Model-Driven Software Engineering Techniques
