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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Satallax---3.5
% Problem  : ALG256^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 : n024.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:46 EDT 2022

% Result   : Theorem 187.26s 186.51s
% Output   : Proof 187.26s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   40
%            Number of leaves      :   79
% Syntax   : Number of formulae    :  219 (  81 unt;   0 typ;  31 def)
%            Number of atoms       : 1099 ( 170 equ;   0 cnn)
%            Maximal formula atoms :   67 (   5 avg)
%            Number of connectives : 1478 ( 207   ~; 141   |;   2   &; 837   @)
%                                         (   0 <=>; 281  =>;   2  <=;   0 <~>)
%            Maximal formula depth :   40 (   3 avg)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   20 (  20   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   96 (  93 usr;  95 con; 0-2 aty)
%                                         (   8  !!;   0  ??;   0 @@+;   0 @@-)
%            Number of variables   :  351 (   3   ^ 348   !;   0   ?; 351   :)

% Comments : 
%------------------------------------------------------------------------------
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
    = ( ! [X1: term] :
          ( ( sub @ X1 @ id )
          = X1 ) ) ) ).

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 ) ) )
         => ~ ! [X1: term] :
                ( ( sub @ X1 @ id )
                = X1 ) ) ) ) ).

thf(def_hoasap,definition,
    ( hoasap
    = ( ^ [X1: subst,X2: term,X3: subst] : ( ap @ ( 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_hoasapinj1_gthm,definition,
    ( hoasapinj1_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(thm,conjecture,
    ( ! [X1: term,X2: term,X3: subst] :
        ( ( sub @ ( ap @ X1 @ X2 ) @ X3 )
        = ( ap @ ( sub @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) ) )
   => ( ! [X1: term,X2: subst] :
          ( ( sub @ one @ ( push @ X1 @ X2 ) )
          = X1 )
     => ( ! [X1: term] :
            ( ( sub @ X1 @ id )
            = X1 )
       => ( ! [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 ) ) )
                             => ( ! [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 ) )
                                   => ( ! [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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(h0,negated_conjecture,
    ~ ( ! [X1: term,X2: term,X3: subst] :
          ( ( sub @ ( ap @ X1 @ X2 ) @ X3 )
          = ( ap @ ( sub @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) ) )
     => ( ! [X1: term,X2: subst] :
            ( ( sub @ one @ ( push @ X1 @ X2 ) )
            = X1 )
       => ( ! [X1: term] :
              ( ( sub @ X1 @ id )
              = X1 )
         => ( ! [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 ) ) )
                               => ( ! [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 ) )
                                     => ( ! [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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(assume_negation,[status(cth)],[thm]) ).

thf(ax1532,axiom,
    ( p1
    | ~ p3 ),
    file('<stdin>',ax1532) ).

thf(ax1534,axiom,
    ~ p1,
    file('<stdin>',ax1534) ).

thf(ax1530,axiom,
    ( p3
    | ~ p5 ),
    file('<stdin>',ax1530) ).

thf(ax1528,axiom,
    ( p5
    | ~ p7 ),
    file('<stdin>',ax1528) ).

thf(ax1526,axiom,
    ( p7
    | ~ p9 ),
    file('<stdin>',ax1526) ).

thf(ax1524,axiom,
    ( p9
    | ~ p11 ),
    file('<stdin>',ax1524) ).

thf(ax1522,axiom,
    ( p11
    | ~ p13 ),
    file('<stdin>',ax1522) ).

thf(ax1520,axiom,
    ( p13
    | ~ p15 ),
    file('<stdin>',ax1520) ).

thf(ax1518,axiom,
    ( p15
    | ~ p17 ),
    file('<stdin>',ax1518) ).

thf(ax1516,axiom,
    ( p17
    | ~ p19 ),
    file('<stdin>',ax1516) ).

thf(ax1514,axiom,
    ( p19
    | ~ p21 ),
    file('<stdin>',ax1514) ).

thf(ax1512,axiom,
    ( p21
    | ~ p23 ),
    file('<stdin>',ax1512) ).

thf(ax1510,axiom,
    ( p23
    | ~ p25 ),
    file('<stdin>',ax1510) ).

thf(ax1508,axiom,
    ( p25
    | ~ p27 ),
    file('<stdin>',ax1508) ).

thf(ax1506,axiom,
    ( p27
    | ~ p29 ),
    file('<stdin>',ax1506) ).

thf(ax1504,axiom,
    ( p29
    | ~ p31 ),
    file('<stdin>',ax1504) ).

thf(ax1502,axiom,
    ( p31
    | ~ p33 ),
    file('<stdin>',ax1502) ).

thf(ax1500,axiom,
    ( p33
    | ~ p35 ),
    file('<stdin>',ax1500) ).

thf(ax1498,axiom,
    ( p35
    | ~ p37 ),
    file('<stdin>',ax1498) ).

thf(ax1496,axiom,
    ( p37
    | ~ p39 ),
    file('<stdin>',ax1496) ).

thf(ax1494,axiom,
    ( p39
    | ~ p41 ),
    file('<stdin>',ax1494) ).

thf(ax1492,axiom,
    ( p41
    | ~ p43 ),
    file('<stdin>',ax1492) ).

thf(ax1490,axiom,
    ( p43
    | ~ p45 ),
    file('<stdin>',ax1490) ).

thf(ax1488,axiom,
    ( p45
    | ~ p47 ),
    file('<stdin>',ax1488) ).

thf(ax1486,axiom,
    ( p47
    | ~ p49 ),
    file('<stdin>',ax1486) ).

thf(ax1484,axiom,
    ( p49
    | ~ p51 ),
    file('<stdin>',ax1484) ).

thf(ax1482,axiom,
    ( p51
    | ~ p53 ),
    file('<stdin>',ax1482) ).

thf(ax1480,axiom,
    ( p53
    | ~ p55 ),
    file('<stdin>',ax1480) ).

thf(ax1478,axiom,
    ( p55
    | ~ p57 ),
    file('<stdin>',ax1478) ).

thf(ax1477,axiom,
    ( p57
    | ~ p58 ),
    file('<stdin>',ax1477) ).

thf(ax1455,axiom,
    ( ~ p81
    | p80 ),
    file('<stdin>',ax1455) ).

thf(ax1476,axiom,
    ( p58
    | ~ p59 ),
    file('<stdin>',ax1476) ).

thf(ax1388,axiom,
    ( ~ p80
    | p144 ),
    file('<stdin>',ax1388) ).

thf(ax1456,axiom,
    p81,
    file('<stdin>',ax1456) ).

thf(ax1475,axiom,
    ( p59
    | ~ p60 ),
    file('<stdin>',ax1475) ).

thf(ax1387,axiom,
    ( ~ p144
    | p61
    | p143 ),
    file('<stdin>',ax1387) ).

thf(ax1474,axiom,
    ( p60
    | ~ p61 ),
    file('<stdin>',ax1474) ).

thf(ax1450,axiom,
    ( ~ p6
    | p76 ),
    file('<stdin>',ax1450) ).

thf(ax1529,axiom,
    ( p5
    | p6 ),
    file('<stdin>',ax1529) ).

thf(pax6,axiom,
    ( p6
   => ! [X32: term] :
        ( ( fsub @ X32 @ fid )
        = X32 ) ),
    file('<stdin>',pax6) ).

thf(ax1385,axiom,
    ( ~ p142
    | ~ p76
    | ~ p141 ),
    file('<stdin>',ax1385) ).

thf(ax1386,axiom,
    ( ~ p143
    | p142 ),
    file('<stdin>',ax1386) ).

thf(nax141,axiom,
    ( p141
   <= ( ( ( fap @ f__0 @ f__2 )
        = ( fap @ ( fsub @ f__1 @ fid ) @ f__3 ) )
     => ( f__0 = f__1 ) ) ),
    file('<stdin>',nax141) ).

thf(pax32,axiom,
    ( p32
   => ! [X22: term,X23: term,X24: term,X4: term] :
        ( ( ( fap @ X22 @ X24 )
          = ( fap @ X23 @ X4 ) )
       => ( X22 = X23 ) ) ),
    file('<stdin>',pax32) ).

thf(ax1503,axiom,
    ( p31
    | p32 ),
    file('<stdin>',ax1503) ).

thf(nax59,axiom,
    ( p59
   <= ! [X1: term,X2: term] :
        ( ( ( fap @ ( fsub @ f__0 @ fid ) @ X1 )
          = ( fap @ ( fsub @ f__1 @ fid ) @ X2 ) )
       => ( f__0 = f__1 ) ) ),
    file('<stdin>',nax59) ).

thf(c_0_46,plain,
    ( p1
    | ~ p3 ),
    inference(fof_simplification,[status(thm)],[ax1532]) ).

thf(c_0_47,plain,
    ~ p1,
    inference(fof_simplification,[status(thm)],[ax1534]) ).

thf(c_0_48,plain,
    ( p3
    | ~ p5 ),
    inference(fof_simplification,[status(thm)],[ax1530]) ).

thf(c_0_49,plain,
    ( p1
    | ~ p3 ),
    inference(split_conjunct,[status(thm)],[c_0_46]) ).

thf(c_0_50,plain,
    ~ p1,
    inference(split_conjunct,[status(thm)],[c_0_47]) ).

thf(c_0_51,plain,
    ( p5
    | ~ p7 ),
    inference(fof_simplification,[status(thm)],[ax1528]) ).

thf(c_0_52,plain,
    ( p3
    | ~ p5 ),
    inference(split_conjunct,[status(thm)],[c_0_48]) ).

thf(c_0_53,plain,
    ~ p3,
    inference(sr,[status(thm)],[c_0_49,c_0_50]) ).

thf(c_0_54,plain,
    ( p7
    | ~ p9 ),
    inference(fof_simplification,[status(thm)],[ax1526]) ).

thf(c_0_55,plain,
    ( p5
    | ~ p7 ),
    inference(split_conjunct,[status(thm)],[c_0_51]) ).

thf(c_0_56,plain,
    ~ p5,
    inference(sr,[status(thm)],[c_0_52,c_0_53]) ).

thf(c_0_57,plain,
    ( p9
    | ~ p11 ),
    inference(fof_simplification,[status(thm)],[ax1524]) ).

thf(c_0_58,plain,
    ( p7
    | ~ p9 ),
    inference(split_conjunct,[status(thm)],[c_0_54]) ).

thf(c_0_59,plain,
    ~ p7,
    inference(sr,[status(thm)],[c_0_55,c_0_56]) ).

thf(c_0_60,plain,
    ( p11
    | ~ p13 ),
    inference(fof_simplification,[status(thm)],[ax1522]) ).

thf(c_0_61,plain,
    ( p9
    | ~ p11 ),
    inference(split_conjunct,[status(thm)],[c_0_57]) ).

thf(c_0_62,plain,
    ~ p9,
    inference(sr,[status(thm)],[c_0_58,c_0_59]) ).

thf(c_0_63,plain,
    ( p13
    | ~ p15 ),
    inference(fof_simplification,[status(thm)],[ax1520]) ).

thf(c_0_64,plain,
    ( p11
    | ~ p13 ),
    inference(split_conjunct,[status(thm)],[c_0_60]) ).

thf(c_0_65,plain,
    ~ p11,
    inference(sr,[status(thm)],[c_0_61,c_0_62]) ).

thf(c_0_66,plain,
    ( p15
    | ~ p17 ),
    inference(fof_simplification,[status(thm)],[ax1518]) ).

thf(c_0_67,plain,
    ( p13
    | ~ p15 ),
    inference(split_conjunct,[status(thm)],[c_0_63]) ).

thf(c_0_68,plain,
    ~ p13,
    inference(sr,[status(thm)],[c_0_64,c_0_65]) ).

thf(c_0_69,plain,
    ( p17
    | ~ p19 ),
    inference(fof_simplification,[status(thm)],[ax1516]) ).

thf(c_0_70,plain,
    ( p15
    | ~ p17 ),
    inference(split_conjunct,[status(thm)],[c_0_66]) ).

thf(c_0_71,plain,
    ~ p15,
    inference(sr,[status(thm)],[c_0_67,c_0_68]) ).

thf(c_0_72,plain,
    ( p19
    | ~ p21 ),
    inference(fof_simplification,[status(thm)],[ax1514]) ).

thf(c_0_73,plain,
    ( p17
    | ~ p19 ),
    inference(split_conjunct,[status(thm)],[c_0_69]) ).

thf(c_0_74,plain,
    ~ p17,
    inference(sr,[status(thm)],[c_0_70,c_0_71]) ).

thf(c_0_75,plain,
    ( p21
    | ~ p23 ),
    inference(fof_simplification,[status(thm)],[ax1512]) ).

thf(c_0_76,plain,
    ( p19
    | ~ p21 ),
    inference(split_conjunct,[status(thm)],[c_0_72]) ).

thf(c_0_77,plain,
    ~ p19,
    inference(sr,[status(thm)],[c_0_73,c_0_74]) ).

thf(c_0_78,plain,
    ( p23
    | ~ p25 ),
    inference(fof_simplification,[status(thm)],[ax1510]) ).

thf(c_0_79,plain,
    ( p21
    | ~ p23 ),
    inference(split_conjunct,[status(thm)],[c_0_75]) ).

thf(c_0_80,plain,
    ~ p21,
    inference(sr,[status(thm)],[c_0_76,c_0_77]) ).

thf(c_0_81,plain,
    ( p25
    | ~ p27 ),
    inference(fof_simplification,[status(thm)],[ax1508]) ).

thf(c_0_82,plain,
    ( p23
    | ~ p25 ),
    inference(split_conjunct,[status(thm)],[c_0_78]) ).

thf(c_0_83,plain,
    ~ p23,
    inference(sr,[status(thm)],[c_0_79,c_0_80]) ).

thf(c_0_84,plain,
    ( p27
    | ~ p29 ),
    inference(fof_simplification,[status(thm)],[ax1506]) ).

thf(c_0_85,plain,
    ( p25
    | ~ p27 ),
    inference(split_conjunct,[status(thm)],[c_0_81]) ).

thf(c_0_86,plain,
    ~ p25,
    inference(sr,[status(thm)],[c_0_82,c_0_83]) ).

thf(c_0_87,plain,
    ( p29
    | ~ p31 ),
    inference(fof_simplification,[status(thm)],[ax1504]) ).

thf(c_0_88,plain,
    ( p27
    | ~ p29 ),
    inference(split_conjunct,[status(thm)],[c_0_84]) ).

thf(c_0_89,plain,
    ~ p27,
    inference(sr,[status(thm)],[c_0_85,c_0_86]) ).

thf(c_0_90,plain,
    ( p31
    | ~ p33 ),
    inference(fof_simplification,[status(thm)],[ax1502]) ).

thf(c_0_91,plain,
    ( p29
    | ~ p31 ),
    inference(split_conjunct,[status(thm)],[c_0_87]) ).

thf(c_0_92,plain,
    ~ p29,
    inference(sr,[status(thm)],[c_0_88,c_0_89]) ).

thf(c_0_93,plain,
    ( p33
    | ~ p35 ),
    inference(fof_simplification,[status(thm)],[ax1500]) ).

thf(c_0_94,plain,
    ( p31
    | ~ p33 ),
    inference(split_conjunct,[status(thm)],[c_0_90]) ).

thf(c_0_95,plain,
    ~ p31,
    inference(sr,[status(thm)],[c_0_91,c_0_92]) ).

thf(c_0_96,plain,
    ( p35
    | ~ p37 ),
    inference(fof_simplification,[status(thm)],[ax1498]) ).

thf(c_0_97,plain,
    ( p33
    | ~ p35 ),
    inference(split_conjunct,[status(thm)],[c_0_93]) ).

thf(c_0_98,plain,
    ~ p33,
    inference(sr,[status(thm)],[c_0_94,c_0_95]) ).

thf(c_0_99,plain,
    ( p37
    | ~ p39 ),
    inference(fof_simplification,[status(thm)],[ax1496]) ).

thf(c_0_100,plain,
    ( p35
    | ~ p37 ),
    inference(split_conjunct,[status(thm)],[c_0_96]) ).

thf(c_0_101,plain,
    ~ p35,
    inference(sr,[status(thm)],[c_0_97,c_0_98]) ).

thf(c_0_102,plain,
    ( p39
    | ~ p41 ),
    inference(fof_simplification,[status(thm)],[ax1494]) ).

thf(c_0_103,plain,
    ( p37
    | ~ p39 ),
    inference(split_conjunct,[status(thm)],[c_0_99]) ).

thf(c_0_104,plain,
    ~ p37,
    inference(sr,[status(thm)],[c_0_100,c_0_101]) ).

thf(c_0_105,plain,
    ( p41
    | ~ p43 ),
    inference(fof_simplification,[status(thm)],[ax1492]) ).

thf(c_0_106,plain,
    ( p39
    | ~ p41 ),
    inference(split_conjunct,[status(thm)],[c_0_102]) ).

thf(c_0_107,plain,
    ~ p39,
    inference(sr,[status(thm)],[c_0_103,c_0_104]) ).

thf(c_0_108,plain,
    ( p43
    | ~ p45 ),
    inference(fof_simplification,[status(thm)],[ax1490]) ).

thf(c_0_109,plain,
    ( p41
    | ~ p43 ),
    inference(split_conjunct,[status(thm)],[c_0_105]) ).

thf(c_0_110,plain,
    ~ p41,
    inference(sr,[status(thm)],[c_0_106,c_0_107]) ).

thf(c_0_111,plain,
    ( p45
    | ~ p47 ),
    inference(fof_simplification,[status(thm)],[ax1488]) ).

thf(c_0_112,plain,
    ( p43
    | ~ p45 ),
    inference(split_conjunct,[status(thm)],[c_0_108]) ).

thf(c_0_113,plain,
    ~ p43,
    inference(sr,[status(thm)],[c_0_109,c_0_110]) ).

thf(c_0_114,plain,
    ( p47
    | ~ p49 ),
    inference(fof_simplification,[status(thm)],[ax1486]) ).

thf(c_0_115,plain,
    ( p45
    | ~ p47 ),
    inference(split_conjunct,[status(thm)],[c_0_111]) ).

thf(c_0_116,plain,
    ~ p45,
    inference(sr,[status(thm)],[c_0_112,c_0_113]) ).

thf(c_0_117,plain,
    ( p49
    | ~ p51 ),
    inference(fof_simplification,[status(thm)],[ax1484]) ).

thf(c_0_118,plain,
    ( p47
    | ~ p49 ),
    inference(split_conjunct,[status(thm)],[c_0_114]) ).

thf(c_0_119,plain,
    ~ p47,
    inference(sr,[status(thm)],[c_0_115,c_0_116]) ).

thf(c_0_120,plain,
    ( p51
    | ~ p53 ),
    inference(fof_simplification,[status(thm)],[ax1482]) ).

thf(c_0_121,plain,
    ( p49
    | ~ p51 ),
    inference(split_conjunct,[status(thm)],[c_0_117]) ).

thf(c_0_122,plain,
    ~ p49,
    inference(sr,[status(thm)],[c_0_118,c_0_119]) ).

thf(c_0_123,plain,
    ( p53
    | ~ p55 ),
    inference(fof_simplification,[status(thm)],[ax1480]) ).

thf(c_0_124,plain,
    ( p51
    | ~ p53 ),
    inference(split_conjunct,[status(thm)],[c_0_120]) ).

thf(c_0_125,plain,
    ~ p51,
    inference(sr,[status(thm)],[c_0_121,c_0_122]) ).

thf(c_0_126,plain,
    ( p55
    | ~ p57 ),
    inference(fof_simplification,[status(thm)],[ax1478]) ).

thf(c_0_127,plain,
    ( p53
    | ~ p55 ),
    inference(split_conjunct,[status(thm)],[c_0_123]) ).

thf(c_0_128,plain,
    ~ p53,
    inference(sr,[status(thm)],[c_0_124,c_0_125]) ).

thf(c_0_129,plain,
    ( p57
    | ~ p58 ),
    inference(fof_simplification,[status(thm)],[ax1477]) ).

thf(c_0_130,plain,
    ( p55
    | ~ p57 ),
    inference(split_conjunct,[status(thm)],[c_0_126]) ).

thf(c_0_131,plain,
    ~ p55,
    inference(sr,[status(thm)],[c_0_127,c_0_128]) ).

thf(c_0_132,plain,
    ( ~ p81
    | p80 ),
    inference(fof_simplification,[status(thm)],[ax1455]) ).

thf(c_0_133,plain,
    ( p58
    | ~ p59 ),
    inference(fof_simplification,[status(thm)],[ax1476]) ).

thf(c_0_134,plain,
    ( p57
    | ~ p58 ),
    inference(split_conjunct,[status(thm)],[c_0_129]) ).

thf(c_0_135,plain,
    ~ p57,
    inference(sr,[status(thm)],[c_0_130,c_0_131]) ).

thf(c_0_136,plain,
    ( ~ p80
    | p144 ),
    inference(fof_simplification,[status(thm)],[ax1388]) ).

thf(c_0_137,plain,
    ( p80
    | ~ p81 ),
    inference(split_conjunct,[status(thm)],[c_0_132]) ).

thf(c_0_138,plain,
    p81,
    inference(split_conjunct,[status(thm)],[ax1456]) ).

thf(c_0_139,plain,
    ( p59
    | ~ p60 ),
    inference(fof_simplification,[status(thm)],[ax1475]) ).

thf(c_0_140,plain,
    ( p58
    | ~ p59 ),
    inference(split_conjunct,[status(thm)],[c_0_133]) ).

thf(c_0_141,plain,
    ~ p58,
    inference(sr,[status(thm)],[c_0_134,c_0_135]) ).

thf(c_0_142,plain,
    ( ~ p144
    | p61
    | p143 ),
    inference(fof_simplification,[status(thm)],[ax1387]) ).

thf(c_0_143,plain,
    ( p144
    | ~ p80 ),
    inference(split_conjunct,[status(thm)],[c_0_136]) ).

thf(c_0_144,plain,
    p80,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_137,c_0_138])]) ).

thf(c_0_145,plain,
    ( p60
    | ~ p61 ),
    inference(fof_simplification,[status(thm)],[ax1474]) ).

thf(c_0_146,plain,
    ( p59
    | ~ p60 ),
    inference(split_conjunct,[status(thm)],[c_0_139]) ).

thf(c_0_147,plain,
    ~ p59,
    inference(sr,[status(thm)],[c_0_140,c_0_141]) ).

thf(c_0_148,plain,
    ( ~ p6
    | p76 ),
    inference(fof_simplification,[status(thm)],[ax1450]) ).

thf(c_0_149,plain,
    ( p5
    | p6 ),
    inference(split_conjunct,[status(thm)],[ax1529]) ).

thf(c_0_150,plain,
    ( p61
    | p143
    | ~ p144 ),
    inference(split_conjunct,[status(thm)],[c_0_142]) ).

thf(c_0_151,plain,
    p144,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_143,c_0_144])]) ).

thf(c_0_152,plain,
    ( p60
    | ~ p61 ),
    inference(split_conjunct,[status(thm)],[c_0_145]) ).

thf(c_0_153,plain,
    ~ p60,
    inference(sr,[status(thm)],[c_0_146,c_0_147]) ).

thf(c_0_154,plain,
    ! [X1770: term] :
      ( ~ p6
      | ( ( fsub @ X1770 @ fid )
        = X1770 ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[pax6])])]) ).

thf(c_0_155,plain,
    ( ~ p142
    | ~ p76
    | ~ p141 ),
    inference(fof_simplification,[status(thm)],[ax1385]) ).

thf(c_0_156,plain,
    ( p76
    | ~ p6 ),
    inference(split_conjunct,[status(thm)],[c_0_148]) ).

thf(c_0_157,plain,
    p6,
    inference(sr,[status(thm)],[c_0_149,c_0_56]) ).

thf(c_0_158,plain,
    ( ~ p143
    | p142 ),
    inference(fof_simplification,[status(thm)],[ax1386]) ).

thf(c_0_159,plain,
    ( p143
    | p61 ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_150,c_0_151])]) ).

thf(c_0_160,plain,
    ~ p61,
    inference(sr,[status(thm)],[c_0_152,c_0_153]) ).

thf(c_0_161,plain,
    ( ( ( ( fap @ f__0 @ f__2 )
        = ( fap @ ( fsub @ f__1 @ fid ) @ f__3 ) )
      | p141 )
    & ( ( f__0 != f__1 )
      | p141 ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(fof_simplification,[status(thm)],[nax141])])]) ).

