TSTP Solution File: ALG261^1 by Vampire---4.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire---4.8
% Problem  : ALG261^1 : TPTP v8.2.0. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox2/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s

% Computer : n015.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  : 300s
% DateTime : Mon May 20 18:20:27 EDT 2024

% Result   : Theorem 1.67s 0.64s
% Output   : Refutation 1.99s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   49
%            Number of leaves      :   97
% Syntax   : Number of formulae    :  272 ( 208 unt;  58 typ;   0 def)
%            Number of atoms       : 4722 (1156 equ;   0 cnn)
%            Maximal formula atoms :   34 (  22 avg)
%            Number of connectives : 18516 ( 217   ~;   0   |; 101   &;13312   @)
%                                         (   0 <=>;2069  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   34 (   2 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  : 1040 (1040   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   93 (  89 usr;  43 con; 0-4 aty)
%                                         (2817  !!;   0  ??;   0 @@+;   0 @@-)
%            Number of variables   : 3203 (2979   ^ 224   !;   0   ?;3203   :)

% Comments : 
%------------------------------------------------------------------------------
thf(type_def_5,type,
    term: $tType ).

thf(type_def_7,type,
    subst: $tType ).

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

thf(func_def_1,type,
    subst: $tType ).

thf(func_def_2,type,
    one: term ).

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

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

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

thf(func_def_6,type,
    id: subst ).

thf(func_def_7,type,
    sh: subst ).

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

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

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

thf(func_def_18,type,
    hoasap: subst > term > subst > term > term ).

thf(func_def_73,type,
    hoaslam: subst > ( subst > term > term ) > term ).

thf(func_def_86,type,
    hoasinduction_p_and_p_prime: ( subst > term > subst > $o ) > ( term > $o ) > $o ).

thf(func_def_107,type,
    hoasvar: subst > term > subst > $o ).

thf(func_def_121,type,
    pushprop_p_and_p_prime: term > subst > ( term > $o ) > ( term > $o ) > $o ).

thf(func_def_142,type,
    sK1: ( term > $o ) > term ).

thf(func_def_143,type,
    sK2: ( term > $o ) > term ).

thf(func_def_144,type,
    sK3: ( term > $o ) > term ).

thf(func_def_145,type,
    sK4: ( term > $o ) > term ).

thf(func_def_146,type,
    sK5: ( term > $o ) > term ).

thf(func_def_147,type,
    sK6: ( term > $o ) > term ).

thf(func_def_148,type,
    sK7: ( term > $o ) > term ).

thf(func_def_149,type,
    sK8: ( term > $o ) > term ).

thf(func_def_150,type,
    sK9: subst > ( term > $o ) > term ).

thf(func_def_151,type,
    sK10: ( term > $o ) > term ).

thf(func_def_152,type,
    sK11: ( term > $o ) > term ).

thf(func_def_153,type,
    sK12: ( term > $o ) > term ).

thf(func_def_154,type,
    sK13: ( term > $o ) > subst > term ).

thf(func_def_155,type,
    sK14: ( term > $o ) > subst > term ).

thf(func_def_156,type,
    sK15: ( term > $o ) > subst > term ).

thf(func_def_157,type,
    sK16: ( term > $o ) > term ).

thf(func_def_158,type,
    sK17: subst > ( term > $o ) > term ).

thf(func_def_159,type,
    sK18: subst > ( term > $o ) > term ).

thf(func_def_160,type,
    sK19: subst > ( term > $o ) > term ).

thf(func_def_161,type,
    sK20: ( term > $o ) > term ).

thf(func_def_162,type,
    sK21: ( term > $o ) > term ).

thf(func_def_163,type,
    sK22: ( term > $o ) > term ).

thf(func_def_164,type,
    sK23: ( term > $o ) > term ).

thf(func_def_165,type,
    sK24: ( term > $o ) > term ).

thf(func_def_166,type,
    sK25: ( term > $o ) > term ).

thf(func_def_167,type,
    sK26: ( term > $o ) > term ).

thf(func_def_168,type,
    sK27: ( subst > term > term ) > subst ).

thf(func_def_169,type,
    sK28: ( subst > term > term ) > subst ).

thf(func_def_170,type,
    sK29: ( subst > term > term ) > term ).

thf(func_def_171,type,
    sK30: ( subst > term > term ) > term ).

thf(func_def_172,type,
    sK31: ( subst > term > term ) > subst ).

thf(func_def_173,type,
    sK32: ( subst > term > term ) > subst ).

thf(func_def_174,type,
    sK33: ( subst > term > term ) > subst ).

thf(func_def_175,type,
    sK34: ( subst > term > term ) > subst ).

thf(func_def_176,type,
    sK35: ( subst > term > term ) > term ).

thf(func_def_177,type,
    sK36: ( subst > term > term ) > subst ).

thf(func_def_178,type,
    sK37: ( subst > term > term ) > term ).

thf(func_def_179,type,
    sK38: ( subst > term > term ) > subst ).

thf(func_def_180,type,
    sK39: term ).

thf(func_def_181,type,
    sK40: term ).

thf(f1016,plain,
    $false,
    inference(trivial_inequality_removal,[],[f1015]) ).

thf(f1015,plain,
    $true = $false,
    inference(backward_demodulation,[],[f1014,f685]) ).

thf(f685,plain,
    ! [X2: term,X1: term] :
      ( ( var @ ( ap @ X2 @ X1 ) )
      = $false ),
    inference(not_proxy_clausification,[],[f684]) ).

thf(f684,plain,
    ! [X2: term,X1: term] :
      ( ( ~ ( var @ ( ap @ X2 @ X1 ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f683]) ).

thf(f683,plain,
    ! [X2: term,X1: term] :
      ( ( ^ [Y0: term] :
            ~ ( var @ ( ap @ Y0 @ X1 ) )
        @ X2 )
      = $true ),
    inference(pi_clausification,[],[f682]) ).

thf(f682,plain,
    ! [X1: term] :
      ( ( !! @ term
        @ ^ [Y0: term] :
            ~ ( var @ ( ap @ Y0 @ X1 ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f681]) ).

thf(f681,plain,
    ! [X1: term] :
      ( $true
      = ( ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( ap @ Y1 @ Y0 ) ) )
        @ X1 ) ),
    inference(pi_clausification,[],[f680]) ).

thf(f680,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f669]) ).

thf(f669,plain,
    ( $false
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ~ ( var @ ( lam @ Y0 ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ ( term > $o )
                  @ ^ [Y1: term > $o] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( ( Y1 @ Y0 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                    & ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                  = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                    & ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ id @ Y0 )
                          = Y0 ) ) )
                 => ( ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                      & ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( sub @ Y0 @ id )
                            = Y0 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                          = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                       => ( Y3 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                         => ( Y3 = Y0 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                              = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                    = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                       => ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y1 @ Y3 @ Y2 )
                                                  = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f660]) ).

thf(f660,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( lam @ Y1 )
                   != ( ap @ Y2 @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ~ ( var @ ( lam @ Y0 ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ ( term > $o )
                    @ ^ [Y1: term > $o] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( ( Y1 @ Y0 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                      & ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                    = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                      & ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ id @ Y0 )
                            = Y0 ) ) )
                   => ( ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                      = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                        & ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( sub @ Y0 @ id )
                              = Y0 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                            = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                         => ( Y3 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                           => ( Y3 = Y0 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                      = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                         => ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y1 @ Y3 @ Y2 )
                                                    = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f651]) ).

thf(f651,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( sub @ Y1 @ sh )
                  = ( sub @ Y0 @ sh ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( lam @ Y1 )
                     != ( ap @ Y2 @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ~ ( var @ ( lam @ Y0 ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ ( term > $o )
                      @ ^ [Y1: term > $o] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( ( Y1 @ Y0 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                        & ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                      = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                        & ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ id @ Y0 )
                              = Y0 ) ) )
                     => ( ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                        = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                          & ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( sub @ Y0 @ id )
                                = Y0 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                              = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                           => ( Y3 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                             => ( Y3 = Y0 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                  = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                        = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                           => ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y1 @ Y3 @ Y2 )
                                                      = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f638]) ).

thf(f638,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( lam @ Y1 )
                  = ( lam @ Y0 ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y1 @ sh )
                    = ( sub @ Y0 @ sh ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( lam @ Y1 )
                       != ( ap @ Y2 @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ~ ( var @ ( lam @ Y0 ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ ( term > $o )
                        @ ^ [Y1: term > $o] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( ( Y1 @ Y0 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( comp @ Y0 @ id )
                                = Y0 ) )
                          & ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                        = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                          & ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( comp @ id @ Y0 )
                                = Y0 ) ) )
                       => ( ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                          = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                            & ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( sub @ Y0 @ id )
                                  = Y0 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                             => ( Y3 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                               => ( Y3 = Y0 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                    = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                          = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                             => ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y1 @ Y3 @ Y2 )
                                                        = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f625]) ).

thf(f625,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y3 @ Y2 )
                          = ( ap @ Y1 @ Y0 ) )
                       => ( Y2 = Y0 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( lam @ Y1 )
                    = ( lam @ Y0 ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( sub @ Y1 @ sh )
                      = ( sub @ Y0 @ sh ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( lam @ Y1 )
                         != ( ap @ Y2 @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ~ ( var @ ( lam @ Y0 ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ ( term > $o )
                          @ ^ [Y1: term > $o] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( ( Y1 @ Y0 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ Y0 @ id )
                                  = Y0 ) )
                            & ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                            & ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ id @ Y0 )
                                  = Y0 ) ) )
                         => ( ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                              & ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( sub @ Y0 @ id )
                                    = Y0 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                               => ( Y3 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                 => ( Y3 = Y0 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y1 @ Y3 @ Y2 )
                                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f610]) ).

thf(f610,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y3 @ Y2 )
                          = ( ap @ Y1 @ Y0 ) )
                       => ( Y3 = Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y3 @ Y2 )
                            = ( ap @ Y1 @ Y0 ) )
                         => ( Y2 = Y0 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( lam @ Y1 )
                      = ( lam @ Y0 ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( sub @ Y1 @ sh )
                        = ( sub @ Y0 @ sh ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( lam @ Y1 )
                           != ( ap @ Y2 @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ~ ( var @ ( lam @ Y0 ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ ( term > $o )
                            @ ^ [Y1: term > $o] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( ( Y1 @ Y0 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( ( comp @ Y0 @ id )
                                    = Y0 ) )
                              & ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                            = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                              & ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( ( comp @ id @ Y0 )
                                    = Y0 ) ) )
                           => ( ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                              = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                & ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( sub @ Y0 @ id )
                                      = Y0 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                 => ( Y3 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                   => ( Y3 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y1 @ Y3 @ Y2 )
                                                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f605]) ).

thf(f605,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( Y0 @ one )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y3 @ Y2 )
                            = ( ap @ Y1 @ Y0 ) )
                         => ( Y3 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y3 @ Y2 )
                              = ( ap @ Y1 @ Y0 ) )
                           => ( Y2 = Y0 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( lam @ Y1 )
                        = ( lam @ Y0 ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( sub @ Y1 @ sh )
                          = ( sub @ Y0 @ sh ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( lam @ Y1 )
                             != ( ap @ Y2 @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ~ ( var @ ( lam @ Y0 ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ ( term > $o )
                              @ ^ [Y1: term > $o] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( ( Y1 @ Y0 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( comp @ Y0 @ id )
                                      = Y0 ) )
                                & ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                              = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                & ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( comp @ id @ Y0 )
                                      = Y0 ) ) )
                             => ( ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                  & ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( ( sub @ Y0 @ id )
                                        = Y0 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                   => ( Y3 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                     => ( Y3 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                          = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y1 @ Y3 @ Y2 )
                                                              = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f603]) ).

thf(f603,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( var @ ( sub @ Y0 @ sh ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( Y0 @ one )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y3 @ Y2 )
                              = ( ap @ Y1 @ Y0 ) )
                           => ( Y3 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y3 @ Y2 )
                                = ( ap @ Y1 @ Y0 ) )
                             => ( Y2 = Y0 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( lam @ Y1 )
                          = ( lam @ Y0 ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( sub @ Y1 @ sh )
                            = ( sub @ Y0 @ sh ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( lam @ Y1 )
                               != ( ap @ Y2 @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ~ ( var @ ( lam @ Y0 ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ ( term > $o )
                                @ ^ [Y1: term > $o] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( ( Y1 @ Y0 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( ( comp @ Y0 @ id )
                                        = Y0 ) )
                                  & ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                  & ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( ( comp @ id @ Y0 )
                                        = Y0 ) ) )
                               => ( ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                  = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                    & ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( ( sub @ Y0 @ id )
                                          = Y0 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                       => ( Y3 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                            = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                  = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y1 @ Y3 @ Y2 )
                                                                = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f598]) ).

thf(f598,plain,
    ( ( ( var @ one )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( var @ ( sub @ Y0 @ sh ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( Y0 @ one )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y3 @ Y2 )
                                = ( ap @ Y1 @ Y0 ) )
                             => ( Y3 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y3 @ Y2 )
                                  = ( ap @ Y1 @ Y0 ) )
                               => ( Y2 = Y0 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( lam @ Y1 )
                            = ( lam @ Y0 ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( sub @ Y1 @ sh )
                              = ( sub @ Y0 @ sh ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( lam @ Y1 )
                                 != ( ap @ Y2 @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ~ ( var @ ( lam @ Y0 ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ ( term > $o )
                                  @ ^ [Y1: term > $o] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( ( Y1 @ Y0 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( ( comp @ Y0 @ id )
                                          = Y0 ) )
                                    & ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                  = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                    & ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( ( comp @ id @ Y0 )
                                          = Y0 ) ) )
                                 => ( ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                      & ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( ( sub @ Y0 @ id )
                                            = Y0 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                       => ( Y3 = Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                         => ( Y3 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                              = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                    = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y1 @ Y3 @ Y2 )
                                                                  = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f595]) ).

thf(f595,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
            = Y0 ) )
     => ( ( var @ one )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( var @ ( sub @ Y0 @ sh ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( Y0 @ one )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y3 @ Y2 )
                                  = ( ap @ Y1 @ Y0 ) )
                               => ( Y3 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y3 @ Y2 )
                                    = ( ap @ Y1 @ Y0 ) )
                                 => ( Y2 = Y0 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( lam @ Y1 )
                              = ( lam @ Y0 ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( sub @ Y1 @ sh )
                                = ( sub @ Y0 @ sh ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( lam @ Y1 )
                                   != ( ap @ Y2 @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ~ ( var @ ( lam @ Y0 ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ ( term > $o )
                                    @ ^ [Y1: term > $o] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( ( Y1 @ Y0 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( ( comp @ Y0 @ id )
                                            = Y0 ) )
                                      & ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                    = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                      & ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( ( comp @ id @ Y0 )
                                            = Y0 ) ) )
                                   => ( ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                      = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                        & ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( ( sub @ Y0 @ id )
                                              = Y0 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                         => ( Y3 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                           => ( Y3 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                      = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y1 @ Y3 @ Y2 )
                                                                    = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f590]) ).

thf(f590,plain,
    ( ( ( id
        = ( push @ one @ sh ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y3 @ Y2 )
                                    = ( ap @ Y1 @ Y0 ) )
                                 => ( Y3 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y3 @ Y2 )
                                      = ( ap @ Y1 @ Y0 ) )
                                   => ( Y2 = Y0 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y1 )
                                = ( lam @ Y0 ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y1 @ sh )
                                  = ( sub @ Y0 @ sh ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( lam @ Y1 )
                                     != ( ap @ Y2 @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ~ ( var @ ( lam @ Y0 ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ ( term > $o )
                                      @ ^ [Y1: term > $o] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( ( Y1 @ Y0 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( ( comp @ Y0 @ id )
                                              = Y0 ) )
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                      = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( ( comp @ id @ Y0 )
                                              = Y0 ) ) )
                                     => ( ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                        = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                          & ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( ( sub @ Y0 @ id )
                                                = Y0 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                           => ( Y3 = Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                             => ( Y3 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                  = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                        = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y1 @ Y3 @ Y2 )
                                                                      = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f581]) ).

thf(f581,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
     => ( ( id
          = ( push @ one @ sh ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                = Y0 ) )
         => ( ( var @ one )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( var @ Y0 )
                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( Y0 @ one )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y3 @ Y2 )
                                      = ( ap @ Y1 @ Y0 ) )
                                   => ( Y3 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y3 @ Y2 )
                                        = ( ap @ Y1 @ Y0 ) )
                                     => ( Y2 = Y0 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( lam @ Y1 )
                                  = ( lam @ Y0 ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( sub @ Y1 @ sh )
                                    = ( sub @ Y0 @ sh ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( lam @ Y1 )
                                       != ( ap @ Y2 @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ~ ( var @ ( lam @ Y0 ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ ( term > $o )
                                        @ ^ [Y1: term > $o] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( ( Y1 @ Y0 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( ( comp @ Y0 @ id )
                                                = Y0 ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                        = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( ( comp @ id @ Y0 )
                                                = Y0 ) ) )
                                       => ( ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                          = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                            & ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( ( sub @ Y0 @ id )
                                                  = Y0 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                             => ( Y3 = Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                               => ( Y3 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                    = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                          = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y1 @ Y3 @ Y2 )
                                                                        = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f572]) ).

thf(f572,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                    = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
       => ( ( id
            = ( push @ one @ sh ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                  = Y0 ) )
           => ( ( var @ one )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( var @ Y0 )
                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( Y0 @ one )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y3 @ Y2 )
                                        = ( ap @ Y1 @ Y0 ) )
                                     => ( Y3 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y3 @ Y2 )
                                          = ( ap @ Y1 @ Y0 ) )
                                       => ( Y2 = Y0 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( lam @ Y1 )
                                    = ( lam @ Y0 ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( sub @ Y1 @ sh )
                                      = ( sub @ Y0 @ sh ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( lam @ Y1 )
                                         != ( ap @ Y2 @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ~ ( var @ ( lam @ Y0 ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ ( term > $o )
                                          @ ^ [Y1: term > $o] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( ( Y1 @ Y0 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ Y0 @ id )
                                                  = Y0 ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ id @ Y0 )
                                                  = Y0 ) ) )
                                         => ( ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                              & ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( ( sub @ Y0 @ id )
                                                    = Y0 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                               => ( Y3 = Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y1 @ Y3 @ Y2 )
                                                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f565]) ).

thf(f565,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                    = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                      = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
         => ( ( id
              = ( push @ one @ sh ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                    = Y0 ) )
             => ( ( var @ one )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( var @ Y0 )
                       => ( var @ ( sub @ Y0 @ sh ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( Y0 @ one )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y3 @ Y2 )
                                          = ( ap @ Y1 @ Y0 ) )
                                       => ( Y3 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y3 @ Y2 )
                                            = ( ap @ Y1 @ Y0 ) )
                                         => ( Y2 = Y0 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( lam @ Y1 )
                                      = ( lam @ Y0 ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( sub @ Y1 @ sh )
                                        = ( sub @ Y0 @ sh ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( lam @ Y1 )
                                           != ( ap @ Y2 @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ~ ( var @ ( lam @ Y0 ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ ( term > $o )
                                            @ ^ [Y1: term > $o] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( ( Y1 @ Y0 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ Y0 @ id )
                                                    = Y0 ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                            = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ id @ Y0 )
                                                    = Y0 ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                              = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                & ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( ( sub @ Y0 @ id )
                                                      = Y0 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                 => ( Y3 = Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                   => ( Y3 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y1 @ Y3 @ Y2 )
                                                                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f560]) ).

thf(f560,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                = Y1 ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                      = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                        = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( id
                = ( push @ one @ sh ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y3 @ Y2 )
                                            = ( ap @ Y1 @ Y0 ) )
                                         => ( Y3 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y3 @ Y2 )
                                              = ( ap @ Y1 @ Y0 ) )
                                           => ( Y2 = Y0 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y1 )
                                        = ( lam @ Y0 ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y1 @ sh )
                                          = ( sub @ Y0 @ sh ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( lam @ Y1 )
                                             != ( ap @ Y2 @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ~ ( var @ ( lam @ Y0 ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ ( term > $o )
                                              @ ^ [Y1: term > $o] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( ( Y1 @ Y0 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                              = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ id @ Y0 )
                                                      = Y0 ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                  & ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( ( sub @ Y0 @ id )
                                                        = Y0 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                   => ( Y3 = Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                     => ( Y3 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                          = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y1 @ Y3 @ Y2 )
                                                                              = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f551]) ).

thf(f551,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                  = Y1 ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                        = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                          = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
             => ( ( id
                  = ( push @ one @ sh ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                        = Y0 ) )
                 => ( ( var @ one )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( var @ Y0 )
                           => ( var @ ( sub @ Y0 @ sh ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( Y0 @ one )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y3 @ Y2 )
                                              = ( ap @ Y1 @ Y0 ) )
                                           => ( Y3 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y3 @ Y2 )
                                                = ( ap @ Y1 @ Y0 ) )
                                             => ( Y2 = Y0 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( lam @ Y1 )
                                          = ( lam @ Y0 ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( sub @ Y1 @ sh )
                                            = ( sub @ Y0 @ sh ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( lam @ Y1 )
                                               != ( ap @ Y2 @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ~ ( var @ ( lam @ Y0 ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ ( term > $o )
                                                @ ^ [Y1: term > $o] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( ( Y1 @ Y0 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ id @ Y0 )
                                                        = Y0 ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                  = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                    & ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( ( sub @ Y0 @ id )
                                                          = Y0 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                       => ( Y3 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                            = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                  = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y1 @ Y3 @ Y2 )
                                                                                = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f544]) ).

thf(f544,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                    = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                    = Y1 ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                          = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                            = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
               => ( ( id
                    = ( push @ one @ sh ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                          = Y0 ) )
                   => ( ( var @ one )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( var @ Y0 )
                             => ( var @ ( sub @ Y0 @ sh ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( Y0 @ one )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y3 @ Y2 )
                                                = ( ap @ Y1 @ Y0 ) )
                                             => ( Y3 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y3 @ Y2 )
                                                  = ( ap @ Y1 @ Y0 ) )
                                               => ( Y2 = Y0 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( lam @ Y1 )
                                            = ( lam @ Y0 ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( sub @ Y1 @ sh )
                                              = ( sub @ Y0 @ sh ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( lam @ Y1 )
                                                 != ( ap @ Y2 @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ~ ( var @ ( lam @ Y0 ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ ( term > $o )
                                                  @ ^ [Y1: term > $o] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( ( Y1 @ Y0 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                  = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                      & ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( ( sub @ Y0 @ id )
                                                            = Y0 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                       => ( Y3 = Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                         => ( Y3 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                              = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                    = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                          = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y1 @ Y3 @ Y2 )
                                                                                  = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f539]) ).

thf(f539,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ ( lam @ Y1 ) @ Y0 )
                = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                      = Y1 ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                            = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                              = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( id
                      = ( push @ one @ sh ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y3 @ Y2 )
                                                  = ( ap @ Y1 @ Y0 ) )
                                               => ( Y3 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y3 @ Y2 )
                                                    = ( ap @ Y1 @ Y0 ) )
                                                 => ( Y2 = Y0 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y1 )
                                              = ( lam @ Y0 ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y1 @ sh )
                                                = ( sub @ Y0 @ sh ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( lam @ Y1 )
                                                   != ( ap @ Y2 @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ~ ( var @ ( lam @ Y0 ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ ( term > $o )
                                                    @ ^ [Y1: term > $o] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( ( Y1 @ Y0 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                    = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                      = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                        & ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( ( sub @ Y0 @ id )
                                                              = Y0 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                         => ( Y3 = Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                           => ( Y3 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                      = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                            = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y1 @ Y3 @ Y2 )
                                                                                    = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f532]) ).

thf(f532,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ ( lam @ Y1 ) @ Y0 )
                  = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                        = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                        = Y1 ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                              = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                                = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                   => ( ( id
                        = ( push @ one @ sh ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                              = Y0 ) )
                       => ( ( var @ one )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( var @ Y0 )
                                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( Y0 @ one )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y3 @ Y2 )
                                                    = ( ap @ Y1 @ Y0 ) )
                                                 => ( Y3 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y3 @ Y2 )
                                                      = ( ap @ Y1 @ Y0 ) )
                                                   => ( Y2 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( lam @ Y1 )
                                                = ( lam @ Y0 ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( sub @ Y1 @ sh )
                                                  = ( sub @ Y0 @ sh ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( lam @ Y1 )
                                                     != ( ap @ Y2 @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ~ ( var @ ( lam @ Y0 ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ ( term > $o )
                                                      @ ^ [Y1: term > $o] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( ( Y1 @ Y0 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ Y1 ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                      = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                        = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                          & ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( ( sub @ Y0 @ id )
                                                                = Y0 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                           => ( Y3 = Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                             => ( Y3 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                  = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                        = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                              = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y1 @ Y3 @ Y2 )
                                                                                      = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f523]) ).

thf(f523,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                = Y0 ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sub @ ( lam @ Y1 ) @ Y0 )
                    = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                          = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                          = Y1 ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                                  = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                     => ( ( id
                          = ( push @ one @ sh ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                = Y0 ) )
                         => ( ( var @ one )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( var @ Y0 )
                                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( Y0 @ one )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y3 @ Y2 )
                                                      = ( ap @ Y1 @ Y0 ) )
                                                   => ( Y3 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y2 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y2 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( lam @ Y1 )
                                                  = ( lam @ Y0 ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( sub @ Y1 @ sh )
                                                    = ( sub @ Y0 @ sh ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( lam @ Y1 )
                                                       != ( ap @ Y2 @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ~ ( var @ ( lam @ Y0 ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ ( term > $o )
                                                        @ ^ [Y1: term > $o] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( ( Y1 @ Y0 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y1 )
                                                                       => ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                        = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                          = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                            & ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                             => ( Y3 = Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                               => ( Y3 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                    = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                          = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y1 @ Y3 @ Y2 )
                                                                                        = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f522]) ).

thf(f522,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                    = ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                            = Y1 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                  = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                                    = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y2 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y3 @ Y2 )
                                                          = ( ap @ Y1 @ Y0 ) )
                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y1 )
                                                         != ( ap @ Y2 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y1: term > $o] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y1 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                              & ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                                                               => ( Y3 = Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y1 @ Y3 @ Y2 )
                                                                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
   != $true ),
    inference(beta_eta_normalization,[],[f521]) ).

thf(f521,plain,
    ( $true
   != ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                    = ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                            = Y1 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                  = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                                    = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y2 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y3 @ Y2 )
                                                          = ( ap @ Y1 @ Y0 ) )
                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y1 )
                                                         != ( ap @ Y2 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y1: term > $o] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y1 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                              & ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y3
                                                                                    @ id
                                                                                    @ Y0 )
                                                                                  = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y1
                                                                                    @ id
                                                                                    @ Y2 ) )
                                                                               => ( Y3 = Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y3 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                             => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                                                                                  = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y1 @ Y3 @ Y2 )
                                                                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                @ id
                                                                                @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                  @ id
                                                                                  @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                  @ id
                                                                                  @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                    @ id
                                                                                    @ Y0
                                                                                    @ id
                                                                                    @ Y1 )
                                                                                  @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f427,f456]) ).

thf(f456,plain,
    ( hoasapnotvar_gthm
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                    = ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                            = Y1 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                                  = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                                    = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y2 )
                                                        = ( ap @ Y1 @ Y0 ) )
                                                     => ( Y3 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y3 @ Y2 )
                                                          = ( ap @ Y1 @ Y0 ) )
                                                       => ( Y2 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y1 )
                                                         != ( ap @ Y2 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y1: term > $o] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y1 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( ( Y0 @ Y1 )
                                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                                                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) ) )
                                                         => ( ( ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                                                              & ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y3
                                                                                    @ id
                                                                                    @ Y0 )
                                                                                  = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y1
                                                                                    @ id
                                                                                    @ Y2 ) )
                                                                               => ( Y3 = Y1 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y3 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                                                             => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                                                                                  = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y1 @ Y3 @ Y2 )
                                                                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                                                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                           => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                @ id
                                                                                @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                  @ id
                                                                                  @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                  @ id
                                                                                  @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                    @ id
                                                                                    @ Y0
                                                                                    @ id
                                                                                    @ Y1 )
                                                                                  @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f408,f442,f381,f386,f401,f374,f367,f383,f361,f436,f429,f355,f407,f330,f391,f433,f362,f435,f341,f331,f428,f332,f411,f423,f424,f336,f388,f364,f349,f449,f450,f451,f452,f453,f454]) ).

thf(f454,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                @ id
                @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                  @ id
                  @ Y0
                  @ id
                  @ Y1 )
                @ id ) ) ) ),
    inference(definition_unfolding,[],[f437,f385,f396]) ).

thf(f396,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(cnf_transformation,[],[f165]) ).

thf(f165,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(fool_elimination,[],[f164]) ).

thf(f164,plain,
    ( hoasap
    = ( ^ [X0: subst,X1: term,X2: subst,X3: term] : ( ap @ ( sub @ X1 @ X2 ) @ X3 ) ) ),
    inference(rectify,[],[f55]) ).

thf(f55,axiom,
    ( hoasap
    = ( ^ [X2: subst,X0: term,X3: subst,X1: term] : ( ap @ ( sub @ X0 @ X3 ) @ X1 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasap) ).

thf(f385,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(cnf_transformation,[],[f278]) ).

thf(f278,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(fool_elimination,[],[f277]) ).

thf(f277,plain,
    ( hoasvar
    = ( ^ [X0: subst,X1: term,X2: subst] : ( var @ ( sub @ X1 @ X2 ) ) ) ),
    inference(rectify,[],[f57]) ).

thf(f57,axiom,
    ( hoasvar
    = ( ^ [X2: subst,X0: term,X3: subst] : ( var @ ( sub @ X0 @ X3 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasvar) ).

thf(f437,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(cnf_transformation,[],[f159]) ).

thf(f159,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(fool_elimination,[],[f158]) ).

thf(f158,plain,
    ! [X0: term,X1: term] :
      ( ( ~ ( hoasvar @ id @ ( hoasap @ id @ X1 @ id @ X0 ) @ id ) )
      = hoasapnotvar ),
    inference(rectify,[],[f73]) ).

thf(f73,axiom,
    ! [X1: term,X0: term] :
      ( ( ~ ( hoasvar @ id @ ( hoasap @ id @ X0 @ id @ X1 ) @ id ) )
      = hoasapnotvar ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasapnotvar) ).

thf(f453,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
              @ id
              @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(definition_unfolding,[],[f443,f385,f335]) ).

thf(f335,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(cnf_transformation,[],[f143]) ).

thf(f143,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(fool_elimination,[],[f142]) ).

thf(f142,plain,
    ( ( ^ [X0: subst,X1: subst > term > term] : ( lam @ ( X1 @ sh @ one ) ) )
    = hoaslam ),
    inference(rectify,[],[f56]) ).

thf(f56,axiom,
    ( ( ^ [X2: subst,X10: subst > term > term] : ( lam @ ( X10 @ sh @ one ) ) )
    = hoaslam ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoaslam) ).

thf(f443,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(cnf_transformation,[],[f229]) ).

thf(f229,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(fool_elimination,[],[f228]) ).

thf(f228,plain,
    ! [X0: subst > term > term] :
      ( ( ! [X1: subst,X2: term,X3: subst] :
            ( ( sub @ ( X0 @ X3 @ X2 ) @ X1 )
            = ( X0 @ ( comp @ X3 @ X1 ) @ ( sub @ X2 @ X1 ) ) )
       => ~ ( hoasvar @ id
            @ ( hoaslam @ id
              @ ^ [X4: subst,X5: term] : ( X0 @ X4 @ X5 ) )
            @ id ) )
      = hoaslamnotvar ),
    inference(rectify,[],[f70]) ).

thf(f70,axiom,
    ! [X10: subst > term > term] :
      ( ( ! [X3: subst,X0: term,X2: subst] :
            ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
            = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
       => ~ ( hoasvar @ id
            @ ( hoaslam @ id
              @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
            @ id ) )
      = hoaslamnotvar ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoaslamnotvar) ).

thf(f452,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                      @ id
                      @ Y2
                      @ id
                      @ Y1 )
                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                      @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f415,f396,f335]) ).

thf(f415,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y2 @ id @ Y1 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f189]) ).

thf(f189,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y2 @ id @ Y1 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f188]) ).

thf(f188,plain,
    ( hoaslamnotap
    = ( ! [X0: subst > term > term] :
          ( ! [X1: term,X2: subst,X3: subst] :
              ( ( sub @ ( X0 @ X2 @ X1 ) @ X3 )
              = ( X0 @ ( comp @ X2 @ X3 ) @ ( sub @ X1 @ X3 ) ) )
         => ! [X4: term,X5: term] :
              ( ( hoasap @ id @ X4 @ id @ X5 )
             != ( hoaslam @ id
                @ ^ [X6: subst,X7: term] : ( X0 @ X6 @ X7 ) ) ) ) ) ),
    inference(rectify,[],[f67]) ).

thf(f67,axiom,
    ( hoaslamnotap
    = ( ! [X10: subst > term > term] :
          ( ! [X0: term,X2: subst,X3: subst] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ! [X0: term,X1: term] :
              ( ( hoasap @ id @ X0 @ id @ X1 )
             != ( hoaslam @ id
                @ ^ [X2: subst,X6: term] : ( X10 @ X2 @ X6 ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoaslamnotap) ).

thf(f451,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
               => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y1 @ Y3 @ Y2 )
                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f345,f335,f335]) ).

thf(f345,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y1 @ Y3 @ Y2 )
                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f211]) ).

thf(f211,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y1 @ Y3 @ Y2 )
                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f210]) ).

thf(f210,plain,
    ! [X0: subst > term > term] :
      ( ( ! [X1: term,X2: subst,X3: subst] :
            ( ( X0 @ ( comp @ X3 @ X2 ) @ ( sub @ X1 @ X2 ) )
            = ( sub @ ( X0 @ X3 @ X1 ) @ X2 ) )
       => ! [X4: subst > term > term] :
            ( ! [X5: subst,X6: subst,X7: term] :
                ( ( X4 @ ( comp @ X5 @ X6 ) @ ( sub @ X7 @ X6 ) )
                = ( sub @ ( X4 @ X5 @ X7 ) @ X6 ) )
           => ( ( ( hoaslam @ id
                  @ ^ [X8: subst,X9: term] : ( X0 @ X8 @ X9 ) )
                = ( hoaslam @ id
                  @ ^ [X10: subst,X11: term] : ( X4 @ X10 @ X11 ) ) )
             => ! [X12: subst,X13: term] :
                  ( ( X4 @ X12 @ X13 )
                  = ( X0 @ X12 @ X13 ) ) ) ) )
      = hoaslaminj ),
    inference(rectify,[],[f64]) ).

thf(f64,axiom,
    ! [X10: subst > term > term] :
      ( ( ! [X0: term,X3: subst,X2: subst] :
            ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
            = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
       => ! [X11: subst > term > term] :
            ( ! [X2: subst,X3: subst,X0: term] :
                ( ( sub @ ( X11 @ X2 @ X0 ) @ X3 )
                = ( X11 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
           => ( ( ( hoaslam @ id
                  @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
                = ( hoaslam @ id
                  @ ^ [X2: subst,X0: term] : ( X11 @ X2 @ X0 ) ) )
             => ! [X2: subst,X0: term] :
                  ( ( X10 @ X2 @ X0 )
                  = ( X11 @ X2 @ X0 ) ) ) ) )
      = hoaslaminj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoaslaminj) ).

thf(f450,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y2
                          @ id
                          @ Y3 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y1
                          @ id
                          @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f410,f396,f396]) ).

thf(f410,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y1 @ id @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f231]) ).

thf(f231,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y1 @ id @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f230]) ).

thf(f230,plain,
    ( hoasapinj2
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( hoasap @ id @ X1 @ id @ X0 )
            = ( hoasap @ id @ X2 @ id @ X3 ) )
         => ( X0 = X3 ) ) ) ),
    inference(rectify,[],[f61]) ).

thf(f61,axiom,
    ( hoasapinj2
    = ( ! [X7: term,X1: term,X0: term,X6: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X6 )
            = ( hoasap @ id @ X1 @ id @ X7 ) )
         => ( X6 = X7 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasapinj2) ).

thf(f449,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y3
                          @ id
                          @ Y0 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y1
                          @ id
                          @ Y2 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f378,f396,f396]) ).

thf(f378,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y3 @ id @ Y0 )
                        = ( hoasap @ id @ Y1 @ id @ Y2 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f147]) ).

thf(f147,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y3 @ id @ Y0 )
                        = ( hoasap @ id @ Y1 @ id @ Y2 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f146]) ).

thf(f146,plain,
    ( hoasapinj1
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X3 )
            = ( hoasap @ id @ X2 @ id @ X1 ) )
         => ( X0 = X2 ) ) ) ),
    inference(rectify,[],[f58]) ).

thf(f58,axiom,
    ( hoasapinj1
    = ( ! [X1: term,X6: term,X0: term,X7: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X6 )
            = ( hoasap @ id @ X1 @ id @ X7 ) )
         => ( X0 = X1 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasapinj1) ).

thf(f349,plain,
    ( termmset
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
      & ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f122]) ).

thf(f122,plain,
    ( termmset
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
      & ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) ) ) ),
    inference(fool_elimination,[],[f121]) ).

thf(f121,plain,
    ( ! [X0: term] :
        ( ( sub @ X0 @ id )
        = X0 )
    & ! [X1: term,X2: subst,X3: subst] :
        ( ( ( sub @ X1 @ ( comp @ X3 @ X2 ) )
          = ( sub @ ( sub @ X1 @ X3 ) @ X2 ) )
        = termmset ) ),
    inference(rectify,[],[f52]) ).

thf(f52,axiom,
    ( ! [X0: term] :
        ( ( sub @ X0 @ id )
        = X0 )
    & ! [X0: term,X3: subst,X2: subst] :
        ( ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
          = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) )
        = termmset ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',termmset) ).

thf(f364,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                    = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f163]) ).

thf(f163,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                    = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) ) ) ),
    inference(fool_elimination,[],[f162]) ).

thf(f162,plain,
    ( ! [X0: subst] :
        ( ( comp @ id @ X0 )
        = X0 )
    & ! [X1: subst,X2: subst,X3: subst] :
        ( ( comp @ ( comp @ X1 @ X3 ) @ X2 )
        = ( comp @ X1 @ ( comp @ X3 @ X2 ) ) )
    & ! [X4: subst] :
        ( ( ( comp @ X4 @ id )
          = X4 )
        = substmonoid ) ),
    inference(rectify,[],[f49]) ).

thf(f49,axiom,
    ( ! [X2: subst] :
        ( ( comp @ id @ X2 )
        = X2 )
    & ! [X2: subst,X4: subst,X3: subst] :
        ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
        = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) )
    & ! [X2: subst] :
        ( ( ( comp @ X2 @ id )
          = X2 )
        = substmonoid ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',substmonoid) ).

thf(f388,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f274]) ).

thf(f274,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f273]) ).

thf(f273,plain,
    ( induction2
    = ( ! [X0: term > $o] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X0 @ X1 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X0 @ X3 )
               => ( ( X0 @ X2 )
                 => ( X0 @ ( ap @ X3 @ X2 ) ) ) )
           => ( ! [X4: term] :
                  ( ! [X5: term] :
                      ( ( X0 @ X5 )
                     => ( X0 @ ( sub @ X4 @ ( push @ X5 @ id ) ) ) )
                 => ( X0 @ ( lam @ X4 ) ) )
             => ! [X6: term] : ( X0 @ X6 ) ) ) ) ) ),
    inference(rectify,[],[f46]) ).

thf(f46,axiom,
    ( induction2
    = ( ! [X5: term > $o] :
          ( ! [X0: term] :
              ( ( var @ X0 )
             => ( X5 @ X0 ) )
         => ( ! [X1: term,X0: term] :
                ( ( X5 @ X0 )
               => ( ( X5 @ X1 )
                 => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
           => ( ! [X0: term] :
                  ( ! [X1: term] :
                      ( ( X5 @ X1 )
                     => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
                 => ( X5 @ ( lam @ X0 ) ) )
             => ! [X0: term] : ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',induction2) ).

thf(f336,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y2 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f294]) ).

thf(f294,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y2 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f293]) ).

thf(f293,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term,X2: term] :
            ( ( X0 @ X1 )
           => ( ( X0 @ X2 )
             => ( X0 @ ( ap @ X1 @ X2 ) ) ) )
       => ( ! [X3: term] :
              ( ! [X4: term] :
                  ( ( X0 @ X4 )
                 => ( X0 @ ( sub @ X3 @ ( push @ X4 @ id ) ) ) )
             => ( X0 @ ( lam @ X3 ) ) )
         => ! [X5: subst,X6: term] :
              ( ! [X7: term] :
                  ( ( var @ X7 )
                 => ( X0 @ ( sub @ X7 @ X5 ) ) )
             => ( X0 @ ( sub @ X6 @ X5 ) ) ) ) )
      = induction2lem ),
    inference(rectify,[],[f43]) ).

thf(f43,axiom,
    ! [X5: term > $o] :
      ( ( ! [X0: term,X1: term] :
            ( ( X5 @ X0 )
           => ( ( X5 @ X1 )
             => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
       => ( ! [X0: term] :
              ( ! [X1: term] :
                  ( ( X5 @ X1 )
                 => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
             => ( X5 @ ( lam @ X0 ) ) )
         => ! [X2: subst,X0: term] :
              ( ! [X1: term] :
                  ( ( var @ X1 )
                 => ( X5 @ ( sub @ X1 @ X2 ) ) )
             => ( X5 @ ( sub @ X0 @ X2 ) ) ) ) )
      = induction2lem ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',induction2lem) ).

thf(f424,plain,
    ( pushprop
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                 => ( ( Y1 @ Y0 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f233]) ).

thf(f233,plain,
    ( pushprop
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                 => ( ( Y1 @ Y0 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f232]) ).

thf(f232,plain,
    ( pushprop
    = ( ! [X0: subst,X1: term > $o,X2: term] :
          ( ! [X3: term] :
              ( ( var @ X3 )
             => ( X1 @ ( sub @ X3 @ X0 ) ) )
         => ( ( X1 @ X2 )
           => ! [X4: term] :
                ( ( var @ X4 )
               => ( X1 @ ( sub @ X4 @ ( push @ X2 @ X0 ) ) ) ) ) ) ) ),
    inference(rectify,[],[f39]) ).

thf(f39,axiom,
    ( pushprop
    = ( ! [X2: subst,X5: term > $o,X0: term] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X5 @ ( sub @ X1 @ X2 ) ) )
         => ( ( X5 @ X0 )
           => ! [X1: term] :
                ( ( var @ X1 )
               => ( X5 @ ( sub @ X1 @ ( push @ X0 @ X2 ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',pushprop) ).

thf(f423,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f245]) ).

thf(f245,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f244]) ).

thf(f244,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term] :
            ( ( var @ X1 )
           => ( X0 @ X1 ) )
       => ( ! [X2: term,X3: term] :
              ( ( X0 @ X2 )
             => ( ( X0 @ X3 )
               => ( X0 @ ( ap @ X2 @ X3 ) ) ) )
         => ( ! [X4: term] :
                ( ( X0 @ X4 )
               => ( X0 @ ( lam @ X4 ) ) )
           => ! [X5: term] : ( X0 @ X5 ) ) ) )
      = induction ),
    inference(rectify,[],[f23]) ).

thf(f23,axiom,
    ! [X5: term > $o] :
      ( ( ! [X0: term] :
            ( ( var @ X0 )
           => ( X5 @ X0 ) )
       => ( ! [X0: term,X1: term] :
              ( ( X5 @ X0 )
             => ( ( X5 @ X1 )
               => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
         => ( ! [X0: term] :
                ( ( X5 @ X0 )
               => ( X5 @ ( lam @ X0 ) ) )
           => ! [X0: term] : ( X5 @ X0 ) ) ) )
      = induction ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',induction) ).

thf(f411,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(cnf_transformation,[],[f264]) ).

thf(f264,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(fool_elimination,[],[f263]) ).

thf(f263,plain,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    inference(rectify,[],[f22]) ).

thf(f22,axiom,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',lamnotvar) ).

thf(f332,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f141]) ).

thf(f141,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f140]) ).

thf(f140,plain,
    ( apnotvar
    = ( ! [X0: term,X1: term] :
          ~ ( var @ ( ap @ X0 @ X1 ) ) ) ),
    inference(rectify,[],[f21]) ).

thf(f21,axiom,
    ( apnotvar
    = ( ! [X0: term,X1: term] :
          ~ ( var @ ( ap @ X0 @ X1 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',apnotvar) ).

thf(f428,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( lam @ Y1 )
                 != ( ap @ Y2 @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f239]) ).

thf(f239,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( lam @ Y1 )
                 != ( ap @ Y2 @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f238]) ).

thf(f238,plain,
    ( lamnotap
    = ( ! [X0: term,X1: term,X2: term] :
          ( ( lam @ X1 )
         != ( ap @ X0 @ X2 ) ) ) ),
    inference(rectify,[],[f20]) ).

thf(f20,axiom,
    ( lamnotap
    = ( ! [X1: term,X0: term,X6: term] :
          ( ( lam @ X0 )
         != ( ap @ X1 @ X6 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',lamnotap) ).

thf(f331,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f133]) ).

thf(f133,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f19]) ).

thf(f19,axiom,
    ( shinj
    = ( ! [X0: term,X1: term] :
          ( ( ( sub @ X0 @ sh )
            = ( sub @ X1 @ sh ) )
         => ( X0 = X1 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',shinj) ).

thf(f341,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f119]) ).

thf(f119,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f18]) ).

thf(f18,axiom,
    ! [X0: term,X1: term] :
      ( ( ( ( lam @ X0 )
          = ( lam @ X1 ) )
       => ( X0 = X1 ) )
      = laminj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',laminj) ).

thf(f435,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y2 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f203]) ).

thf(f203,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y2 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y2 = Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f202]) ).

thf(f202,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( ap @ X0 @ X1 )
          = ( ap @ X2 @ X3 ) )
       => ( X1 = X3 ) )
      = apinj2 ),
    inference(rectify,[],[f17]) ).

thf(f17,axiom,
    ! [X1: term,X7: term,X0: term,X6: term] :
      ( ( ( ( ap @ X0 @ X6 )
          = ( ap @ X1 @ X7 ) )
       => ( X6 = X7 ) )
      = apinj2 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',apinj2) ).

thf(f362,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y2 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f296]) ).

thf(f296,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y2 )
                        = ( ap @ Y1 @ Y0 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f295]) ).

thf(f295,plain,
    ( apinj1
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( ap @ X0 @ X1 )
            = ( ap @ X2 @ X3 ) )
         => ( X0 = X2 ) ) ) ),
    inference(rectify,[],[f16]) ).

thf(f16,axiom,
    ( apinj1
    = ( ! [X0: term,X6: term,X1: term,X7: term] :
          ( ( ( ap @ X0 @ X6 )
            = ( ap @ X1 @ X7 ) )
         => ( X0 = X1 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',apinj1) ).

thf(f433,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f322]) ).

thf(f322,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f321]) ).

thf(f321,plain,
    ! [X0: term > $o] :
      ( ( ( X0 @ one )
       => ( ! [X1: term] :
              ( ( var @ X1 )
             => ( ( X0 @ X1 )
               => ( X0 @ ( sub @ X1 @ sh ) ) ) )
         => ! [X2: term] :
              ( ( var @ X2 )
             => ( X0 @ X2 ) ) ) )
      = ulamvarind ),
    inference(rectify,[],[f15]) ).

thf(f15,axiom,
    ! [X5: term > $o] :
      ( ( ( X5 @ one )
       => ( ! [X0: term] :
              ( ( var @ X0 )
             => ( ( X5 @ X0 )
               => ( X5 @ ( sub @ X0 @ sh ) ) ) )
         => ! [X0: term] :
              ( ( var @ X0 )
             => ( X5 @ X0 ) ) ) )
      = ulamvarind ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',ulamvarind) ).

thf(f391,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(cnf_transformation,[],[f223]) ).

thf(f223,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(fool_elimination,[],[f222]) ).

thf(f222,plain,
    ( ulamvarsh
    = ( ! [X0: term] :
          ( ( var @ X0 )
         => ( var @ ( sub @ X0 @ sh ) ) ) ) ),
    inference(rectify,[],[f14]) ).

thf(f14,axiom,
    ( ulamvarsh
    = ( ! [X0: term] :
          ( ( var @ X0 )
         => ( var @ ( sub @ X0 @ sh ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',ulamvarsh) ).

thf(f330,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(cnf_transformation,[],[f13]) ).

thf(f13,axiom,
    ( ulamvar1
    = ( var @ one ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',ulamvar1) ).

thf(f407,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f292]) ).

thf(f292,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f291]) ).

thf(f291,plain,
    ( axscons
    = ( ! [X0: subst] :
          ( ( push @ ( sub @ one @ X0 ) @ ( comp @ sh @ X0 ) )
          = X0 ) ) ),
    inference(rectify,[],[f12]) ).

thf(f12,axiom,
    ( axscons
    = ( ! [X2: subst] :
          ( ( push @ ( sub @ one @ X2 ) @ ( comp @ sh @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axscons) ).

thf(f355,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(cnf_transformation,[],[f256]) ).

thf(f256,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(fool_elimination,[],[f11]) ).

thf(f11,axiom,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axvarshift) ).

thf(f429,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f227]) ).

thf(f227,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f226]) ).

thf(f226,plain,
    ( axidr
    = ( ! [X0: subst] :
          ( ( comp @ X0 @ id )
          = X0 ) ) ),
    inference(rectify,[],[f10]) ).

thf(f10,axiom,
    ( axidr
    = ( ! [X2: subst] :
          ( ( comp @ X2 @ id )
          = X2 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axidr) ).

thf(f436,plain,
    ( axmap
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                  = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f169]) ).

thf(f169,plain,
    ( axmap
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) )
                  = ( comp @ ( push @ Y1 @ Y2 ) @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f168]) ).

thf(f168,plain,
    ! [X0: subst,X1: term,X2: subst] :
      ( ( ( push @ ( sub @ X1 @ X2 ) @ ( comp @ X0 @ X2 ) )
        = ( comp @ ( push @ X1 @ X0 ) @ X2 ) )
      = axmap ),
    inference(rectify,[],[f9]) ).

thf(f9,axiom,
    ! [X2: subst,X0: term,X3: subst] :
      ( ( ( comp @ ( push @ X0 @ X2 ) @ X3 )
        = ( push @ ( sub @ X0 @ X3 ) @ ( comp @ X2 @ X3 ) ) )
      = axmap ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axmap) ).

thf(f361,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                  = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f312]) ).

thf(f312,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y1 @ ( comp @ Y0 @ Y2 ) )
                  = ( comp @ ( comp @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) ),
    inference(fool_elimination,[],[f311]) ).

thf(f311,plain,
    ! [X0: subst,X1: subst,X2: subst] :
      ( ( ( comp @ X1 @ ( comp @ X2 @ X0 ) )
        = ( comp @ ( comp @ X1 @ X2 ) @ X0 ) )
      = axassoc ),
    inference(rectify,[],[f8]) ).

thf(f8,axiom,
    ! [X4: subst,X2: subst,X3: subst] :
      ( ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
        = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) )
      = axassoc ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axassoc) ).

thf(f383,plain,
    ( axshiftcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
              = Y1 ) ) ) ),
    inference(cnf_transformation,[],[f191]) ).

thf(f191,plain,
    ( axshiftcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
              = Y1 ) ) ) ),
    inference(fool_elimination,[],[f190]) ).

thf(f190,plain,
    ( axshiftcons
    = ( ! [X0: subst,X1: term] :
          ( ( comp @ sh @ ( push @ X1 @ X0 ) )
          = X0 ) ) ),
    inference(rectify,[],[f7]) ).

thf(f7,axiom,
    ( axshiftcons
    = ( ! [X2: subst,X0: term] :
          ( ( comp @ sh @ ( push @ X0 @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axshiftcons) ).

thf(f367,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f243]) ).

thf(f243,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f242]) ).

thf(f242,plain,
    ( axidl
    = ( ! [X0: subst] :
          ( ( comp @ id @ X0 )
          = X0 ) ) ),
    inference(rectify,[],[f6]) ).

thf(f6,axiom,
    ( axidl
    = ( ! [X2: subst] :
          ( ( comp @ id @ X2 )
          = X2 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axidl) ).

thf(f374,plain,
    ( axclos
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                  = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f157]) ).

thf(f157,plain,
    ( axclos
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                  = ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f156]) ).

thf(f156,plain,
    ( axclos
    = ( ! [X0: term,X1: subst,X2: subst] :
          ( ( sub @ X0 @ ( comp @ X1 @ X2 ) )
          = ( sub @ ( sub @ X0 @ X1 ) @ X2 ) ) ) ),
    inference(rectify,[],[f5]) ).

thf(f5,axiom,
    ( axclos
    = ( ! [X0: term,X2: subst,X3: subst] :
          ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
          = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axclos) ).

thf(f401,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f270]) ).

thf(f270,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f269]) ).

thf(f269,plain,
    ( axabs
    = ( ! [X0: term,X1: subst] :
          ( ( sub @ ( lam @ X0 ) @ X1 )
          = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X1 @ sh ) ) ) ) ) ) ),
    inference(rectify,[],[f4]) ).

thf(f4,axiom,
    ( axabs
    = ( ! [X0: term,X2: subst] :
          ( ( sub @ ( lam @ X0 ) @ X2 )
          = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X2 @ sh ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axabs) ).

thf(f386,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f120]) ).

thf(f120,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f3]) ).

thf(f3,axiom,
    ! [X0: term] :
      ( ( ( sub @ X0 @ id )
        = X0 )
      = axvarid ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axvarid) ).

thf(f381,plain,
    ( axvarcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
              = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f179]) ).

thf(f179,plain,
    ( axvarcons
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
              = Y0 ) ) ) ),
    inference(fool_elimination,[],[f178]) ).

thf(f178,plain,
    ( axvarcons
    = ( ! [X0: subst,X1: term] :
          ( ( sub @ one @ ( push @ X1 @ X0 ) )
          = X1 ) ) ),
    inference(rectify,[],[f2]) ).

thf(f2,axiom,
    ( axvarcons
    = ( ! [X2: subst,X0: term] :
          ( ( sub @ one @ ( push @ X0 @ X2 ) )
          = X0 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axvarcons) ).

thf(f442,plain,
    ( axapp
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                  = ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f185]) ).

thf(f185,plain,
    ( axapp
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                  = ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(fool_elimination,[],[f184]) ).

thf(f184,plain,
    ( axapp
    = ( ! [X0: term,X1: subst,X2: term] :
          ( ( ap @ ( sub @ X2 @ X1 ) @ ( sub @ X0 @ X1 ) )
          = ( sub @ ( ap @ X2 @ X0 ) @ X1 ) ) ) ),
    inference(rectify,[],[f1]) ).

thf(f1,axiom,
    ( axapp
    = ( ! [X1: term,X2: subst,X0: term] :
          ( ( sub @ ( ap @ X0 @ X1 ) @ X2 )
          = ( ap @ ( sub @ X0 @ X2 ) @ ( sub @ X1 @ X2 ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axapp) ).

thf(f408,plain,
    ( hoasapnotvar_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f161]) ).

thf(f161,plain,
    ( hoasapnotvar_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f160]) ).

thf(f160,plain,
    ( ( hoasapnotvar_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(rectify,[],[f74]) ).

thf(f74,axiom,
    ( ( hoasapnotvar_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasapnotvar_gthm) ).

thf(f427,plain,
    hoasapnotvar_gthm != $true,
    inference(cnf_transformation,[],[f329]) ).

thf(f329,plain,
    hoasapnotvar_gthm != $true,
    inference(flattening,[],[f145]) ).

thf(f145,plain,
    hoasapnotvar_gthm != $true,
    inference(fool_elimination,[],[f144]) ).

thf(f144,plain,
    ~ hoasapnotvar_gthm,
    inference(rectify,[],[f115]) ).

thf(f115,negated_conjecture,
    ~ hoasapnotvar_gthm,
    inference(negated_conjecture,[],[f114]) ).

thf(f114,conjecture,
    hoasapnotvar_gthm,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',thm) ).

thf(f1014,plain,
    ( ( var @ ( ap @ sK39 @ sK40 ) )
    = $true ),
    inference(forward_demodulation,[],[f1008,f915]) ).

thf(f915,plain,
    ! [X1: term] :
      ( ( sub @ X1 @ id )
      = X1 ),
    inference(equality_proxy_clausification,[],[f914]) ).

thf(f914,plain,
    ! [X1: term] :
      ( $true
      = ( ( sub @ X1 @ id )
        = X1 ) ),
    inference(beta_eta_normalization,[],[f913]) ).

thf(f913,plain,
    ! [X1: term] :
      ( $true
      = ( ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 )
        @ X1 ) ),
    inference(pi_clausification,[],[f904]) ).

thf(f904,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(binary_proxy_clausification,[],[f903]) ).

thf(f903,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                    = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
      & ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f883]) ).

thf(f883,plain,
    ( ( ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                      = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
        & ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                            = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                         => ( Y3 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                           => ( Y3 = Y0 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                      = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                       => ( ( ( lam @ ( Y0 @ sh @ one ) )
                            = ( lam @ ( Y1 @ sh @ one ) ) )
                         => ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y1 @ Y3 @ Y2 )
                                    = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                  = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f821]) ).

thf(f821,plain,
    ( ( ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
        & ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                      = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
        & ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) ) )
     => ( ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                        = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
          & ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                              = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                           => ( Y3 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                             => ( Y3 = Y0 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                  = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                        = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                         => ( ( ( lam @ ( Y0 @ sh @ one ) )
                              = ( lam @ ( Y1 @ sh @ one ) ) )
                           => ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y1 @ Y3 @ Y2 )
                                      = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                    = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f756]) ).

thf(f756,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
          & ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                        = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
          & ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) ) )
       => ( ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                          = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
            & ( !! @ term
              @ ^ [Y0: term] :
                  ( ( sub @ Y0 @ id )
                  = Y0 ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                             => ( Y3 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                               => ( Y3 = Y0 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                    = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                          = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                           => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                = ( lam @ ( Y1 @ sh @ one ) ) )
                             => ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y1 @ Y3 @ Y2 )
                                        = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                      = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f735]) ).

thf(f735,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
            & ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                          = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
            & ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) ) )
         => ( ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                            = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
              & ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                  = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                               => ( Y3 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                 => ( Y3 = Y0 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                      = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                            = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                             => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                  = ( lam @ ( Y1 @ sh @ one ) ) )
                               => ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y1 @ Y3 @ Y2 )
                                          = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                        = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f691]) ).

thf(f691,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ ( term > $o )
            @ ^ [Y1: term > $o] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                   => ( ( Y1 @ Y0 )
                     => ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
              & ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                            = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
              & ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) ) )
           => ( ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                              = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                & ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( sub @ Y0 @ id )
                      = Y0 ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                    = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                 => ( Y3 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                   => ( Y3 = Y0 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                        = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                              = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                    = ( lam @ ( Y1 @ sh @ one ) ) )
                                 => ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y1 @ Y3 @ Y2 )
                                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f686]) ).

thf(f686,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ ( term > $o )
              @ ^ [Y1: term > $o] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( ( Y1 @ Y0 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
                & ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                              = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                & ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) ) )
             => ( ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                  & ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( sub @ Y0 @ id )
                        = Y0 ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                      = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                   => ( Y3 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                     => ( Y3 = Y0 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                          = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                      = ( lam @ ( Y1 @ sh @ one ) ) )
                                   => ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y1 @ Y3 @ Y2 )
                                              = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f679]) ).

thf(f679,plain,
    ( $false
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ~ ( var @ ( lam @ Y0 ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ ( term > $o )
                @ ^ [Y1: term > $o] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y1 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( ( Y1 @ Y0 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y1 @ ( sub @ Y3 @ ( push @ Y0 @ Y2 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                  & ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y2 @ Y0 ) @ Y1 )
                                = ( comp @ Y2 @ ( comp @ Y0 @ Y1 ) ) ) ) ) )
                  & ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ id @ Y0 )
                        = Y0 ) ) )
               => ( ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ Y2 @ ( comp @ Y0 @ Y1 ) )
                                  = ( sub @ ( sub @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
                    & ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( sub @ Y0 @ id )
                          = Y0 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                                        = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                                     => ( Y3 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                       => ( Y3 = Y0 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                            = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                                  = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                                        = ( lam @ ( Y1 @ sh @ one ) ) )
                                     => ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y1 @ Y3 @ Y2 )
                                                = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f669]) ).

