TSTP Solution File: ALG263^1 by Satallax---3.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Satallax---3.5
% Problem  : ALG263^1 : TPTP v8.1.0. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : satallax -E eprover-ho -P picomus -M modes -p tstp -t %d %s

% Computer : n018.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Thu Jul 14 17:57:49 EDT 2022

% Result   : Theorem 44.62s 44.98s
% Output   : Proof 44.62s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    4
%            Number of leaves      :  157
% Syntax   : Number of formulae    :  164 (  50 unt;  13 typ;  41 def)
%            Number of atoms       :  589 ( 205 equ;   0 cnn)
%            Maximal formula atoms :   35 (   3 avg)
%            Number of connectives : 2079 ( 107   ~;  53   |;   0   &;1462   @)
%                                         (  51 <=>; 398  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   32 (   4 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :  111 ( 111   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  106 ( 103 usr;  98 con; 0-3 aty)
%                                         (   8  !!;   0  ??;   0 @@+;   0 @@-)
%            Number of variables   :  555 (  10   ^ 545   !;   0   ?; 555   :)

% Comments : 
%------------------------------------------------------------------------------
thf(ty_subst,type,
    subst: $tType ).

thf(ty_term,type,
    term: $tType ).

thf(ty_push,type,
    push: term > subst > subst ).

thf(ty_eigen__1,type,
    eigen__1: term ).

thf(ty_eigen__0,type,
    eigen__0: subst > term > subst > $o ).

thf(ty_ap,type,
    ap: term > term > term ).

thf(ty_id,type,
    id: subst ).

thf(ty_one,type,
    one: term ).

thf(ty_sub,type,
    sub: term > subst > term ).

thf(ty_lam,type,
    lam: term > term ).

thf(ty_sh,type,
    sh: subst ).

thf(ty_var,type,
    var: term > $o ).

thf(ty_comp,type,
    comp: subst > subst > subst ).

thf(h0,assumption,
    ! [X1: term > $o,X2: term] :
      ( ( X1 @ X2 )
     => ( X1 @ ( eps__0 @ X1 ) ) ),
    introduced(assumption,[]) ).

thf(eigendef_eigen__1,definition,
    ( eigen__1
    = ( eps__0
      @ ^ [X1: term] :
          ~ ( ( var @ X1 )
           => ( eigen__0 @ id @ X1 @ id ) ) ) ),
    introduced(definition,[new_symbols(definition,[eigen__1])]) ).

thf(h1,assumption,
    ! [X1: ( subst > term > subst > $o ) > $o,X2: subst > term > subst > $o] :
      ( ( X1 @ X2 )
     => ( X1 @ ( eps__1 @ X1 ) ) ),
    introduced(assumption,[]) ).

thf(eigendef_eigen__0,definition,
    ( eigen__0
    = ( eps__1
      @ ^ [X1: subst > term > subst > $o] :
          ~ ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                ( ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) )
               => ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 ) )
           => ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                  ( ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 )
                 => ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) ) )
             => ( ! [X2: term] :
                    ( ( var @ ( sub @ X2 @ id ) )
                   => ( X1 @ id @ X2 @ id ) )
               => ! [X2: term] :
                    ( ( var @ X2 )
                   => ( X1 @ id @ X2 @ id ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[eigen__0])]) ).