thf(c_0_162,plain,
    ! [X1: term] :
      ( ( ( fsub @ X1 @ fid )
        = X1 )
      | ~ p6 ),
    inference(split_conjunct,[status(thm)],[c_0_154]) ).

thf(c_0_163,plain,
    ( ~ p142
    | ~ p76
    | ~ p141 ),
    inference(split_conjunct,[status(thm)],[c_0_155]) ).

thf(c_0_164,plain,
    p76,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_156,c_0_157])]) ).

thf(c_0_165,plain,
    ( p142
    | ~ p143 ),
    inference(split_conjunct,[status(thm)],[c_0_158]) ).

thf(c_0_166,plain,
    p143,
    inference(sr,[status(thm)],[c_0_159,c_0_160]) ).

thf(c_0_167,plain,
    ! [X1728: term,X1729: term,X1730: term,X1731: term] :
      ( ~ p32
      | ( ( fap @ X1728 @ X1730 )
       != ( fap @ X1729 @ X1731 ) )
      | ( X1728 = X1729 ) ),
    inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[pax32])])]) ).

thf(c_0_168,plain,
    ( p31
    | p32 ),
    inference(split_conjunct,[status(thm)],[ax1503]) ).

thf(c_0_169,plain,
    ( ( ( fap @ f__0 @ f__2 )
      = ( fap @ ( fsub @ f__1 @ fid ) @ f__3 ) )
    | p141 ),
    inference(split_conjunct,[status(thm)],[c_0_161]) ).