thf(f1008,plain,
    ( ( var @ ( ap @ ( sub @ sK39 @ id ) @ sK40 ) )
    = $true ),
    inference(backward_demodulation,[],[f1006,f915]) ).

thf(f1006,plain,
    ( $true
    = ( var @ ( sub @ ( ap @ ( sub @ sK39 @ id ) @ sK40 ) @ id ) ) ),
    inference(not_proxy_clausification,[],[f1005]) ).

thf(f1005,plain,
    ( ( ~ ( var @ ( sub @ ( ap @ ( sub @ sK39 @ id ) @ sK40 ) @ id ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f1004]) ).

thf(f1004,plain,
    ( ( ^ [Y0: term] :
          ~ ( var @ ( sub @ ( ap @ ( sub @ sK39 @ id ) @ Y0 ) @ id ) )
      @ sK40 )
    = $false ),
    inference(sigma_clausification,[],[f1003]) ).

thf(f1003,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( sub @ ( ap @ ( sub @ sK39 @ id ) @ Y0 ) @ id ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f1002]) ).

thf(f1002,plain,
    ( ( ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) )
      @ sK39 )
    = $false ),
    inference(sigma_clausification,[],[f989]) ).

thf(f989,plain,
    ( $false
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f971]) ).

thf(f971,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f942]) ).

