## TPTP Axioms File: GRP005-0.ax

```%--------------------------------------------------------------------------
% File     : GRP005-0 : TPTP v7.5.0. Released v1.0.0.
% Domain   : Group Theory
% Axioms   : Group theory axioms
% Version  : [Ver92] axioms.
% English  :

% Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a
%          : [Wos88] Wos (1988), Automated Reasoning - 33 Basic Research Pr
%          : [Ver92] Veroff (1992), Email to G. Sutcliffe
%          : [Ver93] Veroff (1993), Email to G. Sutcliffe
% Source   : [Ver92]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of clauses    :    7 (   0 non-Horn;   3 unit;   4 RR)
%            Number of atoms      :   17 (   0 equality)
%            Maximal clause size  :    4 (   2 average)
%            Number of predicates :    2 (   0 propositional; 2-3 arity)
%            Number of functors   :    3 (   1 constant; 0-2 arity)
%            Number of variables  :   24 (   0 singleton)
%            Maximal term depth   :    2 (   1 average)
% SPC      :

% Comments : [Ver93] pointed out that the traditional labelling of the
%            closure and well_definedness axioms was wrong. The correct
%            labelling indicates that product is a total function.
%          : Note that the axioms of equality are dependent on this set!
%          : These axioms are used in [Wos88] p.185.
%--------------------------------------------------------------------------
cnf(left_identity,axiom,
( product(identity,X,X) )).

cnf(left_inverse,axiom,
( product(inverse(X),X,identity) )).

%----This axiom is called closure or totality in some axiomatisations
cnf(total_function1,axiom,
( product(X,Y,multiply(X,Y)) )).

%----This axiom is called well_definedness in some axiomatisations
cnf(total_function2,axiom,
( ~ product(X,Y,Z)
| ~ product(X,Y,W)
| equalish(Z,W) )).

cnf(associativity1,axiom,
( ~ product(X,Y,U)
| ~ product(Y,Z,V)
| ~ product(U,Z,W)
| product(X,V,W) )).

cnf(associativity2,axiom,
( ~ product(X,Y,U)
| ~ product(Y,Z,V)
| ~ product(X,V,W)
| product(U,Z,W) )).

cnf(product_substitution3,axiom,
( ~ equalish(X,Y)
| ~ product(W,Z,X)
| product(W,Z,Y) )).

%--------------------------------------------------------------------------
```