thf(c_0_170,plain,
    ! [X1: term] :
      ( ( fsub @ X1 @ fid )
      = X1 ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_162,c_0_157])]) ).

thf(c_0_171,plain,
    ( ~ p141
    | ~ p142 ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_163,c_0_164])]) ).

thf(c_0_172,plain,
    p142,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_165,c_0_166])]) ).

thf(c_0_173,plain,
    ! [X1: term,X2: term,X3: term,X4: term] :
      ( ( X1 = X3 )
      | ~ p32
      | ( ( fap @ X1 @ X2 )
       != ( fap @ X3 @ X4 ) ) ),
    inference(split_conjunct,[status(thm)],[c_0_167]) ).

thf(c_0_174,plain,
    p32,
    inference(sr,[status(thm)],[c_0_168,c_0_95]) ).

thf(c_0_175,plain,
    ( ( ( fap @ f__1 @ f__3 )
      = ( fap @ f__0 @ f__2 ) )
    | p141 ),
    inference(rw,[status(thm)],[c_0_169,c_0_170]) ).

thf(c_0_176,plain,
    ~ p141,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_171,c_0_172])]) ).

thf(c_0_177,plain,
    ( ( ( ( fap @ ( fsub @ f__0 @ fid ) @ esk795_0 )
        = ( fap @ ( fsub @ f__1 @ fid ) @ esk796_0 ) )
      | p59 )
    & ( ( f__0 != f__1 )
      | p59 ) ),
    inference(distribute,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(fof_simplification,[status(thm)],[nax59])])])])]) ).

