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      : 

% Comments : Requires SET008^0.
%------------------------------------------------------------------------------
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 ) ) ) ) )).

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