thf(sP1,plain,
    ( sP1
  <=> ( ! [X1: term,X2: term] :
          ( ( ( lam @ X1 )
            = ( lam @ X2 ) )
         => ( X1 = X2 ) )
     => ( ! [X1: term,X2: term] :
            ( ( ( sub @ X1 @ sh )
              = ( sub @ X2 @ sh ) )
           => ( X1 = X2 ) )
       => ( ! [X1: term,X2: term,X3: term] :
              ( ( lam @ X1 )
             != ( ap @ X2 @ X3 ) )
         => ( ! [X1: term,X2: term] :
                ~ ( var @ ( ap @ X1 @ X2 ) )
           => ( ! [X1: term] :
                  ~ ( var @ ( lam @ X1 ) )
             => ( ! [X1: term > $o] :
                    ( ! [X2: term] :
                        ( ( var @ X2 )
                       => ( X1 @ X2 ) )
                   => ( ! [X2: term,X3: term] :
                          ( ( X1 @ X2 )
                         => ( ( X1 @ X3 )
                           => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                     => ( ! [X2: term] :
                            ( ( X1 @ X2 )
                           => ( X1 @ ( lam @ X2 ) ) )
                       => ( !! @ X1 ) ) ) )
               => ( ! [X1: term > $o,X2: term,X3: subst] :
                      ( ! [X4: term] :
                          ( ( var @ X4 )
                         => ( X1 @ ( sub @ X4 @ X3 ) ) )
                     => ( ( X1 @ X2 )
                       => ! [X4: term] :
                            ( ( var @ X4 )
                           => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X3 ) ) ) ) ) )
                 => ( ! [X1: term > $o] :
                        ( ! [X2: term,X3: term] :
                            ( ( X1 @ X2 )
                           => ( ( X1 @ X3 )
                             => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                       => ( ! [X2: term] :
                              ( ! [X3: term] :
                                  ( ( X1 @ X3 )
                                 => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                             => ( X1 @ ( lam @ X2 ) ) )
                         => ! [X2: term,X3: subst] :
                              ( ! [X4: term] :
                                  ( ( var @ X4 )
                                 => ( X1 @ ( sub @ X4 @ X3 ) ) )
                             => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) )
                   => ( ! [X1: term > $o] :
                          ( ! [X2: term] :
                              ( ( var @ X2 )
                             => ( X1 @ X2 ) )
                         => ( ! [X2: term,X3: term] :
                                ( ( X1 @ X2 )
                               => ( ( X1 @ X3 )
                                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                           => ( ! [X2: term] :
                                  ( ! [X3: term] :
                                      ( ( X1 @ X3 )
                                     => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                                 => ( X1 @ ( lam @ X2 ) ) )
                             => ( !! @ X1 ) ) ) )
                     => ( ~ ( ~ ( ! [X1: subst,X2: subst,X3: subst] :
                                    ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                                    = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
                               => ~ ! [X1: subst] :
                                      ( ( comp @ id @ X1 )
                                      = X1 ) )
                           => ~ ! [X1: subst] :
                                  ( ( comp @ X1 @ id )
                                  = X1 ) )
                       => ( ~ ( ! [X1: term,X2: subst,X3: subst] :
                                  ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
                                  = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
                             => ~ ! [X1: term] :
                                    ( ( sub @ X1 @ id )
                                    = X1 ) )
                         => ( ! [X1: term,X2: term,X3: term,X4: term] :
                                ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
                                  = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
                               => ( X1 = X2 ) )
                           => ( ! [X1: term,X2: term,X3: term,X4: term] :
                                  ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
                                    = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
                                 => ( X3 = X4 ) )
                             => ( ! [X1: subst > term > term] :
                                    ( ! [X2: subst,X3: term,X4: subst] :
                                        ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                        = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                                   => ! [X2: subst > term > term] :
                                        ( ! [X3: subst,X4: term,X5: subst] :
                                            ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                                            = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
                                       => ( ( ( lam @ ( X1 @ sh @ one ) )
                                            = ( lam @ ( X2 @ sh @ one ) ) )
                                         => ! [X3: subst,X4: term] :
                                              ( ( X1 @ X3 @ X4 )
                                              = ( X2 @ X3 @ X4 ) ) ) ) )
                               => ( ! [X1: subst > term > term] :
                                      ( ! [X2: subst,X3: term,X4: subst] :
                                          ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                          = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                                     => ! [X2: term,X3: term] :
                                          ( ( lam @ ( X1 @ sh @ one ) )
                                         != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
                                 => ( ! [X1: subst > term > term] :
                                        ( ! [X2: subst,X3: term,X4: subst] :
                                            ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                            = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) )
                                   => ( ! [X1: term,X2: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ X1 @ id ) @ X2 ) @ id ) )
                                     => ! [X1: subst > term > subst > $o] :
                                          ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                                              ( ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) )
                                             => ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 ) )
                                         => ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                                                ( ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 )
                                               => ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) ) )
                                           => ( ! [X2: term] :
                                                  ( ( var @ ( sub @ X2 @ id ) )
                                                 => ( X1 @ id @ X2 @ id ) )
                                             => ! [X2: term] :
                                                  ( ( var @ X2 )
                                                 => ( X1 @ id @ X2 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP1])]) ).

thf(sP2,plain,
    ( sP2
  <=> ( ! [X1: term,X2: term] :
          ~ ( var @ ( sub @ ( ap @ ( sub @ X1 @ id ) @ X2 ) @ id ) )
     => ! [X1: subst > term > subst > $o] :
          ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
              ( ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) )
             => ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 ) )
         => ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                ( ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 )
               => ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) ) )
           => ( ! [X2: term] :
                  ( ( var @ ( sub @ X2 @ id ) )
                 => ( X1 @ id @ X2 @ id ) )
             => ! [X2: term] :
                  ( ( var @ X2 )
                 => ( X1 @ id @ X2 @ id ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP2])]) ).

thf(sP3,plain,
    ( sP3
  <=> ( ! [X1: term > $o] :
          ( ( X1 @ one )
         => ( ! [X2: term] :
                ( ( var @ X2 )
               => ( ( X1 @ X2 )
                 => ( X1 @ ( sub @ X2 @ sh ) ) ) )
           => ! [X2: term] :
                ( ( var @ X2 )
               => ( X1 @ X2 ) ) ) )
     => ( ! [X1: term,X2: term,X3: term,X4: term] :
            ( ( ( ap @ X1 @ X3 )
              = ( ap @ X2 @ X4 ) )
           => ( X1 = X2 ) )
       => ( ! [X1: term,X2: term,X3: term,X4: term] :
              ( ( ( ap @ X1 @ X3 )
                = ( ap @ X2 @ X4 ) )
             => ( X3 = X4 ) )
         => sP1 ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP3])]) ).

thf(sP4,plain,
    ( sP4
  <=> ( ! [X1: term,X2: subst] :
          ( ( sub @ ( lam @ X1 ) @ X2 )
          = ( lam @ ( sub @ X1 @ ( push @ one @ ( comp @ X2 @ sh ) ) ) ) )
     => ( ! [X1: term,X2: subst,X3: subst] :
            ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
            = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
       => ( ! [X1: subst] :
              ( ( comp @ id @ X1 )
              = X1 )
         => ( ! [X1: term,X2: subst] :
                ( ( comp @ sh @ ( push @ X1 @ X2 ) )
                = X2 )
           => ( ! [X1: subst,X2: subst,X3: subst] :
                  ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                  = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
             => ( ! [X1: term,X2: subst,X3: subst] :
                    ( ( comp @ ( push @ X1 @ X2 ) @ X3 )
                    = ( push @ ( sub @ X1 @ X3 ) @ ( comp @ X2 @ X3 ) ) )
               => ( ! [X1: subst] :
                      ( ( comp @ X1 @ id )
                      = X1 )
                 => ( ( ( push @ one @ sh )
                      = id )
                   => ( ! [X1: subst] :
                          ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
                          = X1 )
                     => ( ( var @ one )
                       => ( ! [X1: term] :
                              ( ( var @ X1 )
                             => ( var @ ( sub @ X1 @ sh ) ) )
                         => sP3 ) ) ) ) ) ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP4])]) ).

thf(sP5,plain,
    ( sP5
  <=> ! [X1: subst > term > subst > $o] :
        ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
            ( ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) )
           => ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 ) )
       => ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
              ( ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 )
             => ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) ) )
         => ( ! [X2: term] :
                ( ( var @ ( sub @ X2 @ id ) )
               => ( X1 @ id @ X2 @ id ) )
           => ! [X2: term] :
                ( ( var @ X2 )
               => ( X1 @ id @ X2 @ id ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP5])]) ).

thf(sP6,plain,
    ( sP6
  <=> ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ X1 @ X3 )
            = ( ap @ X2 @ X4 ) )
         => ( X1 = X2 ) )
     => ( ! [X1: term,X2: term,X3: term,X4: term] :
            ( ( ( ap @ X1 @ X3 )
              = ( ap @ X2 @ X4 ) )
           => ( X3 = X4 ) )
       => sP1 ) ) ),
    introduced(definition,[new_symbols(definition,[sP6])]) ).

thf(sP7,plain,
    ( sP7
  <=> ( var @ ( sub @ eigen__1 @ id ) ) ),
    introduced(definition,[new_symbols(definition,[sP7])]) ).

thf(sP8,plain,
    ( sP8
  <=> ! [X1: term] :
        ( ( var @ X1 )
       => ( eigen__0 @ id @ X1 @ id ) ) ),
    introduced(definition,[new_symbols(definition,[sP8])]) ).

thf(sP9,plain,
    ( sP9
  <=> ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ X1 @ X3 )
            = ( ap @ X2 @ X4 ) )
         => ( X3 = X4 ) )
     => sP1 ) ),
    introduced(definition,[new_symbols(definition,[sP9])]) ).

thf(sP10,plain,
    ( sP10
  <=> ( ! [X1: term] :
          ( ( var @ ( sub @ X1 @ id ) )
         => ( eigen__0 @ id @ X1 @ id ) )
     => sP8 ) ),
    introduced(definition,[new_symbols(definition,[sP10])]) ).

