## TPTP Axioms File: QUA001^0.ax

%------------------------------------------------------------------------------
% File     : QUA001^0 : TPTP v7.5.0. Released v4.1.0.
% Domain   : Quantales
% Axioms   : Quantales
% Version  : [Hoe09] axioms.
% English  :

% Refs     : [Con71] Conway (1971), Regular Algebra and Finite Machines
%          : [Hoe09] Hoefner (2009), Email to Geoff Sutcliffe
% Source   : [Hoe09]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   26 (   2 unit;  12 type;   7 defn)
%            Number of atoms       :  173 (  17 equality;  40 variable)
%            Maximal formula depth :   12 (   5 average)
%            Number of connectives :   43 (   0   ~;   1   |;   4   &;  37   @)
%                                         (   1 <=>;   0  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&;   0  !!;   0  ??)
%            Number of type conns  :   43 (  43   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   15 (  12   :;   0  :=)
%            Number of variables   :   27 (   1 sgn;   8   !;   4   ?;  15   ^)
%                                         (  27   :;   0  :=;   0  !>;   0  ?*)
%                                         (   0  @-;   0  @+)
% SPC      :

%------------------------------------------------------------------------------
%----Usual Definition of Set Theory
thf(emptyset_type,type,(
emptyset: \$i > \$o )).

thf(emptyset_def,definition,
( emptyset
= ( ^ [X: \$i] : \$false ) )).

thf(union_type,type,(
union: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(union_def,definition,
( union
= ( ^ [X: \$i > \$o,Y: \$i > \$o,U: \$i] :
( ( X @ U )
| ( Y @ U ) ) ) )).

thf(singleton_type,type,(
singleton: \$i > \$i > \$o )).

thf(singleton_def,definition,
( singleton
= ( ^ [X: \$i,U: \$i] : ( U = X ) ) )).

%----Supremum Definition
thf(zero_type,type,(
zero: \$i )).

thf(sup_type,type,(
sup: ( \$i > \$o ) > \$i )).

thf(sup_es,axiom,
( ( sup @ emptyset )
= zero )).

thf(sup_singleset,axiom,(
! [X: \$i] :
( ( sup @ ( singleton @ X ) )
= X ) )).

thf(supset_type,type,(
supset: ( ( \$i > \$o ) > \$o ) > \$i > \$o )).

thf(supset,definition,
( supset
= ( ^ [F: ( \$i > \$o ) > \$o,X: \$i] :
? [Y: \$i > \$o] :
( ( F @ Y )
& ( ( sup @ Y )
= X ) ) ) )).

thf(unionset_type,type,(
unionset: ( ( \$i > \$o ) > \$o ) > \$i > \$o )).

thf(unionset,definition,
( unionset
= ( ^ [F: ( \$i > \$o ) > \$o,X: \$i] :
? [Y: \$i > \$o] :
( ( F @ Y )
& ( Y @ X ) ) ) )).

thf(sup_set,axiom,(
! [X: ( \$i > \$o ) > \$o] :
( ( sup @ ( supset @ X ) )
= ( sup @ ( unionset @ X ) ) ) )).

%----Definition of binary sums and lattice order
addition: \$i > \$i > \$i )).

= ( ^ [X: \$i,Y: \$i] :
( sup @ ( union @ ( singleton @ X ) @ ( singleton @ Y ) ) ) ) )).

thf(order_type,type,(
leq: \$i > \$i > \$o )).

thf(order_def,axiom,(
! [X1: \$i,X2: \$i] :
( ( leq @ X1 @ X2 )
<=> ( ( addition @ X1 @ X2 )
= X2 ) ) )).

%----Definition of multiplication
thf(multiplication_type,type,(
multiplication: \$i > \$i > \$i )).

thf(crossmult_type,type,(
crossmult: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(crossmult_def,definition,
( crossmult
= ( ^ [X: \$i > \$o,Y: \$i > \$o,A: \$i] :
? [X1: \$i,Y1: \$i] :
( ( X @ X1 )
& ( Y @ Y1 )
& ( A
= ( multiplication @ X1 @ Y1 ) ) ) ) )).

thf(multiplication_def,axiom,(
! [X: \$i > \$o,Y: \$i > \$o] :
( ( multiplication @ ( sup @ X ) @ ( sup @ Y ) )
= ( sup @ ( crossmult @ X @ Y ) ) ) )).

thf(one_type,type,(
one: \$i )).

thf(multiplication_neutral_right,axiom,(
! [X: \$i] :
( ( multiplication @ X @ one )
= X ) )).

thf(multiplication_neutral_left,axiom,(
! [X: \$i] :
( ( multiplication @ one @ X )
= X ) )).

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