and is one of project's main ultimate goals. The [13] report contains details of the work done.

## 4 Formalizing Rock Classification

Rules of rock type assignment to samples are described in [10] and consist of a description of initial-classification algorithm and diagrams of final classification by percentage of essential minerals. We begin with a specification of **all parts** of the algorithm, sample data being its input and term (word combination)
representing sample rock type its output. The algorithm is written as a set of functions in the form of a flowchart clear to petrologists.

The algorithm uses some real-valued functions and unary predicates. These functions and predicates are supposed to have value on any solid [2]. **Some of** these functions and predicates have been given definitions, definitions should be found for other ones, and some will probably remain without definitions and will enter in the formal theory as primary ones. The algorithm and necessary definitions are given for ultramafic types of plutonic rock as an example. It is shown then how to get formal definitions of some types of rock from the algorithm.

VPC **means mineral Volume Percentage Content of the sample and is also**
known as "volume modal data".

We name an algorithm function (for example, ultramafic rock type**) receiving sample data at its input and returning a sample rock type name** *classifying*.

Quantitative and Qualitative Characteristics. **We need unary real-valued**
functions returning the volume percentage of minerals in a solid. The **full set of** minerals required for the algorithm will be gradually clarified.

The following functions of one argument returning a real number were required till now: VPC melilite, VPC kalsilite, VPC leucite, VPC Ol, VPC Opx, VPC Cpx, VPC hornblende, VPC garnet, VPC spinel, and VPC biotite**. These**
functions are primary and may be measured.

We also need the VPC of groups of minerals (see [10] p. 4, [6] p. 6): VPC Q,
VPC A, VPC P, VPC F and VPC M**. It is clear that these functions have definitions.** The VPC M **definition is given below.**
The following unary predicates will be required to describe the sample:
pyroclastic, kimberlite, lamproite, lamprophyre, charnockite, **plutonic**, and volcanic**. All of these predicates are supposed to have definitions. The** definition of pyroclastic **is given below.**
Definitions. **All the definitions currently available can be found in a technical**
report [14]. We show typical examples here. All definitions are based **on two** sources: "Igneous Rocks: A Classification and Glossary of Terms" **[10] and 'BGS** Rock Classification Scheme" [6], and are confirmed by petrologists.