Bunch theory: working notes on applications, axioms and models

11/11/2019
by   Bill Stoddart, et al.
0

In his book "A practical theory of programming" Eric Hehner proposes and applies a remarkably radical reformulation of set theory, in which the collection and packaging of elements are seen as separate activities. This provides for unpackaged collections, referred to as "bunches". Bunches allow us to reason about non-determinism at the level of terms, and, very remarkably, allow us to reason about the conceptual entity "nothing", which is just an empty bunch (and very different from an empty set). This eliminates mathematical "gaps" caused by undefined terms. We compare the use of bunches with other approaches to this problem, and we illustrate the use of bunch theory in formulating program semantics which combines non-deterministic, preferential, and probabilistic choice. We show how an existing axiomatisation of set theory can be extended to incorporate bunches, and we provide and validate a model. Standard functions are lifted when applied to a bunch of values, but we also define a wholistic function application which allows whole bunches to be accepted as arguments, and we develop its associated fixed point theory.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset