# A Confluent Relational Calculus for Higher-Order Programming with Constraints

@inproceedings{Niehren1994ACR, title={A Confluent Relational Calculus for Higher-Order Programming with Constraints}, author={Joachim Niehren and Gert Smolka}, booktitle={CCL}, year={1994} }

We present the ρ-calculus, a relational calculus parametrized with a logical constraint system. The ρ-calculus provides for higher-order relational programming with first-order constraints, and subsumes higher-order functional programming as a special case. It captures important aspects of the concurrent constraint programming language Oz. We prove the uniform confluence of the ρ-calculus. Uniform confluence implies that all maximal derivations issuing from a given expression have equal length…

## 21 Citations

Constraints for Free in Concurrent Computation

- Computer Science, MathematicsASIAN
- 1995

This work proposes the ρ-calculus as a uniform foundation of concurrent computation and formally relate it to other models: The ρ calculus with equational constraints provides for logic variables and is bisimilar to the γ-Calculus.

A Foundation for Higher-order Concurrent Constraint Programming

- Computer ScienceCCL
- 1994

The γ-calculus can elegantly express higher-order functions and concurrent objects with encapsulated state and multiple inheritance with the remarkable property that it combines first-order constraints with higher- order programming.

A Foundation for Higher-order Concurrent Constraint Programming

- Computer Science
- 1994

The γ-calculus can elegantly express higher-order functions and concurrent objects with encapsulated state and multiple inheritance with the remarkable property that it combines first-order constraints with higher- order programming.

A Confluent Calculus for Concurrent Constraint Programming

- Computer ScienceTheor. Comput. Sci.
- 1997

A Confluent Calculus for Concurrent Constraint Programming with Guarded Choice

- Computer ScienceCP
- 1995

It is shown that it is possible to give a natural confluent calculus for concurrent constraint programs, if the syntactic domain is extended by a blind choice operator and a special constant standing for a discarded branch.

Confluence and Normalization in Reduction Systems Lecture Notes

- Mathematics
- 2015

We study confluence and normalization in abstract reduction systems and apply the results to combinatory logic and an abstract version of the lambda beta calculus. For both systems we obtain the…

Functional computation as concurrent computation

- Computer SciencePOPL '96
- 1996

It is proved that call- by-need complexity is dominated by call-by-value complexity, and the concurrent call-By-need model incorporates mutual recursion and can be extended to cyclic data structures by means of constraints.

On proving confluence modulo equivalence for Constraint Handling Rules

- Computer ScienceFormal Aspects of Computing
- 2016

A formal meta-language is introduced that allows reasoning about abstract states and derivations with meta-level restrictions that reflect the non-logical and incomplete predicates in CHR, and differs from earlier approaches by its simplicity without loss of generality.

Temporal Concurrent Constraint Programming: Denotation, Logic and Applications

- Computer ScienceNord. J. Comput.
- 2002

This work presents a model of temporal concurrent constraint programming which adds to tcc the capability of modeling asynchronous and nondeterministic timed behavior, and calls this tcc extension the ntcc calculus, which gives a denotational semantics for the strongest-postcondition of ntCC processes.

Uniform confluence in concurrent computation

- Computer ScienceJournal of Functional Programming
- 2000

This paper investigates concurrent programs that are uniformly confluent and their relation to eager and lazy functional programs and proves a folk theorem, namely that the call- by-need complexity of a functional program is smaller than its call-by-value complexity.

## References

SHOWING 1-10 OF 24 REFERENCES

A Foundation for Higher-order Concurrent Constraint Programming

- Computer Science
- 1994

The γ-calculus can elegantly express higher-order functions and concurrent objects with encapsulated state and multiple inheritance with the remarkable property that it combines first-order constraints with higher- order programming.

A calculus for higher-order concurrent constraint programming with deep guards

- Computer Science
- 1994

The calculus is parameterized with a first-order constraint system and provides first-class abstraction, guarded disjunction, committed-choice, deepguards, dynamic creation of unique names, and constraint communication for higher-order concurrent constraint programming.

Encapsulated Search for Higher-order Concurrent Constraint Programming

- Computer ScienceILPS
- 1994

The paper focuses on a higher-order combinator providing for encapsulated search, which allows to program diierent search strategies, including depth-rst, indeterministic one solution, demand-driven multiple solution, all solutions, and best solution (branch and bound) search.

A functional theory of local names

- MathematicsPOPL '94
- 1994

λv is an extension of the λ-calculus with a binding construct for local names that preserves all observational equivalences of λ and is useful as a basis for modeling wide-spectrum languages that build on a functional core.

Object-Oriented Concurrent Constraint Programming in Oz

- Computer ScienceKI
- 1993

A novel feature of Oz is that it accommodates higher-order programming without sacrificing that denotation and equality of variables are captured by first-order logic.

A natural semantics for lazy evaluation

- Computer SciencePOPL '93
- 1993

Because a heap is explicitly modelled, the semantics provides a suitable framework for studies about space behaviour of terms under lazy evaluation, so is more suitable for a variety of proofs.

Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new?

- MathematicsMFCS
- 1993

A notion of ‘logical relation’ is introduced which incorporates a version of representation independence for local names and is shown to be complete (and decidable) for expressions of first order types, but incomplete at higher types.

Rewrite Systems

- Computer ScienceHandbook of Theoretical Computer Science, Volume B: Formal Models and Sematics
- 1990

On the Observable Properties of Higher Order Functions that Dynamically Create Local Names (Preliminary Report)

- Computer Science
- 1993

The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state, and develops a general, categorical framework for computationally adequate models of the language based on Moggi’s monadic approach to denotational semantics.

M-Structures: Extending a Parallel, Non-strict, Functional Language with State

- Computer ScienceFPCA
- 1991

A solution is to introduce assignments, as in ML and Scheme; however, for meaningful semantics, they resort to strict, sequential evaluation.