thf(sP11,plain,
    ( sP11
  <=> ( ! [X1: term] :
          ( ( var @ X1 )
         => ( var @ ( sub @ X1 @ sh ) ) )
     => sP3 ) ),
    introduced(definition,[new_symbols(definition,[sP11])]) ).

thf(sP12,plain,
    ( sP12
  <=> ( ! [X1: term] :
          ( ( sub @ X1 @ id )
          = X1 )
     => sP4 ) ),
    introduced(definition,[new_symbols(definition,[sP12])]) ).

thf(sP13,plain,
    ( sP13
  <=> ( ! [X1: subst,X2: term,X3: subst,X4: subst] :
          ( ( eigen__0 @ ( comp @ X1 @ X4 ) @ ( sub @ X2 @ X4 ) @ X3 )
         => ( eigen__0 @ X1 @ X2 @ ( comp @ X4 @ X3 ) ) )
     => sP10 ) ),
    introduced(definition,[new_symbols(definition,[sP13])]) ).

thf(sP14,plain,
    ( sP14
  <=> ( ! [X1: term,X2: term,X3: term] :
          ( ( lam @ X1 )
         != ( ap @ X2 @ X3 ) )
     => ( ! [X1: term,X2: term] :
            ~ ( var @ ( ap @ X1 @ X2 ) )
       => ( ! [X1: term] :
              ~ ( var @ ( lam @ X1 ) )
         => ( ! [X1: term > $o] :
                ( ! [X2: term] :
                    ( ( var @ X2 )
                   => ( X1 @ X2 ) )
               => ( ! [X2: term,X3: term] :
                      ( ( X1 @ X2 )
                     => ( ( X1 @ X3 )
                       => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                 => ( ! [X2: term] :
                        ( ( X1 @ X2 )
                       => ( X1 @ ( lam @ X2 ) ) )
                   => ( !! @ X1 ) ) ) )
           => ( ! [X1: term > $o,X2: term,X3: subst] :
                  ( ! [X4: term] :
                      ( ( var @ X4 )
                     => ( X1 @ ( sub @ X4 @ X3 ) ) )
                 => ( ( X1 @ X2 )
                   => ! [X4: term] :
                        ( ( var @ X4 )
                       => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X3 ) ) ) ) ) )
             => ( ! [X1: term > $o] :
                    ( ! [X2: term,X3: term] :
                        ( ( X1 @ X2 )
                       => ( ( X1 @ X3 )
                         => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                   => ( ! [X2: term] :
                          ( ! [X3: term] :
                              ( ( X1 @ X3 )
                             => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                         => ( X1 @ ( lam @ X2 ) ) )
                     => ! [X2: term,X3: subst] :
                          ( ! [X4: term] :
                              ( ( var @ X4 )
                             => ( X1 @ ( sub @ X4 @ X3 ) ) )
                         => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) )
               => ( ! [X1: term > $o] :
                      ( ! [X2: term] :
                          ( ( var @ X2 )
                         => ( X1 @ X2 ) )
                     => ( ! [X2: term,X3: term] :
                            ( ( X1 @ X2 )
                           => ( ( X1 @ X3 )
                             => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
                       => ( ! [X2: term] :
                              ( ! [X3: term] :
                                  ( ( X1 @ X3 )
                                 => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                             => ( X1 @ ( lam @ X2 ) ) )
                         => ( !! @ X1 ) ) ) )
                 => ( ~ ( ~ ( ! [X1: subst,X2: subst,X3: subst] :
                                ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                                = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
                           => ~ ! [X1: subst] :
                                  ( ( comp @ id @ X1 )
                                  = X1 ) )
                       => ~ ! [X1: subst] :
                              ( ( comp @ X1 @ id )
                              = X1 ) )
                   => ( ~ ( ! [X1: term,X2: subst,X3: subst] :
                              ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
                              = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
                         => ~ ! [X1: term] :
                                ( ( sub @ X1 @ id )
                                = X1 ) )
                     => ( ! [X1: term,X2: term,X3: term,X4: term] :
                            ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
                              = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
                           => ( X1 = X2 ) )
                       => ( ! [X1: term,X2: term,X3: term,X4: term] :
                              ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
                                = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
                             => ( X3 = X4 ) )
                         => ( ! [X1: subst > term > term] :
                                ( ! [X2: subst,X3: term,X4: subst] :
                                    ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                    = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                               => ! [X2: subst > term > term] :
                                    ( ! [X3: subst,X4: term,X5: subst] :
                                        ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                                        = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
                                   => ( ( ( lam @ ( X1 @ sh @ one ) )
                                        = ( lam @ ( X2 @ sh @ one ) ) )
                                     => ! [X3: subst,X4: term] :
                                          ( ( X1 @ X3 @ X4 )
                                          = ( X2 @ X3 @ X4 ) ) ) ) )
                           => ( ! [X1: subst > term > term] :
                                  ( ! [X2: subst,X3: term,X4: subst] :
                                      ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                      = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                                 => ! [X2: term,X3: term] :
                                      ( ( lam @ ( X1 @ sh @ one ) )
                                     != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
                             => ( ! [X1: subst > term > term] :
                                    ( ! [X2: subst,X3: term,X4: subst] :
                                        ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                                        = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) )
                               => sP2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP14])]) ).

thf(sP15,plain,
    ( sP15
  <=> ( ~ ( ! [X1: term,X2: subst,X3: subst] :
              ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
              = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
         => ~ ! [X1: term] :
                ( ( sub @ X1 @ id )
                = X1 ) )
     => ( ! [X1: term,X2: term,X3: term,X4: term] :
            ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
              = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
           => ( X1 = X2 ) )
       => ( ! [X1: term,X2: term,X3: term,X4: term] :
              ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
                = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
             => ( X3 = X4 ) )
         => ( ! [X1: subst > term > term] :
                ( ! [X2: subst,X3: term,X4: subst] :
                    ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                    = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
               => ! [X2: subst > term > term] :
                    ( ! [X3: subst,X4: term,X5: subst] :
                        ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                        = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
                   => ( ( ( lam @ ( X1 @ sh @ one ) )
                        = ( lam @ ( X2 @ sh @ one ) ) )
                     => ! [X3: subst,X4: term] :
                          ( ( X1 @ X3 @ X4 )
                          = ( X2 @ X3 @ X4 ) ) ) ) )
           => ( ! [X1: subst > term > term] :
                  ( ! [X2: subst,X3: term,X4: subst] :
                      ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                      = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                 => ! [X2: term,X3: term] :
                      ( ( lam @ ( X1 @ sh @ one ) )
                     != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
             => ( ! [X1: subst > term > term] :
                    ( ! [X2: subst,X3: term,X4: subst] :
                        ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                        = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) )
               => sP2 ) ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP15])]) ).

thf(sP16,plain,
    ( sP16
  <=> ( ! [X1: term > $o] :
          ( ! [X2: term] :
              ( ( var @ X2 )
             => ( X1 @ X2 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X1 @ X2 )
               => ( ( X1 @ X3 )
                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X2: term] :
                  ( ! [X3: term] :
                      ( ( X1 @ X3 )
                     => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                 => ( X1 @ ( lam @ X2 ) ) )
             => ( !! @ X1 ) ) ) )
     => ( ~ ( ~ ( ! [X1: subst,X2: subst,X3: subst] :
                    ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                    = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
               => ~ ! [X1: subst] :
                      ( ( comp @ id @ X1 )
                      = X1 ) )
           => ~ ! [X1: subst] :
                  ( ( comp @ X1 @ id )
                  = X1 ) )
       => sP15 ) ) ),
    introduced(definition,[new_symbols(definition,[sP16])]) ).

thf(sP17,plain,
    ( sP17
  <=> ( ! [X1: term > $o] :
          ( ! [X2: term] :
              ( ( var @ X2 )
             => ( X1 @ X2 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X1 @ X2 )
               => ( ( X1 @ X3 )
                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X2: term] :
                  ( ( X1 @ X2 )
                 => ( X1 @ ( lam @ X2 ) ) )
             => ( !! @ X1 ) ) ) )
     => ( ! [X1: term > $o,X2: term,X3: subst] :
            ( ! [X4: term] :
                ( ( var @ X4 )
               => ( X1 @ ( sub @ X4 @ X3 ) ) )
           => ( ( X1 @ X2 )
             => ! [X4: term] :
                  ( ( var @ X4 )
                 => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X3 ) ) ) ) ) )
       => ( ! [X1: term > $o] :
              ( ! [X2: term,X3: term] :
                  ( ( X1 @ X2 )
                 => ( ( X1 @ X3 )
                   => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
             => ( ! [X2: term] :
                    ( ! [X3: term] :
                        ( ( X1 @ X3 )
                       => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                   => ( X1 @ ( lam @ X2 ) ) )
               => ! [X2: term,X3: subst] :
                    ( ! [X4: term] :
                        ( ( var @ X4 )
                       => ( X1 @ ( sub @ X4 @ X3 ) ) )
                   => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) )
         => sP16 ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP17])]) ).

thf(sP18,plain,
    ( sP18
  <=> ( eigen__0 @ id @ eigen__1 @ id ) ),
    introduced(definition,[new_symbols(definition,[sP18])]) ).

thf(sP19,plain,
    ( sP19
  <=> ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ~ ( var @ ( sub @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) )
     => sP2 ) ),
    introduced(definition,[new_symbols(definition,[sP19])]) ).

thf(sP20,plain,
    ( sP20
  <=> ( sP7
     => sP18 ) ),
    introduced(definition,[new_symbols(definition,[sP20])]) ).

thf(sP21,plain,
    ( sP21
  <=> ! [X1: term] :
        ( ( sub @ X1 @ id )
        = X1 ) ),
    introduced(definition,[new_symbols(definition,[sP21])]) ).

thf(sP22,plain,
    ( sP22
  <=> ( ( var @ eigen__1 )
     => sP18 ) ),
    introduced(definition,[new_symbols(definition,[sP22])]) ).

thf(sP23,plain,
    ( sP23
  <=> ( ! [X1: term > $o,X2: term,X3: subst] :
          ( ! [X4: term] :
              ( ( var @ X4 )
             => ( X1 @ ( sub @ X4 @ X3 ) ) )
         => ( ( X1 @ X2 )
           => ! [X4: term] :
                ( ( var @ X4 )
               => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X3 ) ) ) ) ) )
     => ( ! [X1: term > $o] :
            ( ! [X2: term,X3: term] :
                ( ( X1 @ X2 )
               => ( ( X1 @ X3 )
                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X2: term] :
                  ( ! [X3: term] :
                      ( ( X1 @ X3 )
                     => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                 => ( X1 @ ( lam @ X2 ) ) )
             => ! [X2: term,X3: subst] :
                  ( ! [X4: term] :
                      ( ( var @ X4 )
                     => ( X1 @ ( sub @ X4 @ X3 ) ) )
                 => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) )
       => sP16 ) ) ),
    introduced(definition,[new_symbols(definition,[sP23])]) ).

thf(sP24,plain,
    ( sP24
  <=> ! [X1: term] :
        ( ( ( sub @ eigen__1 @ id )
          = X1 )
       => ( X1
          = ( sub @ eigen__1 @ id ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP24])]) ).

thf(sP25,plain,
    ( sP25
  <=> ( ~ ( ~ ( ! [X1: subst,X2: subst,X3: subst] :
                  ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                  = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
             => ~ ! [X1: subst] :
                    ( ( comp @ id @ X1 )
                    = X1 ) )
         => ~ ! [X1: subst] :
                ( ( comp @ X1 @ id )
                = X1 ) )
     => sP15 ) ),
    introduced(definition,[new_symbols(definition,[sP25])]) ).

thf(sP26,plain,
    ( sP26
  <=> ( ( sub @ eigen__1 @ id )
      = eigen__1 ) ),
    introduced(definition,[new_symbols(definition,[sP26])]) ).

thf(sP27,plain,
    ( sP27
  <=> ( ! [X1: term,X2: subst,X3: subst] :
          ( ( comp @ ( push @ X1 @ X2 ) @ X3 )
          = ( push @ ( sub @ X1 @ X3 ) @ ( comp @ X2 @ X3 ) ) )
     => ( ! [X1: subst] :
            ( ( comp @ X1 @ id )
            = X1 )
       => ( ( ( push @ one @ sh )
            = id )
         => ( ! [X1: subst] :
                ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
                = X1 )
           => ( ( var @ one )
             => sP11 ) ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP27])]) ).

thf(sP28,plain,
    ( sP28
  <=> ( ! [X1: subst] :
          ( ( comp @ X1 @ id )
          = X1 )
     => ( ( ( push @ one @ sh )
          = id )
       => ( ! [X1: subst] :
              ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
              = X1 )
         => ( ( var @ one )
           => sP11 ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP28])]) ).

thf(sP29,plain,
    ( sP29
  <=> ( ! [X1: term] :
          ~ ( var @ ( lam @ X1 ) )
     => sP17 ) ),
    introduced(definition,[new_symbols(definition,[sP29])]) ).

thf(sP30,plain,
    ( sP30
  <=> ( ! [X1: term,X2: subst] :
          ( ( comp @ sh @ ( push @ X1 @ X2 ) )
          = X2 )
     => ( ! [X1: subst,X2: subst,X3: subst] :
            ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
            = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
       => sP27 ) ) ),
    introduced(definition,[new_symbols(definition,[sP30])]) ).

thf(sP31,plain,
    ( sP31
  <=> ( ! [X1: term > $o] :
          ( ! [X2: term,X3: term] :
              ( ( X1 @ X2 )
             => ( ( X1 @ X3 )
               => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
         => ( ! [X2: term] :
                ( ! [X3: term] :
                    ( ( X1 @ X3 )
                   => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
               => ( X1 @ ( lam @ X2 ) ) )
           => ! [X2: term,X3: subst] :
                ( ! [X4: term] :
                    ( ( var @ X4 )
                   => ( X1 @ ( sub @ X4 @ X3 ) ) )
               => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) )
     => sP16 ) ),
    introduced(definition,[new_symbols(definition,[sP31])]) ).

thf(sP32,plain,
    ( sP32
  <=> ( ! [X1: term,X2: subst,X3: subst] :
          ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
          = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
     => ( ! [X1: subst] :
            ( ( comp @ id @ X1 )
            = X1 )
       => sP30 ) ) ),
    introduced(definition,[new_symbols(definition,[sP32])]) ).

thf(sP33,plain,
    ( sP33
  <=> ( ! [X1: subst] :
          ( ( comp @ id @ X1 )
          = X1 )
     => sP30 ) ),
    introduced(definition,[new_symbols(definition,[sP33])]) ).

thf(sP34,plain,
    ( sP34
  <=> ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
            = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
         => ( X1 = X2 ) )
     => ( ! [X1: term,X2: term,X3: term,X4: term] :
            ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
              = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
           => ( X3 = X4 ) )
       => ( ! [X1: subst > term > term] :
              ( ! [X2: subst,X3: term,X4: subst] :
                  ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                  = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
             => ! [X2: subst > term > term] :
                  ( ! [X3: subst,X4: term,X5: subst] :
                      ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                      = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
                 => ( ( ( lam @ ( X1 @ sh @ one ) )
                      = ( lam @ ( X2 @ sh @ one ) ) )
                   => ! [X3: subst,X4: term] :
                        ( ( X1 @ X3 @ X4 )
                        = ( X2 @ X3 @ X4 ) ) ) ) )
         => ( ! [X1: subst > term > term] :
                ( ! [X2: subst,X3: term,X4: subst] :
                    ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                    = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
               => ! [X2: term,X3: term] :
                    ( ( lam @ ( X1 @ sh @ one ) )
                   != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
           => sP19 ) ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP34])]) ).

thf(sP35,plain,
    ( sP35
  <=> ( ( ( push @ one @ sh )
        = id )
     => ( ! [X1: subst] :
            ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
            = X1 )
       => ( ( var @ one )
         => sP11 ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP35])]) ).

thf(sP36,plain,
    ( sP36
  <=> ! [X1: term] :
        ( ( var @ ( sub @ X1 @ id ) )
       => ( eigen__0 @ id @ X1 @ id ) ) ),
    introduced(definition,[new_symbols(definition,[sP36])]) ).

thf(sP37,plain,
    ( sP37
  <=> ( ! [X1: term,X2: subst] :
          ( ( sub @ one @ ( push @ X1 @ X2 ) )
          = X1 )
     => sP12 ) ),
    introduced(definition,[new_symbols(definition,[sP37])]) ).

thf(sP38,plain,
    ( sP38
  <=> ( ! [X1: subst] :
          ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
          = X1 )
     => ( ( var @ one )
       => sP11 ) ) ),
    introduced(definition,[new_symbols(definition,[sP38])]) ).

thf(sP39,plain,
    ( sP39
  <=> ( ! [X1: term,X2: term,X3: subst] :
          ( ( sub @ ( ap @ X1 @ X2 ) @ X3 )
          = ( ap @ ( sub @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) ) )
     => sP37 ) ),
    introduced(definition,[new_symbols(definition,[sP39])]) ).

thf(sP40,plain,
    ( sP40
  <=> ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ ( sub @ X1 @ id ) @ X3 )
            = ( ap @ ( sub @ X2 @ id ) @ X4 ) )
         => ( X3 = X4 ) )
     => ( ! [X1: subst > term > term] :
            ( ! [X2: subst,X3: term,X4: subst] :
                ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
           => ! [X2: subst > term > term] :
                ( ! [X3: subst,X4: term,X5: subst] :
                    ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                    = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
               => ( ( ( lam @ ( X1 @ sh @ one ) )
                    = ( lam @ ( X2 @ sh @ one ) ) )
                 => ! [X3: subst,X4: term] :
                      ( ( X1 @ X3 @ X4 )
                      = ( X2 @ X3 @ X4 ) ) ) ) )
       => ( ! [X1: subst > term > term] :
              ( ! [X2: subst,X3: term,X4: subst] :
                  ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
                  = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
             => ! [X2: term,X3: term] :
                  ( ( lam @ ( X1 @ sh @ one ) )
                 != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
         => sP19 ) ) ) ),
    introduced(definition,[new_symbols(definition,[sP40])]) ).

thf(sP41,plain,
    ( sP41
  <=> ( ! [X1: term,X2: term] :
          ( ( ( sub @ X1 @ sh )
            = ( sub @ X2 @ sh ) )
         => ( X1 = X2 ) )
     => sP14 ) ),
    introduced(definition,[new_symbols(definition,[sP41])]) ).

thf(sP42,plain,
    ( sP42
  <=> ! [X1: term,X2: term] :
        ( ( X1 = X2 )
       => ( X2 = X1 ) ) ),
    introduced(definition,[new_symbols(definition,[sP42])]) ).

thf(sP43,plain,
    ( sP43
  <=> ( eigen__1
      = ( sub @ eigen__1 @ id ) ) ),
    introduced(definition,[new_symbols(definition,[sP43])]) ).

thf(sP44,plain,
    ( sP44
  <=> ( ( var @ one )
     => sP11 ) ),
    introduced(definition,[new_symbols(definition,[sP44])]) ).

thf(sP45,plain,
    ( sP45
  <=> ( sP26
     => sP43 ) ),
    introduced(definition,[new_symbols(definition,[sP45])]) ).

thf(sP46,plain,
    ( sP46
  <=> ( ! [X1: subst,X2: term,X3: subst,X4: subst] :
          ( ( eigen__0 @ X1 @ X2 @ ( comp @ X4 @ X3 ) )
         => ( eigen__0 @ ( comp @ X1 @ X4 ) @ ( sub @ X2 @ X4 ) @ X3 ) )
     => sP13 ) ),
    introduced(definition,[new_symbols(definition,[sP46])]) ).

thf(sP47,plain,
    ( sP47
  <=> ( ! [X1: subst,X2: subst,X3: subst] :
          ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
          = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
     => sP27 ) ),
    introduced(definition,[new_symbols(definition,[sP47])]) ).

thf(sP48,plain,
    ( sP48
  <=> ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ! [X2: term,X3: term] :
              ( ( lam @ ( X1 @ sh @ one ) )
             != ( ap @ ( sub @ X2 @ id ) @ X3 ) ) )
     => sP19 ) ),
    introduced(definition,[new_symbols(definition,[sP48])]) ).

thf(sP49,plain,
    ( sP49
  <=> ( var @ eigen__1 ) ),
    introduced(definition,[new_symbols(definition,[sP49])]) ).

thf(sP50,plain,
    ( sP50
  <=> ( ! [X1: term,X2: term] :
          ~ ( var @ ( ap @ X1 @ X2 ) )
     => sP29 ) ),
    introduced(definition,[new_symbols(definition,[sP50])]) ).

thf(sP51,plain,
    ( sP51
  <=> ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ! [X2: subst > term > term] :
              ( ! [X3: subst,X4: term,X5: subst] :
                  ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                  = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
             => ( ( ( lam @ ( X1 @ sh @ one ) )
                  = ( lam @ ( X2 @ sh @ one ) ) )
               => ! [X3: subst,X4: term] :
                    ( ( X1 @ X3 @ X4 )
                    = ( X2 @ X3 @ X4 ) ) ) ) )
     => sP48 ) ),
    introduced(definition,[new_symbols(definition,[sP51])]) ).

thf(def_axapp,definition,
    ( axapp
    = ( ! [X1: term,X2: term,X3: subst] :
          ( ( sub @ ( ap @ X1 @ X2 ) @ X3 )
          = ( ap @ ( sub @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) ) ) ) ) ).

thf(def_axvarcons,definition,
    ( axvarcons
    = ( ! [X1: term,X2: subst] :
          ( ( sub @ one @ ( push @ X1 @ X2 ) )
          = X1 ) ) ) ).

thf(def_axvarid,definition,
    axvarid = sP21 ).

thf(def_axabs,definition,
    ( axabs
    = ( ! [X1: term,X2: subst] :
          ( ( sub @ ( lam @ X1 ) @ X2 )
          = ( lam @ ( sub @ X1 @ ( push @ one @ ( comp @ X2 @ sh ) ) ) ) ) ) ) ).

thf(def_axclos,definition,
    ( axclos
    = ( ! [X1: term,X2: subst,X3: subst] :
          ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
          = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) ) ) ) ).

thf(def_axidl,definition,
    ( axidl
    = ( ! [X1: subst] :
          ( ( comp @ id @ X1 )
          = X1 ) ) ) ).

thf(def_axshiftcons,definition,
    ( axshiftcons
    = ( ! [X1: term,X2: subst] :
          ( ( comp @ sh @ ( push @ X1 @ X2 ) )
          = X2 ) ) ) ).

thf(def_axassoc,definition,
    ( axassoc
    = ( ! [X1: subst,X2: subst,X3: subst] :
          ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
          = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) ) ) ) ).

thf(def_axmap,definition,
    ( axmap
    = ( ! [X1: term,X2: subst,X3: subst] :
          ( ( comp @ ( push @ X1 @ X2 ) @ X3 )
          = ( push @ ( sub @ X1 @ X3 ) @ ( comp @ X2 @ X3 ) ) ) ) ) ).

thf(def_axidr,definition,
    ( axidr
    = ( ! [X1: subst] :
          ( ( comp @ X1 @ id )
          = X1 ) ) ) ).

thf(def_axvarshift,definition,
    ( axvarshift
    = ( ( push @ one @ sh )
      = id ) ) ).

thf(def_axscons,definition,
    ( axscons
    = ( ! [X1: subst] :
          ( ( push @ ( sub @ one @ X1 ) @ ( comp @ sh @ X1 ) )
          = X1 ) ) ) ).

thf(def_ulamvar1,definition,
    ( ulamvar1
    = ( var @ one ) ) ).

thf(def_ulamvarsh,definition,
    ( ulamvarsh
    = ( ! [X1: term] :
          ( ( var @ X1 )
         => ( var @ ( sub @ X1 @ sh ) ) ) ) ) ).

thf(def_ulamvarind,definition,
    ( ulamvarind
    = ( ! [X1: term > $o] :
          ( ( X1 @ one )
         => ( ! [X2: term] :
                ( ( var @ X2 )
               => ( ( X1 @ X2 )
                 => ( X1 @ ( sub @ X2 @ sh ) ) ) )
           => ! [X2: term] :
                ( ( var @ X2 )
               => ( X1 @ X2 ) ) ) ) ) ) ).

thf(def_apinj1,definition,
    ( apinj1
    = ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ X1 @ X3 )
            = ( ap @ X2 @ X4 ) )
         => ( X1 = X2 ) ) ) ) ).

thf(def_apinj2,definition,
    ( apinj2
    = ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( ap @ X1 @ X3 )
            = ( ap @ X2 @ X4 ) )
         => ( X3 = X4 ) ) ) ) ).

