4,166 research outputs found
On instruction sets for Boolean registers in program algebra
In previous work carried out in the setting of program algebra, including
work in the area of instruction sequence size complexity, we chose instruction
sets for Boolean registers that contain only instructions of a few of the
possible kinds. In the current paper, we study instruction sequence size
bounded functional completeness of all possible instruction sets for Boolean
registers. We expect that the results of this study will turn out to be useful
to adequately assess results of work that is concerned with lower bounds of
instruction sequence size complexity.Comment: 18 pages, the preliminaries are largely the same as the preliminaries
in arXiv:1402.4950 [cs.PL] and some earlier papers; 21 pages, presentation
improve
On algorithmic equivalence of instruction sequences for computing bit string functions
Every partial function from bit strings of a given length to bit strings of a
possibly different given length can be computed by a finite instruction
sequence that contains only instructions to set and get the content of Boolean
registers, forward jump instructions, and a termination instruction. We look
for an equivalence relation on instruction sequences of this kind that captures
to a reasonable degree the intuitive notion that two instruction sequences
express the same algorithm.Comment: 27 pages, the preliminaries have textual overlaps with the
preliminaries in arXiv:1308.0219 [cs.PL], arXiv:1312.1529 [cs.PL], and
arXiv:1312.1812 [cs.PL]; 27 pages, three paragraphs about Milner's
algorithmic equivalence hypothesis added to concluding remarks; 26 pages,
several minor improvements of the presentation mad
Instruction sequence processing operators
Instruction sequence is a key concept in practice, but it has as yet not come
prominently into the picture in theoretical circles. This paper concerns
instruction sequences, the behaviours produced by them under execution, the
interaction between these behaviours and components of the execution
environment, and two issues relating to computability theory. Positioning
Turing's result regarding the undecidability of the halting problem as a result
about programs rather than machines, and taking instruction sequences as
programs, we analyse the autosolvability requirement that a program of a
certain kind must solve the halting problem for all programs of that kind. We
present novel results concerning this autosolvability requirement. The analysis
is streamlined by using the notion of a functional unit, which is an abstract
state-based model of a machine. In the case where the behaviours exhibited by a
component of an execution environment can be viewed as the behaviours of a
machine in its different states, the behaviours concerned are completely
determined by a functional unit. The above-mentioned analysis involves
functional units whose possible states represent the possible contents of the
tapes of Turing machines with a particular tape alphabet. We also investigate
functional units whose possible states are the natural numbers. This
investigation yields a novel computability result, viz. the existence of a
universal computable functional unit for natural numbers.Comment: 37 pages; missing equations in table 3 added; combined with
arXiv:0911.1851 [cs.PL] and arXiv:0911.5018 [cs.LO]; introduction and
concluding remarks rewritten; remarks and examples added; minor error in
proof of theorem 4 correcte
On the complexity of the correctness problem for non-zeroness test instruction sequences
This paper concerns the question to what extent it can be efficiently
determined whether an arbitrary program correctly solves a given problem. This
question is investigated with programs of a very simple form, namely
instruction sequences, and a very simple problem, namely the non-zeroness test
on natural numbers. The instruction sequences concerned are of a kind by which,
for each , each function from to can be computed.
The established results include the time complexities of the problem of
determining whether an arbitrary instruction sequence correctly implements the
restriction to of the function from to that
models the non-zeroness test function, for , under several restrictions
on the arbitrary instruction sequence.Comment: 32 pages, minor revision with several obscurities made clea
Quantitative Expressiveness of Instruction Sequence Classes for Computation on Single Bit Registers
The number of instructions of an instruction sequence is taken for its
logical SLOC, and is abbreviated with LLOC. A notion of quantitative
expressiveness is based on LLOC and in the special case of operation over a
family of single bit registers a collection of elementary properties are
established. A dedicated notion of interface is developed and is used for
stating relevant properties of classes of instruction sequence
Implementability Among Predicates
Much work has been done to understand when given predicates (relations) on discrete variables can be conjoined to implement other predicates. Indeed, the lattice of "co-clones" (sets of predicates closed under conjunction, variable renaming, and existential quantification of variables) has been investigated steadily from the 1960's to the present. Here, we investigate a more general model, where duplicatability of values is not taken for granted. This model is motivated in part by large scale neural models, where duplicating a value is similar in cost to computing a function, and by quantum mechanics, where values cannot be duplicated. Implementations in this case are naturally given by a graph fragment in which vertices are predicates, internal edges are existentially quantified variables, and "dangling edges" (edges emanating from a vertex but not yet connected to another vertex) are the free variables of the implemented predicate. We examine questions of implementability among predicates in this scenario, and
we present the solution to all implementability problems for single predicates on up to three boolean values. However, we find that a variety of proof methods are required, and the question of implementability indeed becomes undecidable for larger predicates, although this is tricky to prove. We find that most predicates cannot implement the 3-way equality predicate, which reaffirms the view that duplicatability of values should not be assumed a priori
A short introduction to program algebra with instructions for Boolean registers
A parameterized algebraic theory of instruction sequences, objects that
represent the behaviours produced by instruction sequences under execution, and
objects that represent the behaviours exhibited by the components of the
execution environment of instruction sequences is the basis of a line of
research in which issues relating to a wide variety of subjects from computer
science have been rigorously investigated thinking in terms of instruction
sequences. In various papers that belong to this line of research, use is made
of an instantiation of this theory in which the basic instructions are
instructions to read out and alter the content of Boolean registers and the
components of the execution environment are Boolean registers. In this paper,
we give a simplified presentation of the most general such instantiated theory.Comment: 21 pages, this paper is to a large extent a compilation of material
from several earlier publications; 23 pages, presentation improved and
section on uses for the theory added. arXiv admin note: text overlap with
arXiv:1702.0351
- …