Observer Complete Definitions are Behaviourally Coherent

We consider observational specifications of state-based systems which incorporate the declaration of a distinguished set of observer operations. These observers determine an indistinguishability relation for states which is called "observational equality". An important requirement for the non-observer operations is the compatibility with the observational equality. In the CafeOBJ language (and in extended hidden algebra) this property is called "behavioural coherence". In this presentation we introduce the notion of an "observer complete definition" and we show that any (non-observer) operation which is defined using this pattern is behaviourally coherent. We also discuss some consequences of this result for relating observational logic and extended hidden algebra semantics and for proving the correctness of observational implementations.