TPTP Axioms File: KLE001+4.ax


%------------------------------------------------------------------------------
% File     : KLE001+4 : TPTP v9.0.0. Released v3.6.0.
% Domain   : Kleene Algebra
% Axioms   : Boolean domain, antidomain, codomain, coantidomain
% Version  : [Hoe08] axioms.
% English  :

% Refs     : [Hoe08] Hoefner (2008), Email to G. Sutcliffe
% Source   : [Hoe08]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :    8 (   8 unt;   0 def)
%            Number of atoms       :    8 (   8 equ)
%            Maximal formula atoms :    1 (   1 avg)
%            Number of connectives :    0 (   0   ~;   0   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    3 (   2 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    1 (   0 usr;   0 prp; 2-2 aty)
%            Number of functors    :    8 (   8 usr;   2 con; 0-2 aty)
%            Number of variables   :   10 (  10   !;   0   ?)
% SPC      : 

% Comments : Requires KLE001+0.ax, KLE002+0.ax or KLE003+0.ax
%          : With KLE001+0 generates Idempotent semirings with domain/codomain
%            With KLE002+0 generates Kleene Algebra with domain domain/codomain
%            With KLE003+0 generates Omega Algebra with domain/codomain
%------------------------------------------------------------------------------
%----Boolean domain axioms (a la Desharnais & Struth)
fof(domain1,axiom,
    ! [X0] : multiplication(antidomain(X0),X0) = zero ).

fof(domain2,axiom,
    ! [X0,X1] : addition(antidomain(multiplication(X0,X1)),antidomain(multiplication(X0,antidomain(antidomain(X1))))) = antidomain(multiplication(X0,antidomain(antidomain(X1)))) ).

fof(domain3,axiom,
    ! [X0] : addition(antidomain(antidomain(X0)),antidomain(X0)) = one ).

fof(domain4,axiom,
    ! [X0] : domain(X0) = antidomain(antidomain(X0)) ).

%----Boolean codomain axioms (a la Desharnais & Struth)
fof(codomain1,axiom,
    ! [X0] : multiplication(X0,coantidomain(X0)) = zero ).

fof(codomain2,axiom,
    ! [X0,X1] : addition(coantidomain(multiplication(X0,X1)),coantidomain(multiplication(coantidomain(coantidomain(X0)),X1))) = coantidomain(multiplication(coantidomain(coantidomain(X0)),X1)) ).

fof(codomain3,axiom,
    ! [X0] : addition(coantidomain(coantidomain(X0)),coantidomain(X0)) = one ).

fof(codomain4,axiom,
    ! [X0] : codomain(X0) = coantidomain(coantidomain(X0)) ).

%------------------------------------------------------------------------------