I am doing my Masters on Computer Science(Major: Artificial Intelligence). A* is in my blood. The Z notation, then, is a mathematical language with a powerful structuring mechanism. In combination with natural language, it can be used to produce formal specications. We may reason about these specications using the proof techniques of mathematical logic. We may also rene a specication, yielding another description that is closer to executable code.