thf(def_laminj,definition,
    ( laminj
    = ( ! [X1: term,X2: term] :
          ( ( ( lam @ X1 )
            = ( lam @ X2 ) )
         => ( X1 = X2 ) ) ) ) ).

thf(def_shinj,definition,
    ( shinj
    = ( ! [X1: term,X2: term] :
          ( ( ( sub @ X1 @ sh )
            = ( sub @ X2 @ sh ) )
         => ( X1 = X2 ) ) ) ) ).

thf(def_lamnotap,definition,
    ( lamnotap
    = ( ! [X1: term,X2: term,X3: term] :
          ( ( lam @ X1 )
         != ( ap @ X2 @ X3 ) ) ) ) ).

thf(def_apnotvar,definition,
    ( apnotvar
    = ( ! [X1: term,X2: term] :
          ~ ( var @ ( ap @ X1 @ X2 ) ) ) ) ).

thf(def_lamnotvar,definition,
    ( lamnotvar
    = ( ! [X1: term] :
          ~ ( var @ ( lam @ X1 ) ) ) ) ).

thf(def_induction,definition,
    ( induction
    = ( ! [X1: term > $o] :
          ( ! [X2: term] :
              ( ( var @ X2 )
             => ( X1 @ X2 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X1 @ X2 )
               => ( ( X1 @ X3 )
                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X2: term] :
                  ( ( X1 @ X2 )
                 => ( X1 @ ( lam @ X2 ) ) )
             => ( !! @ X1 ) ) ) ) ) ) ).

