TPTP Problem File: SYP119^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SYP119^1 : TPTP v9.3.1. Released v9.3.0.
% Domain   : Syntactic
% Problem  : Polymorphic identity - function composition idempotence
% Version  : Especial.
% English  :

% Refs     :
% Source   : [TPTP]
% Names    : 001 [TPTP]

% Status   : Theorem
% Rating   : 0.25 v9.3.0
% Syntax   : Number of formulae    :    7 (   4 unt;   2 typ;   0 def)
%            Number of atoms       :    8 (   8 equ;   0 cnn)
%            Maximal formula atoms :    2 (   1 avg)
%            Number of connectives :   32 (   0   ~;   0   |;   1   &;  31   @)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   5 avg)
%            Number of types       :    0 (   0 usr)
%            Number of type decls  :    2 (   2 !>P;   0 !>D)
%            Number of type conns  :   13 (  13   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :    3 (   2 usr;   0 con; 2-6 aty)
%            Number of variables   :   26 (   1   ^;  21   !;   0   ?;  26   :)
%                                         (   4  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR_NDT

% Comments : Originally from HOL Light
%------------------------------------------------------------------------------
thf(i,type,
    i: 
      !>[A: $tType] : ( A > A ) ).

thf(o,type,
    o: 
      !>[B: $tType,A: $tType,C: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).

thf('trivia/I_THM_',axiom,
    ! [A: $tType,X: A] :
      ( ( i @ A @ X )
      = X ) ).

thf('trivia/o_DEF_',axiom,
    ! [C: $tType,B: $tType,A: $tType,F: B > C,G: A > B] :
      ( ( o @ B @ A @ C @ F @ G )
      = ( ^ [X: A] : ( F @ ( G @ X ) ) ) ) ).

thf('trivia/o_THM_',axiom,
    ! [C: $tType,B: $tType,A: $tType,F: B > C,G: A > B,X: A] :
      ( ( o @ B @ A @ C @ F @ G @ X )
      = ( F @ ( G @ X ) ) ) ).

thf('class/FUN_EQ_THM_',axiom,
    ! [B: $tType,A: $tType,F: A > B,G: A > B] :
      ( ( F = G )
      = ( ! [X: A] :
            ( ( F @ X )
            = ( G @ X ) ) ) ) ).

thf('trivia/I_O_ID_',conjecture,
    ! [A: $tType,B: $tType,F: A > B] :
      ( ( ( o @ B @ A @ B @ ( i @ B ) @ F )
        = F )
      & ( ( o @ A @ A @ B @ F @ ( i @ A ) )
        = F ) ) ).

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