Formal Aspects of Computing (1996) 8:47-66 @ 1996 BCS Formal Aspects of Computing Semantics of Under-determined Expressions Peter Gorm Larsen I and Bo Stig Hansen 2 IIFAD, The Institute of Applied Computer Science,Odense, Denmark 2Department of Computer Science,TechnicalUniversityof Denmark, Lyngby, Denmark Keywords: Specification languages; Semantics of looseness; Least fixed point semantics; Proof rules; VDM Abstract. Some specification languages, such as VDM-SL, allow expressions whose values are not fully determined. This may be convenient in cases where the choice of value should be left to a later stage of development. We consider a simple functional language including such under-determined expressions and present a denotational semantics for the language along with a set of proof rules for reasoning about properties of under-determined expressions. One of the specific problems considered is the combination of under-determined- ness and a least fixed point semantics of recursion. Soundness of the proof rules is also discussed. 1. Introduction Formal specification languages often provide means of specification not usually found in programming languages. One of these is the possibility of writing expressions whose value is not fully determined. Such 'loose specification' may be a convenient way of expressing that a number of alternative implementations are allowed. As noted, e.g., by Sondergaard and Sestoft, there are (at least) two different ways of interpreting loose specifications [SOS90, SOS92]. In connection with the specification language VDM-SL [ISO93] they are called 'under-determinedness': allowing several different deterministic implementations - and 'non-determinism': allowing non-deterministic implementations. In the literature, the term 'under- specification' is sometimes used instead of 'under-determinedness'. In the work presented here, we only consider loosely specified constructs which are interpreted Correspondence and offprint requests to: Peter Gorm Larsen,IFAD,The Instituteof Applied Computer Science, Forskerparken 10, DK - 5230 Odense M, Denmark.