thf(def_pushprop,definition,
    ( pushprop
    = ( ! [X1: term > $o,X2: term,X3: subst] :
          ( ! [X4: term] :
              ( ( var @ X4 )
             => ( X1 @ ( sub @ X4 @ X3 ) ) )
         => ( ( X1 @ X2 )
           => ! [X4: term] :
                ( ( var @ X4 )
               => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X3 ) ) ) ) ) ) ) ) ).

thf(def_induction2lem,definition,
    ( induction2lem
    = ( ! [X1: term > $o] :
          ( ! [X2: term,X3: term] :
              ( ( X1 @ X2 )
             => ( ( X1 @ X3 )
               => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
         => ( ! [X2: term] :
                ( ! [X3: term] :
                    ( ( X1 @ X3 )
                   => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
               => ( X1 @ ( lam @ X2 ) ) )
           => ! [X2: term,X3: subst] :
                ( ! [X4: term] :
                    ( ( var @ X4 )
                   => ( X1 @ ( sub @ X4 @ X3 ) ) )
               => ( X1 @ ( sub @ X2 @ X3 ) ) ) ) ) ) ) ).

thf(def_induction2,definition,
    ( induction2
    = ( ! [X1: term > $o] :
          ( ! [X2: term] :
              ( ( var @ X2 )
             => ( X1 @ X2 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X1 @ X2 )
               => ( ( X1 @ X3 )
                 => ( X1 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X2: term] :
                  ( ! [X3: term] :
                      ( ( X1 @ X3 )
                     => ( X1 @ ( sub @ X2 @ ( push @ X3 @ id ) ) ) )
                 => ( X1 @ ( lam @ X2 ) ) )
             => ( !! @ X1 ) ) ) ) ) ) ).

thf(def_substmonoid,definition,
    ( substmonoid
    = ( ~ ( ~ ( ! [X1: subst,X2: subst,X3: subst] :
                  ( ( comp @ ( comp @ X1 @ X2 ) @ X3 )
                  = ( comp @ X1 @ ( comp @ X2 @ X3 ) ) )
             => ~ ! [X1: subst] :
                    ( ( comp @ id @ X1 )
                    = X1 ) )
         => ~ ! [X1: subst] :
                ( ( comp @ X1 @ id )
                = X1 ) ) ) ) ).

thf(def_termmset,definition,
    ( termmset
    = ( ~ ( ! [X1: term,X2: subst,X3: subst] :
              ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
              = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) )
         => ~ sP21 ) ) ) ).

thf(def_hoasap,definition,
    ( hoasap
    = ( ^ [X1: subst,X2: term,X3: subst] : ( ap @ ( sub @ X2 @ X3 ) ) ) ) ).

thf(def_hoaslam,definition,
    ( hoaslam
    = ( ^ [X1: subst,X2: subst > term > term] : ( lam @ ( X2 @ sh @ one ) ) ) ) ).

thf(def_hoasvar,definition,
    ( hoasvar
    = ( ^ [X1: subst,X2: term,X3: subst] : ( var @ ( sub @ X2 @ X3 ) ) ) ) ).

thf(def_hoasapinj1,definition,
    ( hoasapinj1
    = ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( hoasap @ id @ X1 @ id @ X3 )
            = ( hoasap @ id @ X2 @ id @ X4 ) )
         => ( X1 = X2 ) ) ) ) ).

