## TPTP Axioms File: SET008^1.ax

```%------------------------------------------------------------------------------
% File     : SET008^1 : TPTP v7.5.0. Released v3.6.0.
% Domain   : Set Theory
% Axioms   : Definitions for functions
% Version  : [Ben08] axioms.
% English  :

% Refs     : [BS+05] Benzmueller et al. (2005), Can a Higher-Order and a Fi
%          : [BS+08] Benzmueller et al. (2007), Combined Reasoning by Autom
%          : [Ben08] Benzmueller (2008), Email to Geoff Sutcliffe
% Source   : [Ben08]
% Names    : Typed_Function [Ben08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   16 (   0 unit;   8 type;   8 defn)
%            Number of atoms       :  143 (  13 equality;  40 variable)
%            Maximal formula depth :   10 (   6 average)
%            Number of connectives :   29 (   0   ~;   0   |;   3   &;  23   @)
%                                         (   0 <=>;   3  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&;   0  !!;   0  ??)
%            Number of type conns  :   46 (  46   >;   0   *;   0   +)
%            Number of symbols     :   10 (   8   :;   0  :=)
%            Number of variables   :   26 (   0 sgn;   7   !;   3   ?;  16   ^)
%                                         (  26   :;   0  :=;   0  !>;   0  ?*)
% SPC      :

%------------------------------------------------------------------------------
thf(fun_image_decl,type,(
fun_image: ( \$i > \$i ) > ( \$i > \$o ) > \$i > \$o )).

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

thf(fun_composition_decl,type,(
fun_composition: ( \$i > \$i ) > ( \$i > \$i ) > \$i > \$i )).

thf(fun_composition,definition,
( fun_composition
= ( ^ [F: \$i > \$i,G: \$i > \$i,X: \$i] :
( G @ ( F @ X ) ) ) )).

thf(fun_inv_image_decl,type,(
fun_inv_image: ( \$i > \$i ) > ( \$i > \$o ) > \$i > \$o )).

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

thf(fun_injective_decl,type,(
fun_injective: ( \$i > \$i ) > \$o )).

thf(fun_injective,definition,
( fun_injective
= ( ^ [F: \$i > \$i] :
! [X: \$i,Y: \$i] :
( ( ( F @ X )
= ( F @ Y ) )
=> ( X = Y ) ) ) )).

thf(fun_surjective_decl,type,(
fun_surjective: ( \$i > \$i ) > \$o )).

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

thf(fun_bijective_decl,type,(
fun_bijective: ( \$i > \$i ) > \$o )).

thf(fun_bijective,definition,
( fun_bijective
= ( ^ [F: \$i > \$i] :
( ( fun_injective @ F )
& ( fun_surjective @ F ) ) ) )).

thf(fun_decreasing_decl,type,(
fun_decreasing: ( \$i > \$i ) > ( \$i > \$i > \$o ) > \$o )).

thf(fun_decreasing,definition,
( fun_decreasing
= ( ^ [F: \$i > \$i,SMALLER: \$i > \$i > \$o] :
! [X: \$i,Y: \$i] :
( ( SMALLER @ X @ Y )
=> ( SMALLER @ ( F @ Y ) @ ( F @ X ) ) ) ) )).

thf(fun_increasing_decl,type,(
fun_increasing: ( \$i > \$i ) > ( \$i > \$i > \$o ) > \$o )).

thf(fun_increasing,definition,
( fun_increasing
= ( ^ [F: \$i > \$i,SMALLER: \$i > \$i > \$o] :
! [X: \$i,Y: \$i] :
( ( SMALLER @ X @ Y )
=> ( SMALLER @ ( F @ X ) @ ( F @ Y ) ) ) ) )).

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