A single, coherent and expressive knowledge representation will be used throughout the project to encode both input data and the learnt knowledge. The logic programming language PROLOG provides an ideal medium and the pure subset of the language has a solid and clear semantics derived from mathematical logical. The knowledge mining engine PROGOL uses PROLOG clauses as a single representation for background knowledge, observations and learnt rules.