thf(f942,plain,
    ( $false
    = ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                          = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f929]) ).

thf(f929,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
           => ( !! @ ( subst > term > term )
              @ ^ [Y1: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                 => ( ( ( lam @ ( Y0 @ sh @ one ) )
                      = ( lam @ ( Y1 @ sh @ one ) ) )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y1 @ Y3 @ Y2 )
                              = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                            = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f916]) ).

thf(f916,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                       => ( Y3 = Y0 ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                  = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                   => ( ( ( lam @ ( Y0 @ sh @ one ) )
                        = ( lam @ ( Y1 @ sh @ one ) ) )
                     => ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y1 @ Y3 @ Y2 )
                                = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                              = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f902]) ).

thf(f902,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                          = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                       => ( Y3 = Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                         => ( Y3 = Y0 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                              = ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y1 @ ( comp @ Y4 @ Y3 ) @ ( sub @ Y2 @ Y3 ) )
                                    = ( sub @ ( Y1 @ Y4 @ Y2 ) @ Y3 ) ) ) ) )
                     => ( ( ( lam @ ( Y0 @ sh @ one ) )
                          = ( lam @ ( Y1 @ sh @ one ) ) )
                       => ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y1 @ Y3 @ Y2 )
                                  = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( sub @ ( Y0 @ Y2 @ Y3 ) @ Y1 )
                                = ( Y0 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y3 @ Y1 ) ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f883]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13  % Problem    : ALG261^1 : TPTP v8.2.0. Bugfixed v5.2.0.
