Abstract

MOQA is a new programming language with the unique property that the average running time of its programs can be (semi-)automatically deduced in a modular way by a static analysis of the program code. This is based on the fact that to each MOQA action there corresponds an operation on partial orders, which associates with each partial order a sequence of partial orders.All programs in MOQA use a special data structure and an associated suite of operations. This data structure consists of a pair ((X,⊑),ℓ), where (X,⊑) is a finite poset and ℓ:X↦L is a bijection from X to a totally ordered set of labels L, satisfying the condition x⊑y⟹ℓ(x)⩽ℓ(y). Central to the analysis of MOQA programs is the set of all such pairs for a given (X,⊑) and a given L; this set is called a random structure. The corresponding set of order-preserving bijections is called a random structuring.This paper establishes a fundamental equivalence by showing that each poset is uniquely characterised by its associated random structuring, and derives algorithms to reconstruct a poset from its random structuring and to test if an arbitrary set of bijections forms a random structuring. It then develops some consequences of the previous results, and in particular a first characterisation of cardinalities of random structurings. These results open the way to the study of the representation of recursive sets of lists as random structures. This study is closely related to the implementation of list manipulation algorithms in MOQA.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call