3,082 research outputs found
Complexity Theory and the Operational Structure of Algebraic Programming Systems
An algebraic programming system is a language built from a fixed algebraic data abstraction and a selection of deterministic, and non-deterministic, assignment and control constructs. First, we give a detailed analysis of the operational structure of an algebraic data type, one which is designed to classify programming systems in terms of the complexity of their implementations. Secondly, we test our operational description by comparing the computations in deterministic and non-deterministic programming systems under certain space and time restrictions
Partial arithmetical data types of rational numbers and their equational specification
Upon adding division to the operations of a field we obtain a meadow. It is conventional toview division in a field as a partial function, which complicates considerably its algebra andlogic. But partiality is one out of a plurality of possible design decisions regarding division.Upon adding a partial division function ÷ to a field Q of rational numbers we obtain apartial meadow Q (÷) of rational numbers that qualifies as a data type. Partial data typesbring problems for specifying and programming that have led to complicated algebraicand logical theories – unlike total data types. We discuss four different ways of providingan algebraic specification of this important arithmetical partial data type Q (÷) via thealgebraic specification of a closely related total data type. We argue that the specificationmethod that uses a common meadow of rational numbers as the total algebra is themost attractive and useful among these four options. We then analyse the problem ofequality between expressions in partial data types by examining seven notions of equalitythat arise from our methods alone. Finally, based on the laws of common meadows, wepresent an equational calculus for working with fracterms that is of general interest outsideprogramming theory
Partial arithmetical data types of rational numbers and their equational specification
Upon adding division to the operations of a field we obtain a meadow. It is conventional to view division in a field as a partial function, which complicates considerably its algebra and logic. But partiality is one out of a plurality of possible design decisions regarding division. Upon adding a partial division function ÷ to a field Q of rational numbers we obtain a partial meadow Q (÷) of rational numbers that qualifies as a data type. Partial data types bring problems for specifying and programming that have led to complicated algebraic and logical theories – unlike total data types. We discuss four different ways of providing an algebraic specification of this important arithmetical partial data type Q (÷) via the algebraic specification of a closely related total data type. We argue that the specification method that uses a common meadow of rational numbers as the total algebra is the most attractive and useful among these four options. We then analyse the problem of equality between expressions in partial data types by examining seven notions of equality that arise from our methods alone. Finally, based on the laws of common meadows, we present an equational calculus for working with fracterms that is of general interest outside programming theory
Inversive Meadows and Divisive Meadows
Inversive meadows are commutative rings with a multiplicative identity
element and a total multiplicative inverse operation whose value at 0 is 0.
Divisive meadows are inversive meadows with the multiplicative inverse
operation replaced by a division operation. We give finite equational
specifications of the class of all inversive meadows and the class of all
divisive meadows. It depends on the angle from which they are viewed whether
inversive meadows or divisive meadows must be considered more basic. We show
that inversive and divisive meadows of rational numbers can be obtained as
initial algebras of finite equational specifications. In the spirit of
Peacock's arithmetical algebra, we study variants of inversive and divisive
meadows without an additive identity element and/or an additive inverse
operation. We propose simple constructions of variants of inversive and
divisive meadows with a partial multiplicative inverse or division operation
from inversive and divisive meadows. Divisive meadows are more basic if these
variants are considered as well. We give a simple account of how mathematicians
deal with 1 / 0, in which meadows and a customary convention among
mathematicians play prominent parts, and we make plausible that a convincing
account, starting from the popular computer science viewpoint that 1 / 0 is
undefined, by means of some logic of partial functions is not attainable.Comment: 18 pages; error corrected; 29 pages, combined with arXiv:0909.2088
[math.RA] and arXiv:0909.5271 [math.RA
A systematic study of models of abstract data types
AbstractThe term-generated models of an abstract data type can be represented by congruence relations on the term algebra. Total and partial heterogeneous algebras are considered as models of hierarchical abstract data types.Particular classes of models are studied and it is investigated under which conditions they form a complete lattice. This theory allows also to describe programming languages (and their semantic models) by abstract types. As example we present a simple deterministic stream processing language
Termination of rewrite relations on -terms based on Girard's notion of reducibility
In this paper, we show how to extend the notion of reducibility introduced by
Girard for proving the termination of -reduction in the polymorphic
-calculus, to prove the termination of various kinds of rewrite
relations on -terms, including rewriting modulo some equational theory
and rewriting with matching modulo , by using the notion of
computability closure. This provides a powerful termination criterion for
various higher-order rewriting frameworks, including Klop's Combinatory
Reductions Systems with simple types and Nipkow's Higher-order Rewrite Systems
- …