% 0.12/0.15  % Command    : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox2/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s
% 0.15/0.38  % Computer : n015.cluster.edu
% 0.15/0.38  % Model    : x86_64 x86_64
% 0.15/0.38  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.38  % Memory   : 8042.1875MB
% 0.15/0.38  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.38  % CPULimit   : 300
% 0.15/0.38  % WCLimit    : 300
% 0.15/0.38  % DateTime   : Sat May 18 22:59:23 EDT 2024
% 0.15/0.39  % CPUTime    : 
% 0.15/0.39  This is a TH0_THM_EQU_NAR problem
% 0.15/0.39  Running vampire_ho --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_hol --cores 8 -m 12000 -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.25/0.42  % (4700)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on theBenchmark for (2999ds/2Mi)
% 0.25/0.42  % (4704)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.25/0.42  % (4698)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on theBenchmark for (2999ds/4Mi)
% 0.25/0.42  % (4701)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on theBenchmark for (2999ds/2Mi)
% 0.25/0.42  % (4702)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on theBenchmark for (2999ds/275Mi)
% 0.25/0.42  % (4697)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on theBenchmark for (2999ds/183Mi)
% 0.25/0.42  % (4703)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on theBenchmark for (2999ds/18Mi)
% 0.25/0.42  % (4699)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on theBenchmark for (2999ds/27Mi)
% 0.25/0.42  % (4700)Instruction limit reached!
% 0.25/0.42  % (4700)------------------------------
% 0.25/0.42  % (4700)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.42  % (4700)Termination reason: Unknown
% 0.25/0.42  % (4701)Instruction limit reached!
% 0.25/0.42  % (4701)------------------------------
% 0.25/0.42  % (4701)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.42  % (4701)Termination reason: Unknown
% 0.25/0.42  % (4701)Termination phase: shuffling
% 0.25/0.42  
% 0.25/0.42  % (4701)Memory used [KB]: 1279
% 0.25/0.42  % (4701)Time elapsed: 0.003 s
% 0.25/0.42  % (4701)Instructions burned: 2 (million)
% 0.25/0.42  % (4701)------------------------------
% 0.25/0.42  % (4701)------------------------------
% 0.25/0.42  % (4700)Termination phase: shuffling
% 0.25/0.42  
% 0.25/0.42  % (4700)Memory used [KB]: 1151
% 0.25/0.42  % (4700)Time elapsed: 0.003 s
% 0.25/0.42  % (4700)Instructions burned: 2 (million)
% 0.25/0.42  % (4700)------------------------------
% 0.25/0.42  % (4700)------------------------------
% 0.25/0.42  % (4704)Instruction limit reached!
% 0.25/0.42  % (4704)------------------------------
% 0.25/0.42  % (4704)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.42  % (4704)Termination reason: Unknown
% 0.25/0.42  % (4704)Termination phase: shuffling
% 0.25/0.42  
% 0.25/0.42  % (4704)Memory used [KB]: 1279
% 0.25/0.42  % (4704)Time elapsed: 0.004 s
% 0.25/0.42  % (4704)Instructions burned: 3 (million)
% 0.25/0.42  % (4704)------------------------------
% 0.25/0.42  % (4704)------------------------------
% 0.25/0.43  % (4698)Instruction limit reached!
% 0.25/0.43  % (4698)------------------------------
% 0.25/0.43  % (4698)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.43  % (4698)Termination reason: Unknown
% 0.25/0.43  % (4698)Termination phase: shuffling
% 0.25/0.43  
% 0.25/0.43  % (4698)Memory used [KB]: 1279
% 0.25/0.43  % (4698)Time elapsed: 0.005 s
% 0.25/0.43  % (4698)Instructions burned: 5 (million)
% 0.25/0.43  % (4698)------------------------------
% 0.25/0.43  % (4698)------------------------------
% 0.25/0.43  % (4703)Instruction limit reached!
% 0.25/0.43  % (4703)------------------------------
% 0.25/0.43  % (4703)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.43  % (4703)Termination reason: Unknown
% 0.25/0.43  % (4703)Termination phase: Property scanning
% 0.25/0.43  
% 0.25/0.43  % (4703)Memory used [KB]: 1663
% 0.25/0.43  % (4703)Time elapsed: 0.013 s
% 0.25/0.43  % (4703)Instructions burned: 19 (million)
% 0.25/0.43  % (4703)------------------------------
% 0.25/0.43  % (4703)------------------------------
% 0.25/0.44  % (4699)Instruction limit reached!
% 0.25/0.44  % (4699)------------------------------
% 0.25/0.44  % (4699)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.44  % (4699)Termination reason: Unknown
% 0.25/0.44  % (4699)Termination phase: Property scanning
% 0.25/0.44  
% 0.25/0.44  % (4699)Memory used [KB]: 1791
% 0.25/0.44  % (4699)Time elapsed: 0.017 s
% 0.25/0.44  % (4699)Instructions burned: 27 (million)
% 0.25/0.44  % (4699)------------------------------
% 0.25/0.44  % (4699)------------------------------
% 0.25/0.44  % (4707)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.25/0.44  % (4705)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on theBenchmark for (2999ds/37Mi)
% 0.25/0.44  % (4706)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on theBenchmark for (2999ds/15Mi)
% 0.25/0.44  % (4702)Refutation not found, incomplete strategy
% 0.25/0.44  % (4702)------------------------------
% 0.25/0.44  % (4702)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.44  % (4702)Termination reason: Refutation not found, incomplete strategy
% 0.25/0.44  
% 0.25/0.44  
% 0.25/0.44  % (4702)Memory used [KB]: 6140
% 0.25/0.44  % (4702)Time elapsed: 0.019 s
% 0.25/0.44  % (4702)Instructions burned: 28 (million)
% 0.25/0.44  % (4702)------------------------------
% 0.25/0.44  % (4702)------------------------------
% 0.25/0.44  % (4707)Instruction limit reached!
% 0.25/0.44  % (4707)------------------------------
% 0.25/0.44  % (4707)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.44  % (4707)Termination reason: Unknown
% 0.25/0.44  % (4707)Termination phase: shuffling
% 0.25/0.44  
% 0.25/0.44  % (4707)Memory used [KB]: 1279
% 0.25/0.44  % (4707)Time elapsed: 0.004 s
% 0.25/0.44  % (4707)Instructions burned: 3 (million)
% 0.25/0.44  % (4707)------------------------------
% 0.25/0.44  % (4707)------------------------------
% 0.25/0.44  % (4708)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on theBenchmark for (2999ds/1041Mi)
% 0.25/0.45  % (4706)Instruction limit reached!
% 0.25/0.45  % (4706)------------------------------
% 0.25/0.45  % (4706)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.45  % (4706)Termination reason: Unknown
% 0.25/0.45  % (4706)Termination phase: Property scanning
% 0.25/0.45  
% 0.25/0.45  % (4706)Memory used [KB]: 1663
% 0.25/0.45  % (4706)Time elapsed: 0.011 s
% 0.25/0.45  % (4706)Instructions burned: 16 (million)
% 0.25/0.45  % (4706)------------------------------
% 0.25/0.45  % (4706)------------------------------
% 0.25/0.45  % (4709)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on theBenchmark for (2999ds/7Mi)
% 0.25/0.45  % (4710)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on theBenchmark for (2999ds/16Mi)
% 0.25/0.45  % (4709)Instruction limit reached!
% 0.25/0.45  % (4709)------------------------------
% 0.25/0.45  % (4709)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.45  % (4709)Termination reason: Unknown
% 0.25/0.45  % (4709)Termination phase: shuffling
% 0.25/0.45  
% 0.25/0.45  % (4709)Memory used [KB]: 1407
% 0.25/0.45  % (4709)Time elapsed: 0.006 s
% 0.25/0.45  % (4709)Instructions burned: 7 (million)
% 0.25/0.45  % (4709)------------------------------
% 0.25/0.45  % (4709)------------------------------
% 0.25/0.46  % (4711)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.25/0.46  % (4712)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.25/0.46  % (4705)Instruction limit reached!
% 0.25/0.46  % (4705)------------------------------
% 0.25/0.46  % (4705)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.46  % (4705)Termination reason: Unknown
% 0.25/0.46  % (4705)Termination phase: Property scanning
% 0.25/0.46  
% 0.25/0.46  % (4705)Memory used [KB]: 1791
% 0.25/0.46  % (4705)Time elapsed: 0.021 s
% 0.25/0.46  % (4705)Instructions burned: 37 (million)
% 0.25/0.46  % (4705)------------------------------
% 0.25/0.46  % (4705)------------------------------
% 0.25/0.46  % (4711)Instruction limit reached!
% 0.25/0.46  % (4711)------------------------------
% 0.25/0.46  % (4711)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.46  % (4711)Termination reason: Unknown
% 0.25/0.46  % (4711)Termination phase: shuffling
% 0.25/0.46  
% 0.25/0.46  % (4711)Memory used [KB]: 1279
% 0.25/0.46  % (4711)Time elapsed: 0.004 s
% 0.25/0.46  % (4711)Instructions burned: 4 (million)
% 0.25/0.46  % (4711)------------------------------
% 0.25/0.46  % (4711)------------------------------
% 0.25/0.46  % (4712)Instruction limit reached!
% 0.25/0.46  % (4712)------------------------------
% 0.25/0.46  % (4712)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.46  % (4712)Termination reason: Unknown
% 0.25/0.46  % (4712)Termination phase: shuffling
% 0.25/0.46  
% 0.25/0.46  % (4712)Memory used [KB]: 1279
% 0.25/0.46  % (4712)Time elapsed: 0.004 s
% 0.25/0.46  % (4712)Instructions burned: 4 (million)
% 0.25/0.46  % (4712)------------------------------
% 0.25/0.46  % (4712)------------------------------
% 0.25/0.46  % (4710)Instruction limit reached!
% 0.25/0.46  % (4710)------------------------------
% 0.25/0.46  % (4710)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.46  % (4710)Termination reason: Unknown
% 0.25/0.46  % (4710)Termination phase: shuffling
% 0.25/0.46  
% 0.25/0.46  % (4710)Memory used [KB]: 1535
% 0.25/0.46  % (4710)Time elapsed: 0.011 s
% 0.25/0.46  % (4710)Instructions burned: 16 (million)
% 0.25/0.46  % (4710)------------------------------
% 0.25/0.46  % (4710)------------------------------
% 0.25/0.47  % (4713)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on theBenchmark for (2999ds/7Mi)
% 0.25/0.47  % (4713)Instruction limit reached!
% 0.25/0.47  % (4713)------------------------------
% 0.25/0.47  % (4713)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.47  % (4713)Termination reason: Unknown
% 0.25/0.47  % (4713)Termination phase: shuffling
% 0.25/0.47  
% 0.25/0.47  % (4713)Memory used [KB]: 1407
% 0.25/0.47  % (4713)Time elapsed: 0.006 s
% 0.25/0.47  % (4713)Instructions burned: 7 (million)
% 0.25/0.47  % (4713)------------------------------
% 0.25/0.47  % (4713)------------------------------
% 0.25/0.47  % (4714)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.25/0.47  % (4714)Instruction limit reached!
% 0.25/0.47  % (4714)------------------------------
% 0.25/0.47  % (4714)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.47  % (4714)Termination reason: Unknown
% 0.25/0.47  % (4714)Termination phase: shuffling
% 0.25/0.47  
% 0.25/0.47  % (4714)Memory used [KB]: 1279
% 0.25/0.47  % (4714)Time elapsed: 0.004 s
% 0.25/0.47  % (4714)Instructions burned: 4 (million)
% 0.25/0.47  % (4714)------------------------------
% 0.25/0.47  % (4714)------------------------------
% 0.25/0.48  % (4716)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on theBenchmark for (2999ds/18Mi)
% 0.25/0.48  % (4715)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on theBenchmark for (2999ds/4Mi)
% 0.25/0.48  % (4715)Instruction limit reached!
% 0.25/0.48  % (4715)------------------------------
% 0.25/0.48  % (4715)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.48  % (4715)Termination reason: Unknown
% 0.25/0.48  % (4715)Termination phase: shuffling
% 0.25/0.48  
% 0.25/0.48  % (4715)Memory used [KB]: 1279
% 0.25/0.48  % (4715)Time elapsed: 0.005 s
% 0.25/0.48  % (4715)Instructions burned: 5 (million)
% 0.25/0.48  % (4715)------------------------------
% 0.25/0.48  % (4715)------------------------------
% 0.25/0.48  % (4717)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on theBenchmark for (2999ds/710Mi)
% 0.25/0.48  % (4718)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on theBenchmark for (2999ds/6Mi)
% 0.25/0.48  % (4718)Instruction limit reached!
% 0.25/0.48  % (4718)------------------------------
% 0.25/0.48  % (4718)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.48  % (4718)Termination reason: Unknown
% 0.25/0.48  % (4718)Termination phase: shuffling
% 0.25/0.48  
% 0.25/0.48  % (4718)Memory used [KB]: 1279
% 0.25/0.48  % (4718)Time elapsed: 0.006 s
% 0.25/0.48  % (4718)Instructions burned: 6 (million)
% 0.25/0.48  % (4718)------------------------------
% 0.25/0.48  % (4718)------------------------------
% 0.25/0.49  % (4716)Instruction limit reached!
% 0.25/0.49  % (4716)------------------------------
% 0.25/0.49  % (4716)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.49  % (4716)Termination reason: Unknown
% 0.25/0.49  % (4716)Termination phase: shuffling
% 0.25/0.49  
% 0.25/0.49  % (4716)Memory used [KB]: 1663
% 0.25/0.49  % (4716)Time elapsed: 0.012 s
% 0.25/0.49  % (4716)Instructions burned: 19 (million)
% 0.25/0.49  % (4716)------------------------------
% 0.25/0.49  % (4716)------------------------------
% 0.25/0.49  % (4719)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on theBenchmark for (2999ds/902Mi)
% 0.25/0.49  % (4720)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on theBenchmark for (2999ds/21Mi)
% 0.25/0.50  % (4721)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on theBenchmark for (2999ds/5Mi)
% 0.25/0.50  % (4717)Refutation not found, incomplete strategy
% 0.25/0.50  % (4717)------------------------------
% 0.25/0.50  % (4717)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.50  % (4717)Termination reason: Refutation not found, incomplete strategy
% 0.25/0.50  
% 0.25/0.50  
% 0.25/0.50  % (4717)Memory used [KB]: 6268
% 0.25/0.50  % (4717)Time elapsed: 0.021 s
% 0.25/0.50  % (4717)Instructions burned: 28 (million)
% 0.25/0.50  % (4717)------------------------------
% 0.25/0.50  % (4717)------------------------------
% 0.25/0.50  % (4721)Instruction limit reached!
% 0.25/0.50  % (4721)------------------------------
% 0.25/0.50  % (4721)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.50  % (4721)Termination reason: Unknown
% 0.25/0.50  % (4721)Termination phase: shuffling
% 0.25/0.50  
% 0.25/0.50  % (4721)Memory used [KB]: 1279
% 0.25/0.50  % (4721)Time elapsed: 0.005 s
% 0.25/0.50  % (4721)Instructions burned: 6 (million)
% 0.25/0.50  % (4721)------------------------------
% 0.25/0.50  % (4721)------------------------------
% 0.25/0.50  % (4720)Instruction limit reached!
% 0.25/0.50  % (4720)------------------------------
% 0.25/0.50  % (4720)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.50  % (4720)Termination reason: Unknown
% 0.25/0.50  % (4720)Termination phase: shuffling
% 0.25/0.50  
% 0.25/0.50  % (4720)Memory used [KB]: 1663
% 0.25/0.50  % (4720)Time elapsed: 0.014 s
% 0.25/0.50  % (4720)Instructions burned: 22 (million)
% 0.25/0.50  % (4723)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=377:si=on:rtra=on_0 on theBenchmark for (2999ds/377Mi)
% 0.25/0.50  % (4722)lrs+2_1:1_cnfonf=lazy_not_gen_be_off:cs=on:fe=off:hud=10:inj=on:ins=3:plsq=on:plsqc=1:sd=10:ss=axioms:tnu=1:i=6:si=on:rtra=on_0 on theBenchmark for (2999ds/6Mi)
% 0.25/0.50  % (4720)------------------------------
% 0.25/0.50  % (4720)------------------------------
% 0.25/0.51  % (4722)Instruction limit reached!
% 0.25/0.51  % (4722)------------------------------
% 0.25/0.51  % (4722)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.51  % (4722)Termination reason: Unknown
% 0.25/0.51  % (4722)Termination phase: shuffling
% 0.25/0.51  
% 0.25/0.51  % (4722)Memory used [KB]: 1407
% 0.25/0.51  % (4722)Time elapsed: 0.006 s
% 0.25/0.51  % (4722)Instructions burned: 7 (million)
% 0.25/0.51  % (4722)------------------------------
% 0.25/0.51  % (4722)------------------------------
% 0.25/0.52  % (4724)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=779:si=on:rtra=on_0 on theBenchmark for (2999ds/779Mi)
% 0.25/0.52  % (4697)Instruction limit reached!
% 0.25/0.52  % (4697)------------------------------
% 0.25/0.52  % (4697)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.52  % (4697)Termination reason: Unknown
% 0.25/0.52  % (4697)Termination phase: Saturation
% 0.25/0.52  
% 0.25/0.52  % (4697)Memory used [KB]: 6780
% 0.25/0.52  % (4697)Time elapsed: 0.096 s
% 0.25/0.52  % (4697)Instructions burned: 183 (million)
% 0.25/0.52  % (4697)------------------------------
% 0.25/0.52  % (4697)------------------------------
% 0.25/0.52  % (4725)lrs+10_1:1_cnfonf=lazy_not_be_gen:ntd=on:sp=const_min:ss=axioms:sup=off:i=19:si=on:rtra=on_0 on theBenchmark for (2998ds/19Mi)
% 0.25/0.52  % (4726)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on theBenchmark for (2998ds/879Mi)
% 0.25/0.52  % (4727)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on theBenchmark for (2998ds/17Mi)
% 0.25/0.53  % (4725)Instruction limit reached!
% 0.25/0.53  % (4725)------------------------------
% 0.25/0.53  % (4725)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.53  % (4725)Termination reason: Unknown
% 0.25/0.53  % (4725)Termination phase: shuffling
% 0.25/0.53  
% 0.25/0.53  % (4725)Memory used [KB]: 1663
% 0.25/0.53  % (4725)Time elapsed: 0.012 s
% 0.25/0.53  % (4725)Instructions burned: 19 (million)
% 0.25/0.53  % (4725)------------------------------
% 0.25/0.53  % (4725)------------------------------
% 0.25/0.53  % (4727)Instruction limit reached!
% 0.25/0.53  % (4727)------------------------------
% 0.25/0.53  % (4727)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.53  % (4727)Termination reason: Unknown
% 0.25/0.53  % (4727)Termination phase: shuffling
% 0.25/0.53  
% 0.25/0.53  % (4727)Memory used [KB]: 1535
% 0.25/0.53  % (4727)Time elapsed: 0.012 s
% 0.25/0.53  % (4727)Instructions burned: 18 (million)
% 0.25/0.53  % (4727)------------------------------
% 0.25/0.53  % (4727)------------------------------
% 0.25/0.53  % (4728)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on theBenchmark for (2998ds/3Mi)
% 0.25/0.54  % (4728)Instruction limit reached!
% 0.25/0.54  % (4728)------------------------------
% 0.25/0.54  % (4728)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.54  % (4728)Termination reason: Unknown
% 0.25/0.54  % (4728)Termination phase: shuffling
% 0.25/0.54  
% 0.25/0.54  % (4728)Memory used [KB]: 1279
% 0.25/0.54  % (4728)Time elapsed: 0.004 s
% 0.25/0.54  % (4728)Instructions burned: 3 (million)
% 0.25/0.54  % (4728)------------------------------
% 0.25/0.54  % (4728)------------------------------
% 0.25/0.54  % (4729)lrs+1010_1:8_cnfonf=off:hud=1:inj=on:tnu=5:i=30:si=on:rtra=on_0 on theBenchmark for (2998ds/30Mi)
% 0.25/0.55  % (4726)Refutation not found, incomplete strategy
% 0.25/0.55  % (4726)------------------------------
% 0.25/0.55  % (4726)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.55  % (4726)Termination reason: Refutation not found, incomplete strategy
% 0.25/0.55  
% 0.25/0.55  
% 0.25/0.55  % (4726)Memory used [KB]: 6268
% 0.25/0.55  % (4726)Time elapsed: 0.037 s
% 0.25/0.55  % (4726)Instructions burned: 61 (million)
% 0.25/0.55  % (4726)------------------------------
% 0.25/0.55  % (4726)------------------------------
% 0.25/0.55  % (4731)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=100:si=on:rtra=on_0 on theBenchmark for (2998ds/100Mi)
% 0.25/0.56  % (4729)Instruction limit reached!
% 0.25/0.56  % (4729)------------------------------
% 0.25/0.56  % (4729)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.25/0.56  % (4729)Termination reason: Unknown
% 0.25/0.56  % (4729)Termination phase: Property scanning
% 0.25/0.56  
% 0.25/0.56  % (4729)Memory used [KB]: 1791
% 0.25/0.56  % (4729)Time elapsed: 0.018 s
% 0.25/0.56  % (4729)Instructions burned: 30 (million)
% 0.25/0.56  % (4729)------------------------------
% 0.25/0.56  % (4729)------------------------------
% 0.25/0.57  % (4730)dis+10_1:1_ixr=off:plsq=on:plsqc=1:plsqr=32,1:s2a=on:i=127:si=on:rtra=on_0 on theBenchmark for (2998ds/127Mi)
% 0.25/0.57  % (4732)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=3:si=on:rtra=on_0 on theBenchmark for (2998ds/3Mi)
% 1.42/0.57  % (4732)Instruction limit reached!
% 1.42/0.57  % (4732)------------------------------
% 1.42/0.57  % (4732)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.42/0.57  % (4732)Termination reason: Unknown
% 1.42/0.57  % (4732)Termination phase: shuffling
% 1.42/0.57  
% 1.42/0.57  % (4732)Memory used [KB]: 1279
% 1.42/0.57  % (4732)Time elapsed: 0.004 s
% 1.42/0.58  % (4732)Instructions burned: 3 (million)
% 1.42/0.58  % (4732)------------------------------
% 1.42/0.58  % (4732)------------------------------
% 1.42/0.58  % (4733)lrs+10_8:1_au=on:avsq=on:e2e=on:ins=3:s2a=on:s2at=3.0:ss=axioms:i=20:si=on:rtra=on_0 on theBenchmark for (2998ds/20Mi)
% 1.42/0.59  % (4733)Instruction limit reached!
% 1.42/0.59  % (4733)------------------------------
% 1.42/0.59  % (4733)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.42/0.59  % (4733)Termination reason: Unknown
% 1.42/0.59  % (4733)Termination phase: Property scanning
% 1.42/0.59  
% 1.42/0.59  % (4733)Memory used [KB]: 1663
% 1.42/0.59  % (4733)Time elapsed: 0.014 s
% 1.42/0.59  % (4733)Instructions burned: 20 (million)
% 1.42/0.59  % (4733)------------------------------
% 1.42/0.59  % (4733)------------------------------
% 1.42/0.59  % (4719)Refutation not found, incomplete strategy
% 1.42/0.59  % (4719)------------------------------
% 1.42/0.59  % (4719)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.42/0.59  % (4719)Termination reason: Refutation not found, incomplete strategy
% 1.42/0.59  
% 1.42/0.59  
% 1.42/0.59  % (4719)Memory used [KB]: 8187
% 1.42/0.59  % (4719)Time elapsed: 0.128 s
% 1.42/0.59  % (4719)Instructions burned: 170 (million)
% 1.42/0.59  % (4719)------------------------------
% 1.42/0.59  % (4719)------------------------------
% 1.42/0.59  % (4734)dis+1002_1:1_cbe=off:hud=5:nm=4:plsq=on:plsqr=7,1:prag=on:sp=const_max:tnu=1:i=86:si=on:rtra=on_0 on theBenchmark for (2998ds/86Mi)
% 1.67/0.60  % (4723)First to succeed.
% 1.67/0.61  % (4731)Instruction limit reached!
% 1.67/0.61  % (4731)------------------------------
% 1.67/0.61  % (4731)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.67/0.61  % (4731)Termination reason: Unknown
% 1.67/0.61  % (4731)Termination phase: Saturation
% 1.67/0.61  
% 1.67/0.61  % (4731)Memory used [KB]: 6524
% 1.67/0.61  % (4731)Time elapsed: 0.053 s
% 1.67/0.61  % (4731)Instructions burned: 100 (million)
% 1.67/0.61  % (4731)------------------------------
% 1.67/0.61  % (4731)------------------------------
% 1.67/0.61  % (4735)lrs+1010_1:1_au=on:cbe=off:nm=2:ntd=on:sd=2:ss=axioms:st=5.0:i=107:si=on:rtra=on_0 on theBenchmark for (2998ds/107Mi)
% 1.67/0.61  % (4736)lrs+2_1:1024_cnfonf=lazy_gen:fe=off:hud=15:plsq=on:plsqc=1:plsqr=32,1:i=39:si=on:rtra=on_0 on theBenchmark for (2998ds/39Mi)
% 1.67/0.62  % (4737)dis+10_1:1_cnfonf=lazy_not_gen:fsr=off:kws=precedence:nwc=5.0:s2a=on:ss=axioms:st=1.5:i=448:si=on:rtra=on_0 on theBenchmark for (2997ds/448Mi)
% 1.67/0.63  % (4736)Instruction limit reached!
% 1.67/0.63  % (4736)------------------------------
% 1.67/0.63  % (4736)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.67/0.63  % (4736)Termination reason: Unknown
% 1.67/0.63  % (4736)Termination phase: Property scanning
% 1.67/0.63  
% 1.67/0.63  % (4736)Memory used [KB]: 1791
% 1.67/0.63  % (4736)Time elapsed: 0.021 s
% 1.67/0.63  % (4736)Instructions burned: 39 (million)
% 1.67/0.63  % (4736)------------------------------
% 1.67/0.63  % (4736)------------------------------
% 1.67/0.63  % (4734)Instruction limit reached!
% 1.67/0.63  % (4734)------------------------------
% 1.67/0.63  % (4734)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.67/0.63  % (4734)Termination reason: Unknown
% 1.67/0.63  % (4734)Termination phase: Property scanning
% 1.67/0.63  
% 1.67/0.63  % (4734)Memory used [KB]: 2046
% 1.67/0.63  % (4734)Time elapsed: 0.044 s
% 1.67/0.63  % (4734)Instructions burned: 87 (million)
% 1.67/0.63  % (4734)------------------------------
% 1.67/0.63  % (4734)------------------------------
% 1.67/0.64  % (4730)Instruction limit reached!
% 1.67/0.64  % (4730)------------------------------
% 1.67/0.64  % (4730)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.67/0.64  % (4730)Termination reason: Unknown
% 1.67/0.64  % (4730)Termination phase: Saturation
% 1.67/0.64  
% 1.67/0.64  % (4730)Memory used [KB]: 6524
% 1.67/0.64  % (4730)Time elapsed: 0.067 s
% 1.67/0.64  % (4730)Instructions burned: 129 (million)
% 1.67/0.64  % (4730)------------------------------
% 1.67/0.64  % (4730)------------------------------
% 1.67/0.64  % (4723)Refutation found. Thanks to Tanya!
% 1.67/0.64  % SZS status Theorem for theBenchmark
% 1.67/0.64  % SZS output start Proof for theBenchmark
% See solution above
% 1.99/0.65  % (4723)------------------------------
% 1.99/0.65  % (4723)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.99/0.65  % (4723)Termination reason: Refutation
% 1.99/0.65  
% 1.99/0.65  % (4723)Memory used [KB]: 9210
% 1.99/0.65  % (4723)Time elapsed: 0.142 s
% 1.99/0.65  % (4723)Instructions burned: 186 (million)
% 1.99/0.65  % (4723)------------------------------
% 1.99/0.65  % (4723)------------------------------
% 1.99/0.65  % (4696)Success in time 0.246 s
% 1.99/0.65  % Vampire---4.8 exiting
%------------------------------------------------------------------------------