thf(c_0_178,plain,
    ! [X1: term,X2: term,X3: term,X4: term] :
      ( ( X1 = X2 )
      | ( ( fap @ X1 @ X3 )
       != ( fap @ X2 @ X4 ) ) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_173,c_0_174])]) ).

thf(c_0_179,plain,
    ( ( fap @ f__1 @ f__3 )
    = ( fap @ f__0 @ f__2 ) ),
    inference(sr,[status(thm)],[c_0_175,c_0_176]) ).

thf(c_0_180,plain,
    ( p59
    | ( f__0 != f__1 ) ),
    inference(split_conjunct,[status(thm)],[c_0_177]) ).

thf(c_0_181,plain,
    ! [X1: term,X2: term] :
      ( ( f__1 = X1 )
      | ( ( fap @ f__0 @ f__2 )
       != ( fap @ X1 @ X2 ) ) ),
    inference(spm,[status(thm)],[c_0_178,c_0_179]) ).

thf(c_0_182,plain,
    f__1 != f__0,
    inference(sr,[status(thm)],[c_0_180,c_0_147]) ).

thf(c_0_183,plain,
    $false,
    inference(sr,[status(thm)],[inference(er,[status(thm)],[c_0_181]),c_0_182]),
    [proof] ).

thf(1,plain,
    $false,
    inference(eprover,[status(thm),assumptions([h0])],]) ).

