Information systems as implementations (abstract only)

It has for a while been widely accepted that an appropriate mathematical model for studying data types is the category of domains, i.e. consistently complete algebraic cpos, and continuous functions. What has not faired as well in acceptance is a method of representation, or implementation, of domains. The most recent method of representation —Information Systems—was introduced by Dana Scott and is gaining acceptance, as indicated by its appearance in a number of recent research papers. The morphisms utilized in the study of information systems are approximable mappings and they correspond to continuous functions when one passes from an information system to the domain which it implements. The correspondence is such that two information systems are isomorphic, with respect to approximable mappings, if the domains which they implement are isomorphic. Thus approximable mappings do not allow us to differentiate between two different implementations of the same domain. As stated by Winskel & Larsen (1984), we have: “Although information systems carry a strong intuition, as a category, with approximable mappings, they are equivalent to the category of domains, with continuous functions. From the point of view of categorical constructions they say no more than domains; they are just a representation of the old category of domains… But information systems do have potentially more structure than domains and quite likely there are morphisms on them which can respect this greater details.”In this paper a notion of morphism between information systems is introduced that is appropriate for comparing implementations. As a simple example, consider two standard implementations of the data type Boolean—the integer representation and the bit representation.If one is restricted to utilizing approximable mappings to compare these two implementations then one arrives at the conclusion that they are isomorphic, which should probably not be the case. What one needs is a notion of morphism that preserves more of the structure of an information system.Let me elaborate on my interpretation of an information system. I do not always think of the tokens of an information system as entities that give us information about a construct (e.g. command, expression, …) in our language but rather think of the tokens as the constructs. We can thus think of the description used to describe the tokens in our system as a description of the abstract syntax of our language. The rules on consistency and entailment tell us the “relative semantics” of these constructs. The “actual semantics” or denotation of a construct is determined by the domain associated with the information system, the denotation of a construct being the set of all tokens entailed by the construct. If we think of domains as describing the denotation of a language then we can think of an information system as describing Frege's notion of “the sense” of the language.It should be true that if two collections possess the same “sense” then they should possess the same denotation. The opposite need not hold true. Approximable mappings allow one to differentiate denotation but not “sense”. The definition of homomorphism introduced in my paper is an attempt to allow one to differentiate “sense”.In the paper we investigate information systems and the constructions on them via these new morphisms. It also takes a look at how these new morphisms stand in the relationship between information systems and domains.