thf(def_hoasapinj2,definition,
    ( hoasapinj2
    = ( ! [X1: term,X2: term,X3: term,X4: term] :
          ( ( ( hoasap @ id @ X1 @ id @ X3 )
            = ( hoasap @ id @ X2 @ id @ X4 ) )
         => ( X3 = X4 ) ) ) ) ).

thf(def_hoaslaminj,definition,
    ( hoaslaminj
    = ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ! [X2: subst > term > term] :
              ( ! [X3: subst,X4: term,X5: subst] :
                  ( ( sub @ ( X2 @ X3 @ X4 ) @ X5 )
                  = ( X2 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) ) )
             => ( ( ( hoaslam @ id @ X1 )
                  = ( hoaslam @ id @ X2 ) )
               => ! [X3: subst,X4: term] :
                    ( ( X1 @ X3 @ X4 )
                    = ( X2 @ X3 @ X4 ) ) ) ) ) ) ) ).

thf(def_hoaslamnotap,definition,
    ( hoaslamnotap
    = ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ! [X2: term,X3: term] :
              ( ( hoaslam @ id @ X1 )
             != ( hoasap @ id @ X2 @ id @ X3 ) ) ) ) ) ).

thf(def_hoaslamnotvar,definition,
    ( hoaslamnotvar
    = ( ! [X1: subst > term > term] :
          ( ! [X2: subst,X3: term,X4: subst] :
              ( ( sub @ ( X1 @ X2 @ X3 ) @ X4 )
              = ( X1 @ ( comp @ X2 @ X4 ) @ ( sub @ X3 @ X4 ) ) )
         => ~ ( hoasvar @ id @ ( hoaslam @ id @ X1 ) @ id ) ) ) ) ).