thf(0,theorem,
    ( ! [X1: term,X2: term,X3: subst] :
        ( ( sub @ ( ap @ X1 @ X2 ) @ X3 )
        = ( ap @ ( sub @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) ) )
   => ( ! [X1: term,X2: subst] :
          ( ( sub @ one @ ( push @ X1 @ X2 ) )
          = X1 )
     => ( ! [X1: term] :
            ( ( sub @ X1 @ id )
            = X1 )
       => ( ! [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 ) ) )
                             => ( ! [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 ) )
                                   => ( ! [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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(contra,[status(thm),contra(discharge,[h0])],[1,h0]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.09/0.12  % Problem  : ALG256^1 : TPTP v8.1.0. Bugfixed v5.2.0.
% 0.09/0.12  % Command  : satallax -E eprover-ho -P picomus -M modes -p tstp -t %d %s
% 0.13/0.33  % Computer : n024.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 600
% 0.13/0.33  % DateTime : Thu Jun  9 00:57:04 EDT 2022
% 0.13/0.33  % CPUTime  : 
% 187.26/186.51  % SZS status Theorem
% 187.26/186.51  % Mode: mode503:USE_SINE=true:SINE_TOLERANCE=1.2:SINE_GENERALITY_THRESHOLD=0:SINE_RANK_LIMIT=4.:SINE_DEPTH=0
% 187.26/186.51  % Inferences: 66
% 187.26/186.51  % SZS output start Proof
% See solution above
%------------------------------------------------------------------------------