thf(def_hoasapnotvar,definition,
    ( hoasapnotvar
    = ( ! [X1: term,X2: term] :
          ~ ( hoasvar @ id @ ( hoasap @ id @ X1 @ id @ X2 ) @ id ) ) ) ).

thf(def_hoasinduction_lem1,definition,
    ( hoasinduction_lem1
    = ( ! [X1: subst > term > subst > $o] :
          ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
              ( ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) )
             => ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 ) )
         => ( ! [X2: subst,X3: term,X4: subst,X5: subst] :
                ( ( X1 @ ( comp @ X2 @ X5 ) @ ( sub @ X3 @ X5 ) @ X4 )
               => ( X1 @ X2 @ X3 @ ( comp @ X5 @ X4 ) ) )
           => ( ! [X2: term] :
                  ( ( hoasvar @ id @ X2 @ id )
                 => ( X1 @ id @ X2 @ id ) )
             => ! [X2: term] :
                  ( ( var @ X2 )
                 => ( X1 @ id @ X2 @ id ) ) ) ) ) ) ) ).

thf(def_hoasinduction_lem1_gthm,definition,
    ( hoasinduction_lem1_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => hoasinduction_lem1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(thm,conjecture,
    sP39 ).

thf(h2,negated_conjecture,
    ~ sP39,
    inference(assume_negation,[status(cth)],[thm]) ).

thf(1,plain,
    ( ~ sP45
    | ~ sP26
    | sP43 ),
    inference(prop_rule,[status(thm)],]) ).

thf(2,plain,
    ( ~ sP24
    | sP45 ),
    inference(all_rule,[status(thm)],]) ).

thf(3,plain,
    ( ~ sP42
    | sP24 ),
    inference(all_rule,[status(thm)],]) ).

thf(4,plain,
    ( ~ sP21
    | sP26 ),
    inference(all_rule,[status(thm)],]) ).

thf(5,plain,
    sP42,
    inference(eq_sym,[status(thm)],]) ).

thf(6,plain,
    ( ~ sP49
    | sP7
    | ~ sP43 ),
    inference(mating_rule,[status(thm)],]) ).

thf(7,plain,
    ( ~ sP36
    | sP20 ),
    inference(all_rule,[status(thm)],]) ).

thf(8,plain,
    ( ~ sP20
    | ~ sP7
    | sP18 ),
    inference(prop_rule,[status(thm)],]) ).

thf(9,plain,
    ( sP22
    | ~ sP18 ),
    inference(prop_rule,[status(thm)],]) ).

thf(10,plain,
    ( sP22
    | sP49 ),
    inference(prop_rule,[status(thm)],]) ).

thf(11,plain,
    ( sP8
    | ~ sP22 ),
    inference(eigen_choice_rule,[status(thm),assumptions([h0])],[h0,eigendef_eigen__1]) ).

thf(12,plain,
    ( sP10
    | ~ sP8 ),
    inference(prop_rule,[status(thm)],]) ).

thf(13,plain,
    ( sP10
    | sP36 ),
    inference(prop_rule,[status(thm)],]) ).

thf(14,plain,
    ( sP13
    | ~ sP10 ),
    inference(prop_rule,[status(thm)],]) ).

thf(15,plain,
    ( sP46
    | ~ sP13 ),
    inference(prop_rule,[status(thm)],]) ).

thf(16,plain,
    ( sP5
    | ~ sP46 ),
    inference(eigen_choice_rule,[status(thm),assumptions([h1])],[h1,eigendef_eigen__0]) ).

thf(17,plain,
    ( sP2
    | ~ sP5 ),
    inference(prop_rule,[status(thm)],]) ).

thf(18,plain,
    ( sP19
    | ~ sP2 ),
    inference(prop_rule,[status(thm)],]) ).

thf(19,plain,
    ( sP48
    | ~ sP19 ),
    inference(prop_rule,[status(thm)],]) ).

thf(20,plain,
    ( sP51
    | ~ sP48 ),
    inference(prop_rule,[status(thm)],]) ).

thf(21,plain,
    ( sP40
    | ~ sP51 ),
    inference(prop_rule,[status(thm)],]) ).

thf(22,plain,
    ( sP34
    | ~ sP40 ),
    inference(prop_rule,[status(thm)],]) ).

thf(23,plain,
    ( sP15
    | ~ sP34 ),
    inference(prop_rule,[status(thm)],]) ).

thf(24,plain,
    ( sP25
    | ~ sP15 ),
    inference(prop_rule,[status(thm)],]) ).

thf(25,plain,
    ( sP16
    | ~ sP25 ),
    inference(prop_rule,[status(thm)],]) ).

thf(26,plain,
    ( sP31
    | ~ sP16 ),
    inference(prop_rule,[status(thm)],]) ).

thf(27,plain,
    ( sP23
    | ~ sP31 ),
    inference(prop_rule,[status(thm)],]) ).

thf(28,plain,
    ( sP17
    | ~ sP23 ),
    inference(prop_rule,[status(thm)],]) ).

thf(29,plain,
    ( sP29
    | ~ sP17 ),
    inference(prop_rule,[status(thm)],]) ).

thf(30,plain,
    ( sP50
    | ~ sP29 ),
    inference(prop_rule,[status(thm)],]) ).

thf(31,plain,
    ( sP14
    | ~ sP50 ),
    inference(prop_rule,[status(thm)],]) ).

thf(32,plain,
    ( sP41
    | ~ sP14 ),
    inference(prop_rule,[status(thm)],]) ).

thf(33,plain,
    ( sP1
    | ~ sP41 ),
    inference(prop_rule,[status(thm)],]) ).

thf(34,plain,
    ( sP9
    | ~ sP1 ),
    inference(prop_rule,[status(thm)],]) ).

thf(35,plain,
    ( sP6
    | ~ sP9 ),
    inference(prop_rule,[status(thm)],]) ).

thf(36,plain,
    ( sP3
    | ~ sP6 ),
    inference(prop_rule,[status(thm)],]) ).

thf(37,plain,
    ( sP11
    | ~ sP3 ),
    inference(prop_rule,[status(thm)],]) ).

thf(38,plain,
    ( sP44
    | ~ sP11 ),
    inference(prop_rule,[status(thm)],]) ).

thf(39,plain,
    ( sP38
    | ~ sP44 ),
    inference(prop_rule,[status(thm)],]) ).

thf(40,plain,
    ( sP35
    | ~ sP38 ),
    inference(prop_rule,[status(thm)],]) ).

thf(41,plain,
    ( sP28
    | ~ sP35 ),
    inference(prop_rule,[status(thm)],]) ).

thf(42,plain,
    ( sP27
    | ~ sP28 ),
    inference(prop_rule,[status(thm)],]) ).

thf(43,plain,
    ( sP47
    | ~ sP27 ),
    inference(prop_rule,[status(thm)],]) ).

thf(44,plain,
    ( sP30
    | ~ sP47 ),
    inference(prop_rule,[status(thm)],]) ).

thf(45,plain,
    ( sP33
    | ~ sP30 ),
    inference(prop_rule,[status(thm)],]) ).

thf(46,plain,
    ( sP32
    | ~ sP33 ),
    inference(prop_rule,[status(thm)],]) ).

thf(47,plain,
    ( sP4
    | ~ sP32 ),
    inference(prop_rule,[status(thm)],]) ).

thf(48,plain,
    ( sP12
    | ~ sP4 ),
    inference(prop_rule,[status(thm)],]) ).

thf(49,plain,
    ( sP12
    | sP21 ),
    inference(prop_rule,[status(thm)],]) ).

thf(50,plain,
    ( sP37
    | ~ sP12 ),
    inference(prop_rule,[status(thm)],]) ).

thf(51,plain,
    ( sP39
    | ~ sP37 ),
    inference(prop_rule,[status(thm)],]) ).

thf(52,plain,
    $false,
    inference(prop_unsat,[status(thm),assumptions([h2,h1,h0])],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,h2]) ).

thf(53,plain,
    $false,
    inference(eigenvar_choice,[status(thm),assumptions([h2,h0]),eigenvar_choice(discharge,[h1])],[52,h1]) ).

thf(54,plain,
    $false,
    inference(eigenvar_choice,[status(thm),assumptions([h2]),eigenvar_choice(discharge,[h0])],[53,h0]) ).

thf(0,theorem,
    sP39,
    inference(contra,[status(thm),contra(discharge,[h2])],[52,h2]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : ALG263^1 : TPTP v8.1.0. Bugfixed v5.2.0.
% 0.03/0.12  % Command  : satallax -E eprover-ho -P picomus -M modes -p tstp -t %d %s
% 0.13/0.34  % Computer : n018.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Wed Jun  8 22:39:52 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 44.62/44.98  % SZS status Theorem
% 44.62/44.98  % Mode: mode454:USE_SINE=true:SINE_TOLERANCE=2.0:SINE_GENERALITY_THRESHOLD=4:SINE_RANK_LIMIT=3.:SINE_DEPTH=0
% 44.62/44.98  % Inferences: 1464
% 44.62/44.98  % SZS output start Proof
% See solution above
%------------------------------------------------------------------------------