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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire---4.8
% Problem  : ALG268^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 : n032.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:32 EDT 2024

% Result   : Theorem 214.55s 27.27s
% Output   : Refutation 214.55s
% Verified : 
% SZS Type : ERROR: Analysing output (MakeTreeStats ran out of CPU time)

% 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,
    ph1: 
      !>[X0: $tType] : X0 ).

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

thf(func_def_149,type,
    sK3: term ).

thf(func_def_150,type,
    sK4: ( subst > term > term ) > term ).

thf(func_def_151,type,
    sK5: ( subst > term > term ) > subst ).

thf(func_def_152,type,
    sK6: term ).

thf(func_def_153,type,
    sK7: subst ).

thf(func_def_154,type,
    sK8: subst ).

thf(func_def_155,type,
    sK9: term ).

thf(func_def_156,type,
    sK10: subst ).

thf(func_def_157,type,
    sK11: subst ).

thf(f12215,plain,
    $false,
    inference(trivial_inequality_removal,[],[f12214]) ).

thf(f12214,plain,
    $true = $false,
    inference(boolean_simplification,[],[f12213]) ).

thf(f12213,plain,
    ( ( ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK11 ) @ sK10 ) )
      = ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK11 ) @ sK10 ) ) )
    = $false ),
    inference(forward_demodulation,[],[f12212,f699]) ).

thf(f699,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( ( sub @ ( sub @ X1 @ X2 ) @ X3 )
      = ( sub @ X1 @ ( comp @ X2 @ X3 ) ) ),
    inference(equality_proxy_clausification,[],[f693]) ).

thf(f693,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( ( ( sub @ X1 @ ( comp @ X2 @ X3 ) )
        = ( sub @ ( sub @ X1 @ X2 ) @ X3 ) )
      = $true ),
    inference(beta_eta_normalization,[],[f692]) ).

thf(f692,plain,
    ! [X2: subst,X3: subst,X1: term] :
      ( ( ^ [Y0: subst] :
            ( ( sub @ X1 @ ( comp @ X2 @ Y0 ) )
            = ( sub @ ( sub @ X1 @ X2 ) @ Y0 ) )
        @ X3 )
      = $true ),
    inference(pi_clausification,[],[f686]) ).

thf(f686,plain,
    ! [X2: subst,X1: term] :
      ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( sub @ X1 @ ( comp @ X2 @ Y0 ) )
            = ( sub @ ( sub @ X1 @ X2 ) @ Y0 ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f685]) ).

thf(f685,plain,
    ! [X2: subst,X1: term] :
      ( ( ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ X1 @ ( comp @ Y0 @ Y1 ) )
                = ( sub @ ( sub @ X1 @ Y0 ) @ Y1 ) ) )
        @ X2 )
      = $true ),
    inference(pi_clausification,[],[f640]) ).

thf(f640,plain,
    ! [X1: term] :
      ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( sub @ X1 @ ( comp @ Y0 @ Y1 ) )
                = ( sub @ ( sub @ X1 @ Y0 ) @ Y1 ) ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f638]) ).

thf(f638,plain,
    ! [X1: term] :
      ( ( ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                    = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f606]) ).

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

thf(f596,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                    = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
     => ( ( !! @ 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 @ Y2 @ Y0 ) )
                          = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                            = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y0 @ Y2 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y3 = Y2 ) ) ) ) ) )
                             => ( ( !! @ 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 @ Y2 )
                                                 != ( ap @ Y0 @ Y1 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                     => ( ( !! @ 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 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ ( term > $o )
                                                      @ ^ [Y2: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( ( Y2 @ Y0 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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 ) ) ) )
                                                     => ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                         => ( Y1 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                     => ( ( ( 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] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ Y1 )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f593]) ).

thf(f593,plain,
    ( $false
    = ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                      = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
       => ( ( !! @ 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 @ Y2 @ Y0 ) )
                            = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                              = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y2 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ 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 @ Y2 )
                                                   != ( ap @ Y0 @ Y1 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ 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 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ ( term > $o )
                                                        @ ^ [Y2: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( ( Y2 @ Y0 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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 ) ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                           => ( Y1 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( 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] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f552,f555]) ).

thf(f555,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
              = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f552]) ).

thf(f552,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                      = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
       => ( ( !! @ 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 @ Y2 @ Y0 ) )
                            = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                              = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y2 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ 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 @ Y2 )
                                                   != ( ap @ Y0 @ Y1 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ 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 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ ( term > $o )
                                                        @ ^ [Y2: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( ( Y2 @ Y0 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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 ) ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                           => ( Y1 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( 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] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f551]) ).

thf(f551,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                      = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
       => ( ( !! @ 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 @ Y2 @ Y0 ) )
                            = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                              = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y2 = Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y2 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ 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 @ Y2 )
                                                   != ( ap @ Y0 @ Y1 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                       => ( ( !! @ 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 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ ( term > $o )
                                                        @ ^ [Y2: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( ( Y2 @ Y0 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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 ) ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                   => ( ( $true
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                           => ( Y1 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                       => ( ( ( 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] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( var @ Y1 )
                                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f549]) ).

thf(f549,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                  = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                        = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
         => ( ( !! @ 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 @ Y2 @ Y0 ) )
                              = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y0 @ Y2 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                 => ( ( !! @ 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 @ Y2 )
                                                     != ( ap @ Y0 @ Y1 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                         => ( ( !! @ 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 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y2: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( ( Y2 @ Y0 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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 ) ) ) )
                                                         => ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                     => ( ( $true
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                             => ( Y1 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                         => ( ( ( 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] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ Y1 )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f545,f548]) ).

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

thf(f545,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                  = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                        = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
         => ( ( !! @ 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 @ Y2 @ Y0 ) )
                              = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y2 = Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y0 @ Y2 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                 => ( ( !! @ 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 @ Y2 )
                                                     != ( ap @ Y0 @ Y1 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                         => ( ( !! @ 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 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y2: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( ( Y2 @ Y0 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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 ) ) ) )
                                                         => ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                     => ( ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( ( sub @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                             => ( Y1 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                         => ( ( ( 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] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                           => ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( ( var @ Y1 )
                                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f543]) ).

thf(f543,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                    = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                          = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
           => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                  = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y0 @ Y2 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ 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 @ Y2 )
                                                       != ( ap @ Y0 @ Y1 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                           => ( ( !! @ 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 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ ( term > $o )
                                                            @ ^ [Y2: term > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( ( Y2 @ Y0 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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 ) ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                       => ( ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                               => ( Y1 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                           => ( ( ( 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] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ Y1 )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                         => ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y3: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                                                         => ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f537,f542]) ).

thf(f542,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
              = Y1 ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f537]) ).

thf(f537,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                = Y1 ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                    = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                          = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
           => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                  = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y2 = Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y0 @ Y2 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ 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 @ Y2 )
                                                       != ( ap @ Y0 @ Y1 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                           => ( ( !! @ 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 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ ( term > $o )
                                                            @ ^ [Y2: term > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( ( Y2 @ Y0 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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 ) ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                       => ( ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                               => ( Y1 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                           => ( ( ( 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] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y1: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                             => ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( ( var @ Y1 )
                                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                         => ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y3: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                                                         => ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f535]) ).

thf(f535,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                      = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                            = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                  = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                    = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y2 )
                                                          = ( ap @ Y1 @ Y3 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ 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 @ Y2 )
                                                         != ( ap @ Y0 @ Y1 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ 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 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ ( term > $o )
                                                              @ ^ [Y2: term > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y2 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( 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] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                                 => ( Y1 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( 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] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y3: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f530,f533]) ).

thf(f533,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 )
                  = ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f530]) ).

thf(f530,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 )
                    = ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                      = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                            = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                  = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                    = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y2 )
                                                          = ( ap @ Y1 @ Y3 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ 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 @ Y2 )
                                                         != ( ap @ Y0 @ Y1 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ 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 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ ( term > $o )
                                                              @ ^ [Y2: term > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y2 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( 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] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                                 => ( Y1 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( 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] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y3: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(not_proxy_clausification,[],[f529]) ).

thf(f529,plain,
    ( ( ~ ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 )
                        = ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                      = Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                          = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                                = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
                 => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                      = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                        = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                            = ( ap @ Y1 @ Y3 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ Y0 @ Y2 )
                                                              = ( ap @ Y1 @ Y3 ) )
                                                           => ( Y3 = Y2 ) ) ) ) ) )
                                         => ( ( !! @ 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 @ Y2 )
                                                             != ( ap @ Y0 @ Y1 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                                 => ( ( !! @ 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 @ Y1 )
                                                                       => ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ ( term > $o )
                                                                  @ ^ [Y2: term > $o] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                     => ( ( Y2 @ Y0 )
                                                                       => ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( 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 ) ) ) )
                                                                 => ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( var @ Y3 )
                                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( 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] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ Y2 )
                                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                                           => ( ( ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ id @ Y0 )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ Y0 @ id )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                             => ( ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( ( sub @ Y0 @ id )
                                                                        = Y0 ) )
                                                                  & ( !! @ subst
                                                                    @ ^ [Y0: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                           => ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( ( 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] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( subst > term > term )
                                                                            @ ^ [Y0: subst > term > term] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y0: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y1: term] :
                                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                                    ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y3: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                                   => ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ Y1 )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                               => ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y3: term] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                                                               => ( ( !! @ term
                                                                                                    @ ^ [Y2: term] :
                                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $true ),
    inference(beta_eta_normalization,[],[f528]) ).

thf(f528,plain,
    ( ( ~ ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 )
                        = ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                      = Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                          = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                                = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
                 => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                      = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                        = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                            = ( ap @ Y1 @ Y3 ) )
                                                         => ( Y2 = Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ Y0 @ Y2 )
                                                              = ( ap @ Y1 @ Y3 ) )
                                                           => ( Y3 = Y2 ) ) ) ) ) )
                                         => ( ( !! @ 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 @ Y2 )
                                                             != ( ap @ Y0 @ Y1 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                                 => ( ( !! @ 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 @ Y1 )
                                                                       => ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ ( term > $o )
                                                                  @ ^ [Y2: term > $o] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                     => ( ( Y2 @ Y0 )
                                                                       => ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( 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 ) ) ) )
                                                                 => ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( var @ Y3 )
                                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( 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] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ Y2 )
                                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                           => ( ( ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ id @ Y0 )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( ( comp @ Y0 @ id )
                                                                      = Y0 ) )
                                                                & ( !! @ subst
                                                                  @ ^ [Y0: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                             => ( ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( ( sub @ Y0 @ id )
                                                                        = Y0 ) )
                                                                  & ( !! @ subst
                                                                    @ ^ [Y0: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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
                                                                                          @ Y0 )
                                                                                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                          @ id
                                                                                          @ Y3
                                                                                          @ id
                                                                                          @ Y1 ) )
                                                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                           => ( !! @ ( subst > term > term )
                                                                              @ ^ [Y1: subst > term > term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                                 => ( ( ( ^ [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] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                          @ id
                                                                                          @ Y1
                                                                                          @ id
                                                                                          @ Y2 )
                                                                                       != ( ^ [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] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                               => ~ ( ^ [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
                                                                                          @ Y1
                                                                                          @ id
                                                                                          @ Y0 )
                                                                                        @ id ) ) )
                                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                                    ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y3: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                                   => ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                                @ id
                                                                                                @ Y1
                                                                                                @ id )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( ( var @ Y1 )
                                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y2: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y1: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y3: subst] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id
                                                                                                        @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                                          @ id
                                                                                                          @ Y1
                                                                                                          @ id
                                                                                                          @ Y2 )
                                                                                                        @ id ) ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                               => ( !! @ ( subst > term > subst > $o )
                                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                                      ( ( !! @ subst
                                                                                        @ ^ [Y1: subst] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y3: subst] :
                                                                                                    ( !! @ subst
                                                                                                    @ ^ [Y4: subst] :
                                                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                                     => ( ( !! @ subst
                                                                                          @ ^ [Y1: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y2: subst] :
                                                                                                  ( !! @ term
                                                                                                  @ ^ [Y3: term] :
                                                                                                      ( !! @ subst
                                                                                                      @ ^ [Y4: subst] :
                                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                                                               => ( ( !! @ term
                                                                                                    @ ^ [Y2: term] :
                                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                                 => ( Y0 @ id
                                                                                                    @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                                      @ id
                                                                                                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                                    @ id ) ) ) )
                                                                                         => ( !! @ term
                                                                                            @ ^ [Y1: term] :
                                                                                                ( ( !! @ term
                                                                                                  @ ^ [Y2: term] :
                                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $true ),
    inference(definition_unfolding,[],[f352,f516]) ).

thf(f516,plain,
    ( hoasinduction_lem3_gthm
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y0 @ Y2 ) @ Y1 )
                    = ( ap @ ( sub @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) )
                      = ( sub @ ( lam @ Y1 ) @ Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                            = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ 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 @ Y2 @ Y0 ) )
                                  = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                                    = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y2 = Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y2 )
                                                          = ( ap @ Y1 @ Y3 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ 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 @ Y2 )
                                                         != ( ap @ Y0 @ Y1 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                             => ( ( !! @ 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 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ ( term > $o )
                                                              @ ^ [Y2: term > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y2 @ Y0 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( 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] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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
                                                                                      @ Y0 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y3
                                                                                      @ id
                                                                                      @ Y1 ) )
                                                                                 => ( Y1 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                             => ( ( ( ^ [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] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y2 )
                                                                                   != ( ^ [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] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                           => ~ ( ^ [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
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y0 )
                                                                                    @ id ) ) )
                                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y1: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y2: subst] :
                                                                                          ( !! @ term
                                                                                          @ ^ [Y3: term] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                               => ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                            @ id
                                                                                            @ Y1
                                                                                            @ id )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( ( var @ Y1 )
                                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y1: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y2: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y1: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y3: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id
                                                                                                    @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                                      @ id
                                                                                                      @ Y1
                                                                                                      @ id
                                                                                                      @ Y2 )
                                                                                                    @ id ) ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( !! @ term
                                                                                            @ ^ [Y2: term] :
                                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                           => ( !! @ ( subst > term > subst > $o )
                                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y1: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y3: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y4: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                                 => ( ( !! @ subst
                                                                                      @ ^ [Y1: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y2: subst] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y3: term] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y4: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                                                           => ( ( !! @ term
                                                                                                @ ^ [Y2: term] :
                                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                             => ( Y0 @ id
                                                                                                @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                                  @ id
                                                                                                  @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                                @ id ) ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y1: term] :
                                                                                            ( ( !! @ term
                                                                                              @ ^ [Y2: term] :
                                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f358,f413,f360,f351,f373,f354,f412,f420,f404,f445,f440,f447,f439,f369,f349,f410,f337,f341,f408,f375,f371,f385,f416,f436,f443,f365,f395,f414,f353,f456,f457,f458,f459,f460,f461,f469,f470,f471]) ).

thf(f471,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                          @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f347,f425]) ).

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

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

thf(f123,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(f347,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( hoaslam @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f144]) ).

thf(f144,plain,
    ( hoasinduction_lem3
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id
                        @ ( hoaslam @ id
                          @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                        @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f143]) ).

thf(f143,plain,
    ( hoasinduction_lem3
    = ( ! [X0: subst > term > subst > $o] :
          ( ! [X1: subst,X2: subst,X3: term,X4: subst] :
              ( ( X0 @ X1 @ X3 @ ( comp @ X4 @ X2 ) )
             => ( X0 @ ( comp @ X1 @ X4 ) @ ( sub @ X3 @ X4 ) @ X2 ) )
         => ( ! [X5: subst,X6: term,X7: subst,X8: subst] :
                ( ( X0 @ ( comp @ X8 @ X7 ) @ ( sub @ X6 @ X7 ) @ X5 )
               => ( X0 @ X8 @ X6 @ ( comp @ X7 @ X5 ) ) )
           => ( ! [X9: subst > term > term] :
                  ( ! [X10: subst,X11: subst,X12: term] :
                      ( ( X9 @ ( comp @ X10 @ X11 ) @ ( sub @ X12 @ X11 ) )
                      = ( sub @ ( X9 @ X10 @ X12 ) @ X11 ) )
                 => ( ! [X13: term] :
                        ( ( X0 @ id @ X13 @ id )
                       => ( X0 @ id @ ( X9 @ id @ X13 ) @ id ) )
                   => ( X0 @ id
                      @ ( hoaslam @ id
                        @ ^ [X14: subst,X15: term] : ( X9 @ X14 @ X15 ) )
                      @ id ) ) )
             => ! [X16: term] :
                  ( ! [X17: term] :
                      ( ( X0 @ id @ X17 @ id )
                     => ( X0 @ id @ ( sub @ X16 @ ( push @ X17 @ id ) ) @ id ) )
                 => ( X0 @ id @ ( lam @ X16 ) @ id ) ) ) ) ) ) ),
    inference(rectify,[],[f99]) ).

thf(f99,axiom,
    ( hoasinduction_lem3
    = ( ! [X5: subst > term > subst > $o] :
          ( ! [X2: subst,X3: subst,X0: term,X4: subst] :
              ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
             => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
         => ( ! [X3: subst,X0: term,X4: subst,X2: subst] :
                ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
               => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
           => ( ! [X10: subst > term > term] :
                  ( ! [X2: subst,X3: subst,X0: term] :
                      ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
                      = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
                 => ( ! [X0: term] :
                        ( ( X5 @ id @ X0 @ id )
                       => ( X5 @ id @ ( X10 @ id @ X0 ) @ id ) )
                   => ( X5 @ id
                      @ ( hoaslam @ id
                        @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
                      @ id ) ) )
             => ! [X0: term] :
                  ( ! [X1: term] :
                      ( ( X5 @ id @ X1 @ id )
                     => ( X5 @ id @ ( sub @ X0 @ ( push @ X1 @ id ) ) @ id ) )
                 => ( X5 @ id @ ( lam @ X0 ) @ id ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasinduction_lem3) ).

thf(f470,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id
                            @ ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                              @ id
                              @ Y1
                              @ id
                              @ Y2 )
                            @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y2 @ id )
                       => ( ( Y0 @ id @ Y1 @ id )
                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f442,f444]) ).

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

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

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

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

thf(f442,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( hoasap @ id @ Y1 @ id @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y2 @ id )
                       => ( ( Y0 @ id @ Y1 @ id )
                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f303]) ).

thf(f303,plain,
    ( hoasinduction_lem2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( hoasap @ id @ Y1 @ id @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y2 @ id )
                       => ( ( Y0 @ id @ Y1 @ id )
                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f302]) ).

thf(f302,plain,
    ( hoasinduction_lem2
    = ( ! [X0: subst > term > subst > $o] :
          ( ! [X1: subst,X2: subst,X3: subst,X4: term] :
              ( ( X0 @ X3 @ X4 @ ( comp @ X2 @ X1 ) )
             => ( X0 @ ( comp @ X3 @ X2 ) @ ( sub @ X4 @ X2 ) @ X1 ) )
         => ( ! [X5: subst,X6: subst,X7: subst,X8: term] :
                ( ( X0 @ ( comp @ X6 @ X5 ) @ ( sub @ X8 @ X5 ) @ X7 )
               => ( X0 @ X6 @ X8 @ ( comp @ X5 @ X7 ) ) )
           => ( ! [X9: term,X10: term] :
                  ( ( X0 @ id @ X10 @ id )
                 => ( ( X0 @ id @ X9 @ id )
                   => ( X0 @ id @ ( hoasap @ id @ X10 @ id @ X9 ) @ id ) ) )
             => ! [X11: term,X12: term] :
                  ( ( X0 @ id @ X11 @ id )
                 => ( ( X0 @ id @ X12 @ id )
                   => ( X0 @ id @ ( ap @ X11 @ X12 ) @ id ) ) ) ) ) ) ) ),
    inference(rectify,[],[f93]) ).

thf(f93,axiom,
    ( hoasinduction_lem2
    = ( ! [X5: subst > term > subst > $o] :
          ( ! [X3: subst,X4: subst,X2: subst,X0: term] :
              ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
             => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
         => ( ! [X4: subst,X2: subst,X3: subst,X0: term] :
                ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
               => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
           => ( ! [X1: term,X0: term] :
                  ( ( X5 @ id @ X0 @ id )
                 => ( ( X5 @ id @ X1 @ id )
                   => ( X5 @ id @ ( hoasap @ id @ X0 @ id @ X1 ) @ id ) ) )
             => ! [X0: term,X1: term] :
                  ( ( X5 @ id @ X0 @ id )
                 => ( ( X5 @ id @ X1 @ id )
                   => ( X5 @ id @ ( ap @ X0 @ X1 ) @ id ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasinduction_lem2) ).

thf(f469,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                      @ id
                      @ Y1
                      @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f384,f370]) ).

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

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

thf(f296,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(f384,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( hoasvar @ id @ Y1 @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f216]) ).

thf(f216,plain,
    ( hoasinduction_lem1
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( hoasvar @ id @ Y1 @ id )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f215]) ).

thf(f215,plain,
    ! [X0: subst > term > subst > $o] :
      ( ( ! [X1: subst,X2: term,X3: subst,X4: subst] :
            ( ( X0 @ X4 @ X2 @ ( comp @ X3 @ X1 ) )
           => ( X0 @ ( comp @ X4 @ X3 ) @ ( sub @ X2 @ X3 ) @ X1 ) )
       => ( ! [X5: subst,X6: subst,X7: term,X8: subst] :
              ( ( X0 @ ( comp @ X6 @ X8 ) @ ( sub @ X7 @ X8 ) @ X5 )
             => ( X0 @ X6 @ X7 @ ( comp @ X8 @ X5 ) ) )
         => ( ! [X9: term] :
                ( ( hoasvar @ id @ X9 @ id )
               => ( X0 @ id @ X9 @ id ) )
           => ! [X10: term] :
                ( ( var @ X10 )
               => ( X0 @ id @ X10 @ id ) ) ) ) )
      = hoasinduction_lem1 ),
    inference(rectify,[],[f90]) ).

thf(f90,axiom,
    ! [X5: subst > term > subst > $o] :
      ( ( ! [X3: subst,X0: term,X4: subst,X2: subst] :
            ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
           => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
       => ( ! [X3: subst,X2: subst,X0: term,X4: subst] :
              ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
             => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
         => ( ! [X0: term] :
                ( ( hoasvar @ id @ X0 @ id )
               => ( X5 @ id @ X0 @ id ) )
           => ! [X0: term] :
                ( ( var @ X0 )
               => ( X5 @ id @ X0 @ id ) ) ) ) )
      = hoasinduction_lem1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasinduction_lem1) ).

thf(f461,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
                  @ Y1
                  @ id
                  @ Y0 )
                @ id ) ) ) ),
    inference(definition_unfolding,[],[f383,f370,f444]) ).

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

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

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

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

thf(f460,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
         => ~ ( ^ [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,[],[f431,f370,f425]) ).

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

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

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

thf(f70,axiom,
    ( hoaslamnotvar
    = ( ! [X10: subst > term > term] :
          ( ! [X2: subst,X0: term,X3: 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 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoaslamnotvar) ).

thf(f459,plain,
    ( hoaslamnotap
    = ( !! @ ( 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 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                      @ id
                      @ Y1
                      @ id
                      @ Y2 )
                   != ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                      @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f343,f444,f425]) ).

thf(f343,plain,
    ( hoaslamnotap
    = ( !! @ ( 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 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y1 @ id @ Y2 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f316]) ).

thf(f316,plain,
    ( hoaslamnotap
    = ( !! @ ( 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 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoasap @ id @ Y1 @ id @ Y2 )
                   != ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f315]) ).

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

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

thf(f458,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
               => ( ( ( ^ [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,[],[f407,f425,f425]) ).

thf(f407,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
               => ( ( ( 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,[],[f270]) ).

thf(f270,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
               => ( ( ( 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,[],[f269]) ).

thf(f269,plain,
    ! [X0: subst > term > term] :
      ( ( ! [X1: subst,X2: term,X3: subst] :
            ( ( X0 @ ( comp @ X1 @ X3 ) @ ( sub @ X2 @ X3 ) )
            = ( sub @ ( X0 @ X1 @ X2 ) @ X3 ) )
       => ! [X4: subst > term > term] :
            ( ! [X5: subst,X6: subst,X7: term] :
                ( ( sub @ ( X4 @ X6 @ X7 ) @ X5 )
                = ( X4 @ ( comp @ X6 @ X5 ) @ ( sub @ X7 @ X5 ) ) )
           => ( ( ( 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] :
      ( ( ! [X2: subst,X0: term,X3: subst] :
            ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
            = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
       => ! [X11: subst > term > term] :
            ( ! [X3: subst,X2: 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(f457,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
                          @ Y0 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y3
                          @ id
                          @ Y1 ) )
                     => ( Y1 = Y0 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f355,f444,f444]) ).

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

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

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

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

thf(f456,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,[],[f430,f444,f444]) ).

thf(f430,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,[],[f154]) ).

thf(f154,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,[],[f153]) ).

thf(f153,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
    = ( ! [X0: term,X7: term,X1: term,X6: term] :
          ( ( ( hoasap @ id @ X0 @ id @ X6 )
            = ( hoasap @ id @ X1 @ id @ X7 ) )
         => ( X0 = X1 ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasapinj1) ).

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

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

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

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

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

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

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

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

thf(f395,plain,
    ( induction2
    = ( !! @ ( 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] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f238]) ).

thf(f238,plain,
    ( induction2
    = ( !! @ ( 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] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f237]) ).

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

thf(f46,axiom,
    ! [X5: term > $o] :
      ( ( ! [X0: term] :
            ( ( var @ X0 )
           => ( X5 @ X0 ) )
       => ( ! [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 ) ) )
           => ! [X0: term] : ( X5 @ X0 ) ) ) )
      = induction2 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',induction2) ).

thf(f365,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 ) ) ) )
           => ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f188]) ).

thf(f188,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 ) ) ) )
           => ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f187]) ).

thf(f187,plain,
    ( induction2lem
    = ( ! [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: term,X6: subst] :
                ( ! [X7: term] :
                    ( ( var @ X7 )
                   => ( X0 @ ( sub @ X7 @ X6 ) ) )
               => ( X0 @ ( sub @ X5 @ X6 ) ) ) ) ) ) ),
    inference(rectify,[],[f43]) ).

thf(f43,axiom,
    ( induction2lem
    = ( ! [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 ) ) )
           => ! [X0: term,X2: subst] :
                ( ! [X1: term] :
                    ( ( var @ X1 )
                   => ( X5 @ ( sub @ X1 @ X2 ) ) )
               => ( X5 @ ( sub @ X0 @ X2 ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',induction2lem) ).

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

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

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

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

thf(f436,plain,
    ( induction
    = ( !! @ ( 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] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f322]) ).

thf(f322,plain,
    ( induction
    = ( !! @ ( 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] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f321]) ).

thf(f321,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term] :
            ( ( var @ X1 )
           => ( X0 @ X1 ) )
       => ( ! [X2: term,X3: term] :
              ( ( X0 @ X3 )
             => ( ( X0 @ X2 )
               => ( X0 @ ( ap @ X3 @ X2 ) ) ) )
         => ( ! [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 ) )
       => ( ! [X1: term,X0: 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(f416,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(cnf_transformation,[],[f228]) ).

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

thf(f227,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(f385,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) ),
    inference(cnf_transformation,[],[f287]) ).

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

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

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

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

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

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

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

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

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

thf(f159,plain,
    ( shinj
    = ( ! [X0: term,X1: term] :
          ( ( ( sub @ X0 @ sh )
            = ( sub @ X1 @ sh ) )
         => ( X0 = X1 ) ) ) ),
    inference(rectify,[],[f19]) ).

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

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

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

thf(f257,plain,
    ! [X0: term,X1: term] :
      ( ( ( ( lam @ X0 )
          = ( lam @ X1 ) )
       => ( X0 = X1 ) )
      = laminj ),
    inference(rectify,[],[f18]) ).

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

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

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

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

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

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

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

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

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

thf(f410,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,[],[f252]) ).

thf(f252,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,[],[f251]) ).

thf(f251,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(f349,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(cnf_transformation,[],[f320]) ).

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

thf(f319,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(f369,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(cnf_transformation,[],[f232]) ).

thf(f232,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(fool_elimination,[],[f13]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(f331,plain,
    ! [X0: subst,X1: term,X2: subst] :
      ( ( ( comp @ ( push @ X1 @ X0 ) @ X2 )
        = ( push @ ( sub @ X1 @ X2 ) @ ( comp @ 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(f404,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) )
                  = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f137]) ).

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

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

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

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

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

thf(f211,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(f412,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f226]) ).

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

thf(f225,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(f354,plain,
    ( axclos
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) )
                  = ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f162]) ).

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

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

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

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

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

thf(f217,plain,
    ( axabs
    = ( ! [X0: term,X1: subst] :
          ( ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X1 @ sh ) ) ) )
          = ( sub @ ( lam @ X0 ) @ X1 ) ) ) ),
    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(f351,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f308]) ).

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

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

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

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

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

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

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

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

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

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

thf(f358,plain,
    ( hoasinduction_lem3_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => ( hoasinduction_lem1
                                                                         => ( hoasinduction_lem2
                                                                           => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f272]) ).

thf(f272,plain,
    ( hoasinduction_lem3_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => ( hoasinduction_lem1
                                                                         => ( hoasinduction_lem2
                                                                           => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f271]) ).

thf(f271,plain,
    ( ( hoasinduction_lem3_gthm = axapp )
   => ( axvarcons
     => ( axvarid
       => ( axabs
         => ( axclos
           => ( axidl
             => ( axshiftcons
               => ( axassoc
                 => ( axmap
                   => ( axidr
                     => ( axvarshift
                       => ( axscons
                         => ( ulamvar1
                           => ( ulamvarsh
                             => ( ulamvarind
                               => ( apinj1
                                 => ( apinj2
                                   => ( laminj
                                     => ( shinj
                                       => ( lamnotap
                                         => ( apnotvar
                                           => ( lamnotvar
                                             => ( induction
                                               => ( pushprop
                                                 => ( induction2lem
                                                   => ( induction2
                                                     => ( substmonoid
                                                       => ( termmset
                                                         => ( hoasapinj1
                                                           => ( hoasapinj2
                                                             => ( hoaslaminj
                                                               => ( hoaslamnotap
                                                                 => ( hoaslamnotvar
                                                                   => ( hoasapnotvar
                                                                     => ( hoasinduction_lem1
                                                                       => ( hoasinduction_lem2
                                                                         => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(rectify,[],[f100]) ).

thf(f100,axiom,
    ( ( hoasinduction_lem3_gthm = axapp )
   => ( axvarcons
     => ( axvarid
       => ( axabs
         => ( axclos
           => ( axidl
             => ( axshiftcons
               => ( axassoc
                 => ( axmap
                   => ( axidr
                     => ( axvarshift
                       => ( axscons
                         => ( ulamvar1
                           => ( ulamvarsh
                             => ( ulamvarind
                               => ( apinj1
                                 => ( apinj2
                                   => ( laminj
                                     => ( shinj
                                       => ( lamnotap
                                         => ( apnotvar
                                           => ( lamnotvar
                                             => ( induction
                                               => ( pushprop
                                                 => ( induction2lem
                                                   => ( induction2
                                                     => ( substmonoid
                                                       => ( termmset
                                                         => ( hoasapinj1
                                                           => ( hoasapinj2
                                                             => ( hoaslaminj
                                                               => ( hoaslamnotap
                                                                 => ( hoaslamnotvar
                                                                   => ( hoasapnotvar
                                                                     => ( hoasinduction_lem1
                                                                       => ( hoasinduction_lem2
                                                                         => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',hoasinduction_lem3_gthm) ).

thf(f352,plain,
    ( $true = ~ hoasinduction_lem3_gthm ),
    inference(cnf_transformation,[],[f291]) ).

thf(f291,plain,
    ( $true = ~ hoasinduction_lem3_gthm ),
    inference(fool_elimination,[],[f290]) ).

thf(f290,plain,
    ~ hoasinduction_lem3_gthm,
    inference(rectify,[],[f115]) ).

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

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

thf(f12212,plain,
    ( ( ( sub @ sK3 @ ( comp @ ( push @ sK9 @ sK11 ) @ sK10 ) )
      = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ sK11 ) ) @ sK10 ) )
    = $false ),
    inference(forward_demodulation,[],[f12197,f985]) ).

thf(f985,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( ( push @ ( sub @ X2 @ X1 ) @ ( comp @ X3 @ X1 ) )
      = ( comp @ ( push @ X2 @ X3 ) @ X1 ) ),
    inference(equality_proxy_clausification,[],[f979]) ).

thf(f979,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( ( ( comp @ ( push @ X2 @ X3 ) @ X1 )
        = ( push @ ( sub @ X2 @ X1 ) @ ( comp @ X3 @ X1 ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f978]) ).

thf(f978,plain,
    ! [X2: term,X3: subst,X1: subst] :
      ( $true
      = ( ^ [Y0: subst] :
            ( ( comp @ ( push @ X2 @ Y0 ) @ X1 )
            = ( push @ ( sub @ X2 @ X1 ) @ ( comp @ Y0 @ X1 ) ) )
        @ X3 ) ),
    inference(pi_clausification,[],[f973]) ).

thf(f973,plain,
    ! [X2: term,X1: subst] :
      ( $true
      = ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ ( push @ X2 @ Y0 ) @ X1 )
            = ( push @ ( sub @ X2 @ X1 ) @ ( comp @ Y0 @ X1 ) ) ) ) ),
    inference(beta_eta_normalization,[],[f972]) ).

thf(f972,plain,
    ! [X2: term,X1: subst] :
      ( $true
      = ( ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( comp @ ( push @ Y0 @ Y1 ) @ X1 )
                = ( push @ ( sub @ Y0 @ X1 ) @ ( comp @ Y1 @ X1 ) ) ) )
        @ X2 ) ),
    inference(pi_clausification,[],[f855]) ).

thf(f855,plain,
    ! [X1: subst] :
      ( $true
      = ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( ( comp @ ( push @ Y0 @ Y1 ) @ X1 )
                = ( push @ ( sub @ Y0 @ X1 ) @ ( comp @ Y1 @ X1 ) ) ) ) ) ),
    inference(beta_eta_normalization,[],[f854]) ).

thf(f854,plain,
    ! [X1: subst] :
      ( ( ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                    = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) ) ) ) )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f819]) ).

thf(f819,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                  = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f792]) ).

thf(f792,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                    = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y0 @ Y2 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y3 = Y2 ) ) ) ) ) )
                     => ( ( !! @ 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 @ Y2 )
                                         != ( ap @ Y0 @ Y1 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                             => ( ( !! @ 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 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ ( term > $o )
                                              @ ^ [Y2: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( ( Y2 @ Y0 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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 ) ) ) )
                                             => ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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] :
                                                        ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                 => ( Y1 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                             => ( ( ( 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] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ Y1 )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(boolean_simplification,[],[f790]) ).

thf(f790,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                      = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y0 @ Y2 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y3 = Y2 ) ) ) ) ) )
                       => ( ( !! @ 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 @ Y2 )
                                           != ( ap @ Y0 @ Y1 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                               => ( ( !! @ 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 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ ( term > $o )
                                                @ ^ [Y2: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( ( Y2 @ Y0 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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 ) ) ) )
                                               => ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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] :
                                                          ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                   => ( Y1 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                               => ( ( ( 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] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ Y1 )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( 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 ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f665,f669]) ).

thf(f669,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) )
                  = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f665]) ).

thf(f665,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) )
                    = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                      = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y2 = Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y0 @ Y2 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y3 = Y2 ) ) ) ) ) )
                       => ( ( !! @ 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 @ Y2 )
                                           != ( ap @ Y0 @ Y1 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                               => ( ( !! @ 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 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ ( term > $o )
                                                @ ^ [Y2: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( ( Y2 @ Y0 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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 ) ) ) )
                                               => ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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] :
                                                          ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                   => ( Y1 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                               => ( ( ( 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] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( var @ Y1 )
                                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                     => ( ( !! @ ( 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 ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f662]) ).

thf(f662,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) )
                      = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                        = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y2 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ 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 @ Y2 )
                                             != ( ap @ Y0 @ Y1 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ 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 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ ( term > $o )
                                                  @ ^ [Y2: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( ( Y2 @ Y0 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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 ) ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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] :
                                                            ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( 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] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f654,f657]) ).

thf(f657,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
              = Y1 ) ) ) ),
    inference(binary_proxy_clausification,[],[f654]) ).

thf(f654,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 @ Y2 @ Y0 ) )
                      = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                        = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y2 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ 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 @ Y2 )
                                             != ( ap @ Y0 @ Y1 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ 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 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ ( term > $o )
                                                  @ ^ [Y2: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( ( Y2 @ Y0 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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 ) ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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] :
                                                            ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( 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] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f653]) ).

thf(f653,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 @ Y2 @ Y0 ) )
                      = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                        = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y2 = Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y2 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ 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 @ Y2 )
                                             != ( ap @ Y0 @ Y1 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                 => ( ( !! @ 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 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ ( term > $o )
                                                  @ ^ [Y2: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( ( Y2 @ Y0 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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 ) ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( $true
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                 => ( ( ( 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] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                           => ( ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                   => ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( ( var @ Y1 )
                                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f650]) ).

thf(f650,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                  = Y1 ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) )
                        = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                          = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y0 @ Y2 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y3 = Y2 ) ) ) ) ) )
                           => ( ( !! @ 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 @ Y2 )
                                               != ( ap @ Y0 @ Y1 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                   => ( ( !! @ 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 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ ( term > $o )
                                                    @ ^ [Y2: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( ( Y2 @ Y0 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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 ) ) ) )
                                                   => ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( $true
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                       => ( Y1 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                   => ( ( ( 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] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ Y1 )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f639,f647]) ).

thf(f647,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f639]) ).

thf(f639,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 @ Y2 @ Y0 ) )
                        = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                          = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y2 = Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y0 @ Y2 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y3 = Y2 ) ) ) ) ) )
                           => ( ( !! @ 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 @ Y2 )
                                               != ( ap @ Y0 @ Y1 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                   => ( ( !! @ 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 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ ( term > $o )
                                                    @ ^ [Y2: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( ( Y2 @ Y0 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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 ) ) ) )
                                                   => ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ id @ Y0 )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                       => ( Y1 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                   => ( ( ( 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] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                             => ( ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                     => ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( ( var @ Y1 )
                                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f637]) ).

thf(f637,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y2 @ Y0 ) )
                          = ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( push @ Y1 @ Y2 ) @ Y0 )
                            = ( push @ ( sub @ Y1 @ Y0 ) @ ( comp @ 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 @ Y2 @ Y0 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y2 = Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y0 @ Y2 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y3 = Y2 ) ) ) ) ) )
                             => ( ( !! @ 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 @ Y2 )
                                                 != ( ap @ Y0 @ Y1 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                                     => ( ( !! @ 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 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ ( term > $o )
                                                      @ ^ [Y2: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( ( Y2 @ Y0 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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 ) ) ) )
                                                     => ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                         => ( Y1 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                                     => ( ( ( 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] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                               => ( ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                                       => ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( ( var @ Y1 )
                                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y1: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                         => ( ( !! @ subst
                                                                              @ ^ [Y1: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y1: term] :
                                                                                    ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f596,f606]) ).

thf(f12197,plain,
    ( $false
    = ( ( sub @ sK3 @ ( push @ ( sub @ sK9 @ sK10 ) @ ( comp @ sK11 @ sK10 ) ) )
      = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ sK11 ) ) @ sK10 ) ) ),
    inference(beta_eta_normalization,[],[f12183]) ).

thf(f12183,plain,
    ( ( ^ [Y0: subst] :
          ( ( sub @ sK3 @ ( push @ ( sub @ sK9 @ sK10 ) @ ( comp @ Y0 @ sK10 ) ) )
          = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y0 ) ) @ sK10 ) )
      @ sK11 )
    = $false ),
    inference(sigma_clausification,[],[f12112]) ).

thf(f12112,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( sub @ sK3 @ ( push @ ( sub @ sK9 @ sK10 ) @ ( comp @ Y0 @ sK10 ) ) )
          = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y0 ) ) @ sK10 ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f12101]) ).

thf(f12101,plain,
    ( ( ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y0 ) @ ( comp @ Y1 @ Y0 ) ) )
              = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y1 ) ) @ Y0 ) ) )
      @ sK10 )
    = $false ),
    inference(sigma_clausification,[],[f12093]) ).

thf(f12093,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( ( sub @ sK3 @ ( push @ ( sub @ sK9 @ Y0 ) @ ( comp @ Y1 @ Y0 ) ) )
              = ( sub @ ( sub @ sK3 @ ( push @ sK9 @ Y1 ) ) @ Y0 ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f12079]) ).

thf(f12079,plain,
    ( ( ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                  = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) )
      @ sK9 )
    = $false ),
    inference(sigma_clausification,[],[f5429]) ).

thf(f5429,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                  = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
    = $false ),
    inference(trivial_inequality_removal,[],[f5428]) ).

thf(f5428,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                    = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
      = $false )
    | ( $true = $false ) ),
    inference(forward_demodulation,[],[f5427,f4847]) ).

thf(f4847,plain,
    ( ( sK2 @ id @ ( lam @ sK3 ) @ id )
    = $false ),
    inference(binary_proxy_clausification,[],[f4643]) ).

thf(f4643,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sK2 @ id @ Y0 @ id )
           => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) )
     => ( sK2 @ id @ ( lam @ sK3 ) @ id ) )
    = $false ),
    inference(beta_eta_normalization,[],[f4624]) ).

thf(f4624,plain,
    ( ( ^ [Y0: term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( sK2 @ id @ Y1 @ id )
               => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ Y0 ) @ id ) )
      @ sK3 )
    = $false ),
    inference(sigma_clausification,[],[f4511]) ).

thf(f4511,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( sK2 @ id @ Y1 @ id )
               => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f4448]) ).

thf(f4448,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( !! @ term
        @ ^ [Y0: term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sK2 @ id @ Y1 @ id )
                 => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
           => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4441]) ).

thf(f4441,plain,
    ( $false
    = ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
    inference(backward_demodulation,[],[f4171,f4178]) ).

thf(f4178,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ subst
                  @ ^ [Y3: subst] :
                      ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 )
                     => ( sK2 @ Y0 @ Y2 @ ( comp @ Y1 @ Y3 ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f4171]) ).

thf(f4171,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 )
                       => ( sK2 @ Y0 @ Y2 @ ( comp @ Y1 @ Y3 ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4164]) ).

thf(f4164,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 )
                         => ( sK2 @ Y0 @ Y2 @ ( comp @ Y1 @ Y3 ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( sK2 @ id @ Y1 @ id )
                       => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
                 => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f4145,f4156]) ).

thf(f4156,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( !! @ subst
                  @ ^ [Y3: subst] :
                      ( ( sK2 @ Y3 @ Y1 @ ( comp @ Y0 @ Y2 ) )
                     => ( sK2 @ ( comp @ Y3 @ Y0 ) @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f4145]) ).

thf(f4145,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sK2 @ Y3 @ Y1 @ ( comp @ Y0 @ Y2 ) )
                       => ( sK2 @ ( comp @ Y3 @ Y0 ) @ ( sub @ Y1 @ Y0 ) @ Y2 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sK2 @ ( comp @ Y0 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 )
                         => ( sK2 @ Y0 @ Y2 @ ( comp @ Y1 @ Y3 ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( sK2 @ id @ Y1 @ id )
                       => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
                 => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f4139]) ).

thf(f4139,plain,
    ( ( ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) )
      @ sK2 )
    = $false ),
    inference(sigma_clausification,[],[f4137]) ).

thf(f4137,plain,
    ( ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4129]) ).

thf(f4129,plain,
    ( ( $true
     => ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
             => ( ( !! @ ( 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 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f4096,f4109]) ).

thf(f4109,plain,
    ( $true
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y1 @ id )
                       => ( ( Y0 @ id @ Y2 @ id )
                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ id @ Y2 @ id )
                       => ( ( Y0 @ id @ Y1 @ id )
                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f4096]) ).

thf(f4096,plain,
    ( ( ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y1 @ id )
                         => ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ id @ Y2 @ id )
                         => ( ( Y0 @ id @ Y1 @ id )
                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
     => ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
             => ( ( !! @ ( 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 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4091]) ).

thf(f4091,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( ( Y0 @ id @ Y1 @ id )
                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
       => ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
               => ( ( !! @ ( 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 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3886,f3919]) ).

thf(f3919,plain,
    ( ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ ( sub @ Y1 @ id ) )
                   => ( Y0 @ id @ Y1 @ id ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3886]) ).

thf(f3886,plain,
    ( ( ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ ( sub @ Y1 @ id ) )
                     => ( Y0 @ id @ Y1 @ id ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y1 @ id )
                           => ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ id @ Y2 @ id )
                           => ( ( Y0 @ id @ Y1 @ id )
                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
       => ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
               => ( ( !! @ ( 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 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3874]) ).

thf(f3874,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ ( sub @ Y1 @ id ) )
                       => ( Y0 @ id @ Y1 @ id ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( ( Y0 @ id @ Y1 @ id )
                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
         => ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                 => ( ( !! @ ( 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 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3826,f3847]) ).

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

thf(f3826,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
     => ( ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ ( sub @ Y1 @ id ) )
                       => ( Y0 @ id @ Y1 @ id ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y1 @ id )
                             => ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ id @ Y2 @ id )
                             => ( ( Y0 @ id @ Y1 @ id )
                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
         => ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                 => ( ( !! @ ( 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 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3821]) ).

thf(f3821,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ ( sub @ Y1 @ id ) )
                         => ( Y0 @ id @ Y1 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( ( Y0 @ id @ Y1 @ id )
                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
           => ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                   => ( ( !! @ ( 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 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3800,f3813]) ).

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

thf(f3800,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
       => ( ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ ( sub @ Y1 @ id ) )
                         => ( Y0 @ id @ Y1 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y1 @ id )
                               => ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ id @ Y2 @ id )
                               => ( ( Y0 @ id @ Y1 @ id )
                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
           => ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                   => ( ( !! @ ( 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 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3793]) ).

thf(f3793,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ ( sub @ Y1 @ id ) )
                           => ( Y0 @ id @ Y1 @ id ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( ( Y0 @ id @ Y1 @ id )
                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
             => ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                     => ( ( !! @ ( 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 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3767,f3773]) ).

thf(f3773,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 ) ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3767]) ).

thf(f3767,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 ) ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
         => ( ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ ( sub @ Y1 @ id ) )
                           => ( Y0 @ id @ Y1 @ id ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y1 @ id )
                                 => ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ id @ Y2 @ id )
                                 => ( ( Y0 @ id @ Y1 @ id )
                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
             => ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                     => ( ( !! @ ( 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 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3756]) ).

thf(f3756,plain,
    ( ( $true
     => ( ( !! @ ( 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 ) ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ ( sub @ Y1 @ id ) )
                             => ( Y0 @ id @ Y1 @ id ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( ( Y0 @ id @ Y1 @ id )
                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
               => ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                       => ( ( !! @ ( 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 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3418,f3431]) ).

thf(f3431,plain,
    ( $true
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
               => ( ( ( lam @ ( Y0 @ sh @ one ) )
                    = ( lam @ ( Y1 @ sh @ one ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y1 @ Y3 @ Y2 )
                            = ( Y0 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3418]) ).

thf(f3418,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
           => ( !! @ ( subst > term > term )
              @ ^ [Y1: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                 => ( ( ( 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] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
           => ( ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ ( sub @ Y1 @ id ) )
                             => ( Y0 @ id @ Y1 @ id ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y1 @ id )
                                   => ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ id @ Y2 @ id )
                                   => ( ( Y0 @ id @ Y1 @ id )
                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
               => ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                       => ( ( !! @ ( 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 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3412]) ).

thf(f3412,plain,
    ( ( $true
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( ( 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] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ ( sub @ Y1 @ id ) )
                               => ( Y0 @ id @ Y1 @ id ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( ( Y0 @ id @ Y1 @ id )
                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                 => ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                         => ( ( !! @ ( 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 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3282,f3288]) ).

thf(f3288,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y0 )
                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                     => ( Y1 = Y0 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f3282]) ).

thf(f3282,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y0 )
                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                       => ( Y1 = Y0 ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                   => ( ( ( 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] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
             => ( ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ ( sub @ Y1 @ id ) )
                               => ( Y0 @ id @ Y1 @ id ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y1 @ id )
                                     => ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ id @ Y2 @ id )
                                     => ( ( Y0 @ id @ Y1 @ id )
                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                 => ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                         => ( ( !! @ ( 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 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3267]) ).

thf(f3267,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y0 )
                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                         => ( Y1 = Y0 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                     => ( ( ( 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] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ ( sub @ Y1 @ id ) )
                                 => ( Y0 @ id @ Y1 @ id ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( ( Y0 @ id @ Y1 @ id )
                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                   => ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                           => ( ( !! @ ( 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 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3153,f3160]) ).

thf(f3160,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ ( sub @ Y3 @ id ) @ Y0 )
                        = ( ap @ ( sub @ Y1 @ id ) @ Y2 ) )
                     => ( Y3 = Y1 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f3153]) ).

thf(f3153,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 ) @ Y0 )
                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                         => ( Y1 = Y0 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                     => ( ( ( 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] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
               => ( ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ ( sub @ Y1 @ id ) )
                                 => ( Y0 @ id @ Y1 @ id ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y1 @ id )
                                       => ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ id @ Y2 @ id )
                                       => ( ( Y0 @ id @ Y1 @ id )
                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                   => ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                           => ( ( !! @ ( 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 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3144]) ).

thf(f3144,plain,
    ( ( $true
     => ( ( !! @ 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 ) @ Y0 )
                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                           => ( Y1 = Y0 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                       => ( ( ( 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] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ ( sub @ Y1 @ id ) )
                                   => ( Y0 @ id @ Y1 @ id ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( ( Y0 @ id @ Y1 @ id )
                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                     => ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                             => ( ( !! @ ( 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 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f3067,f3087]) ).

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

thf(f3067,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                           => ( Y1 = Y0 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                       => ( ( ( 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] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                 => ( ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ ( sub @ Y1 @ id ) )
                                   => ( Y0 @ id @ Y1 @ id ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y1 @ id )
                                         => ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ id @ Y2 @ id )
                                         => ( ( Y0 @ id @ Y1 @ id )
                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                     => ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                             => ( ( !! @ ( 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 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f3059]) ).

thf(f3059,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                             => ( Y1 = Y0 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                         => ( ( ( 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] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ ( sub @ Y1 @ id ) )
                                     => ( Y0 @ id @ Y1 @ id ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( ( Y0 @ id @ Y1 @ id )
                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                       => ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                               => ( ( !! @ ( 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 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f2998,f3046]) ).

thf(f3046,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f2998]) ).

thf(f2998,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                             => ( Y1 = Y0 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                         => ( ( ( 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] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                   => ( ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ ( sub @ Y1 @ id ) )
                                     => ( Y0 @ id @ Y1 @ id ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y1 @ id )
                                           => ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ id @ Y2 @ id )
                                           => ( ( Y0 @ id @ Y1 @ id )
                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                       => ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                               => ( ( !! @ ( 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 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f2990]) ).

thf(f2990,plain,
    ( ( $true
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                               => ( Y1 = Y0 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                           => ( ( ( 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] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ ( sub @ Y1 @ id ) )
                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( ( Y0 @ id @ Y1 @ id )
                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                         => ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f2856,f2904]) ).

thf(f2904,plain,
    ( $true
    = ( !! @ ( 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] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term @ Y0 ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f2856]) ).

thf(f2856,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] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                               => ( Y1 = Y0 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                           => ( ( ( 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] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                     => ( ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ ( sub @ Y1 @ id ) )
                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y1 @ id )
                                             => ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ id @ Y2 @ id )
                                             => ( ( Y0 @ id @ Y1 @ id )
                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                         => ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f2848]) ).

thf(f2848,plain,
    ( ( $true
     => ( ( !! @ ( 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] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                 => ( Y1 = Y0 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                             => ( ( ( 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] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ ( sub @ Y1 @ id ) )
                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( ( Y0 @ id @ Y1 @ id )
                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                           => ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1991,f2012]) ).

thf(f2012,plain,
    ( $true
    = ( !! @ ( 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 ) ) ) )
           => ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1991]) ).

thf(f1991,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 ) ) ) )
             => ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
     => ( ( !! @ ( 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] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                 => ( Y1 = Y0 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                             => ( ( ( 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] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                       => ( ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ ( sub @ Y1 @ id ) )
                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y1 @ id )
                                               => ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ id @ Y2 @ id )
                                               => ( ( Y0 @ id @ Y1 @ id )
                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                           => ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1985]) ).

thf(f1985,plain,
    ( ( $true
     => ( ( !! @ ( 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 ) ) ) )
               => ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
       => ( ( !! @ ( 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] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                   => ( Y1 = Y0 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                               => ( ( ( 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] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ ( sub @ Y1 @ id ) )
                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                             => ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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 ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1977,f1981]) ).

thf(f1981,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ ( term > $o )
              @ ^ [Y2: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                 => ( ( Y2 @ Y0 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1977]) ).

thf(f1977,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ ( term > $o )
                @ ^ [Y2: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                   => ( ( Y2 @ Y0 )
                     => ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( 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 ) ) ) )
               => ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
       => ( ( !! @ ( 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] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                   => ( Y1 = Y0 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                               => ( ( ( 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] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                         => ( ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ ( sub @ Y1 @ id ) )
                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y1 @ id )
                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ id @ Y2 @ id )
                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                             => ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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 ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1973]) ).

thf(f1973,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ ( term > $o )
                  @ ^ [Y2: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( ( Y2 @ Y0 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( 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 ) ) ) )
                 => ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
         => ( ( !! @ ( 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] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                     => ( Y1 = Y0 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                 => ( ( ( 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] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ ( sub @ Y1 @ id ) )
                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                               => ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1429,f1431]) ).

thf(f1431,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] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term @ Y0 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1429]) ).

thf(f1429,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] :
                      ( ( Y0 @ Y1 )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ ( term > $o )
                  @ ^ [Y2: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( ( Y2 @ Y0 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( 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 ) ) ) )
                 => ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
         => ( ( !! @ ( 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] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                     => ( Y1 = Y0 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                 => ( ( ( 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] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                           => ( ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ ( sub @ Y1 @ id ) )
                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y1 @ id )
                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ id @ Y2 @ id )
                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                               => ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                       => ( ( !! @ ( 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 ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1426]) ).

thf(f1426,plain,
    ( $false
    = ( $true
     => ( ( !! @ ( 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] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ ( term > $o )
                    @ ^ [Y2: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                       => ( ( Y2 @ Y0 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( 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 ) ) ) )
                   => ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
           => ( ( !! @ ( 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] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                       => ( Y1 = Y0 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                   => ( ( ( 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] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ ( sub @ Y1 @ id ) )
                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                 => ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(backward_demodulation,[],[f1422,f1425]) ).

thf(f1425,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(binary_proxy_clausification,[],[f1422]) ).

thf(f1422,plain,
    ( ( ( !! @ 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 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ ( term > $o )
                    @ ^ [Y2: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                       => ( ( Y2 @ Y0 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( 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 ) ) ) )
                   => ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
           => ( ( !! @ ( 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] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                       => ( Y1 = Y0 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                   => ( ( ( 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] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                             => ( ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ ( sub @ Y1 @ id ) )
                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y1 @ id )
                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ id @ Y2 @ id )
                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                 => ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1420]) ).

thf(f1420,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ ( term > $o )
                      @ ^ [Y2: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( ( Y2 @ Y0 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) )
                     => ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
             => ( ( !! @ ( 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] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                         => ( Y1 = Y0 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                     => ( ( ( 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] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                   => ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1396,f1419]) ).

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

thf(f1396,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
     => ( ( !! @ 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 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ ( term > $o )
                      @ ^ [Y2: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( ( Y2 @ Y0 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( 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 ) ) ) )
                     => ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
             => ( ( !! @ ( 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] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                         => ( Y1 = Y0 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                     => ( ( ( 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] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                               => ( ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y1 @ id )
                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ id @ Y2 @ id )
                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                   => ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1394]) ).

thf(f1394,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
       => ( ( !! @ 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 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ ( term > $o )
                        @ ^ [Y2: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( ( Y2 @ Y0 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( 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 ) ) ) )
                       => ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
               => ( ( !! @ ( 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] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                           => ( Y1 = Y0 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                       => ( ( ( 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] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                     => ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1339,f1367]) ).

thf(f1367,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( lam @ Y2 )
                 != ( ap @ Y0 @ Y1 ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1339]) ).

thf(f1339,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( lam @ Y2 )
                   != ( ap @ Y0 @ Y1 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
       => ( ( !! @ 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 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ ( term > $o )
                        @ ^ [Y2: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( ( Y2 @ Y0 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( 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 ) ) ) )
                       => ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
               => ( ( !! @ ( 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] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                           => ( Y1 = Y0 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                       => ( ( ( 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] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                 => ( ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y1 @ id )
                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ id @ Y2 @ id )
                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                     => ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1337]) ).

thf(f1337,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( lam @ Y2 )
                     != ( ap @ Y0 @ Y1 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
         => ( ( !! @ 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 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ ( term > $o )
                          @ ^ [Y2: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( ( Y2 @ Y0 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( 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 ) ) ) )
                         => ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( 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] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                             => ( Y1 = Y0 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                         => ( ( ( 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] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                       => ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1325,f1329]) ).

thf(f1329,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f1325]) ).

thf(f1325,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 @ Y2 )
                     != ( ap @ Y0 @ Y1 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
         => ( ( !! @ 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 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ ( term > $o )
                          @ ^ [Y2: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( ( Y2 @ Y0 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( 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 ) ) ) )
                         => ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( 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] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                             => ( Y1 = Y0 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                         => ( ( ( 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] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                   => ( ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                           => ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y1 @ id )
                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ id @ Y2 @ id )
                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                       => ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1322]) ).

thf(f1322,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y1 @ sh )
                    = ( sub @ Y0 @ sh ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( lam @ Y2 )
                       != ( ap @ Y0 @ Y1 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
           => ( ( !! @ 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 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ ( term > $o )
                            @ ^ [Y2: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( ( Y2 @ Y0 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( 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 ) ) ) )
                           => ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( 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] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                               => ( Y1 = Y0 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                           => ( ( ( 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] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                         => ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1314,f1318]) ).

thf(f1318,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1314]) ).

thf(f1314,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 @ Y2 )
                       != ( ap @ Y0 @ Y1 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
           => ( ( !! @ 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 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ ( term > $o )
                            @ ^ [Y2: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( ( Y2 @ Y0 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( 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 ) ) ) )
                           => ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( 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] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                               => ( Y1 = Y0 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                           => ( ( ( 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] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                     => ( ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                             => ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y1 @ id )
                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ id @ Y2 @ id )
                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                         => ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1311]) ).

thf(f1311,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y2 )
                         != ( ap @ Y0 @ Y1 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
             => ( ( !! @ 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 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ ( term > $o )
                              @ ^ [Y2: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( ( Y2 @ Y0 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( 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 ) ) ) )
                             => ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( 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] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                 => ( Y1 = Y0 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                             => ( ( ( 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] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                           => ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1125,f1130]) ).

thf(f1130,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y0 @ Y2 )
                        = ( ap @ Y1 @ Y3 ) )
                     => ( Y3 = Y2 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1125]) ).

thf(f1125,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y0 @ Y2 )
                          = ( ap @ Y1 @ Y3 ) )
                       => ( Y3 = Y2 ) ) ) ) ) )
     => ( ( !! @ 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 @ Y2 )
                         != ( ap @ Y0 @ Y1 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
             => ( ( !! @ 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 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ ( term > $o )
                              @ ^ [Y2: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( ( Y2 @ Y0 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( 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 ) ) ) )
                             => ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( 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] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                 => ( Y1 = Y0 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                             => ( ( ( 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] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                       => ( ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                               => ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y1 @ id )
                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ id @ Y2 @ id )
                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                           => ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1123]) ).

thf(f1123,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y0 @ Y2 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y3 = Y2 ) ) ) ) ) )
       => ( ( !! @ 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 @ Y2 )
                           != ( ap @ Y0 @ Y1 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
               => ( ( !! @ 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 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ ( term > $o )
                                @ ^ [Y2: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( ( Y2 @ Y0 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( 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 ) ) ) )
                               => ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( 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] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                   => ( Y1 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                               => ( ( ( 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] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                             => ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                     => ( ( !! @ ( 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 ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f1099,f1111]) ).

thf(f1111,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y2 @ Y0 )
                        = ( ap @ Y1 @ Y3 ) )
                     => ( Y2 = Y1 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1099]) ).

thf(f1099,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y2 @ Y0 )
                          = ( ap @ Y1 @ Y3 ) )
                       => ( Y2 = Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y0 @ Y2 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y3 = Y2 ) ) ) ) ) )
       => ( ( !! @ 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 @ Y2 )
                           != ( ap @ Y0 @ Y1 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
               => ( ( !! @ 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 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ ( term > $o )
                                @ ^ [Y2: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( ( Y2 @ Y0 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( 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 ) ) ) )
                               => ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( 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] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                            = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                   => ( Y1 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                              = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                               => ( ( ( 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] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                     != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                         => ( ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                   => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                 => ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ ( sub @ Y1 @ id ) )
                                                           => ( Y0 @ id @ Y1 @ id ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                     => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                       => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y1 @ id )
                                                                 => ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                 => ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                             => ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                     => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                       => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                     => ( ( !! @ ( 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 ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                             => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f1097]) ).

thf(f1097,plain,
    ( ( $true
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y2 @ Y0 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y0 @ Y2 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y3 = Y2 ) ) ) ) ) )
         => ( ( !! @ 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 @ Y2 )
                             != ( ap @ Y0 @ Y1 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                 => ( ( !! @ 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 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ ( term > $o )
                                  @ ^ [Y2: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( ( Y2 @ Y0 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( 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 ) ) ) )
                                 => ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( 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] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                 => ( ( ( 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] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                               => ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f947,f966]) ).

thf(f966,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 ) ) ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f947]) ).

thf(f947,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 @ Y2 @ Y0 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y2 = Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y0 @ Y2 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y3 = Y2 ) ) ) ) ) )
         => ( ( !! @ 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 @ Y2 )
                             != ( ap @ Y0 @ Y1 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                 => ( ( !! @ 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 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ ( term > $o )
                                  @ ^ [Y2: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( ( Y2 @ Y0 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( 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 ) ) ) )
                                 => ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( 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] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                            = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                              = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                     => ( Y1 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                 => ( ( ( 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] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                       != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                           => ( ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                     => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                   => ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ ( sub @ Y1 @ id ) )
                                                             => ( Y0 @ id @ Y1 @ id ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                       => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                         => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y1 @ id )
                                                                   => ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                   => ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                               => ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                       => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                         => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                       => ( ( !! @ ( 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 ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                               => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f945]) ).

thf(f945,plain,
    ( ( $true
     => ( ( !! @ ( 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 @ Y2 @ Y0 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y0 @ Y2 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y3 = Y2 ) ) ) ) ) )
           => ( ( !! @ 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 @ Y2 )
                               != ( ap @ Y0 @ Y1 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                   => ( ( !! @ 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 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ ( term > $o )
                                    @ ^ [Y2: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( ( Y2 @ Y0 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( 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 ) ) ) )
                                   => ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( 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] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                       => ( Y1 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                   => ( ( ( 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] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f925,f927]) ).

thf(f927,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f925]) ).

thf(f925,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 @ Y2 @ Y0 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y2 = Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y0 @ Y2 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y3 = Y2 ) ) ) ) ) )
           => ( ( !! @ 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 @ Y2 )
                               != ( ap @ Y0 @ Y1 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                   => ( ( !! @ 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 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ ( term > $o )
                                    @ ^ [Y2: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( ( Y2 @ Y0 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( 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 ) ) ) )
                                   => ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( 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] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                              = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                       => ( Y1 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                  = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                   => ( ( ( 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] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                         != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                             => ( ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                       => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                     => ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ ( sub @ Y1 @ id ) )
                                                               => ( Y0 @ id @ Y1 @ id ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                         => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                           => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y1 @ id )
                                                                     => ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ id @ Y2 @ id )
                                                                     => ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                         => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                           => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                         => ( ( !! @ ( 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 ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                 => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f924]) ).

thf(f924,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y2 @ Y0 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y0 @ Y2 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y3 = Y2 ) ) ) ) ) )
             => ( ( !! @ 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 @ Y2 )
                                 != ( ap @ Y0 @ Y1 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                     => ( ( !! @ 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 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ ( term > $o )
                                      @ ^ [Y2: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( ( Y2 @ Y0 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( 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 ) ) ) )
                                     => ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( 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] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                         => ( Y1 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                     => ( ( ( 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] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f901,f923]) ).

thf(f923,plain,
    ( ( var @ one )
    = $true ),
    inference(binary_proxy_clausification,[],[f901]) ).

thf(f901,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 @ Y2 @ Y0 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y2 = Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y0 @ Y2 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y3 = Y2 ) ) ) ) ) )
             => ( ( !! @ 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 @ Y2 )
                                 != ( ap @ Y0 @ Y1 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                     => ( ( !! @ 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 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ ( term > $o )
                                      @ ^ [Y2: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( ( Y2 @ Y0 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( 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 ) ) ) )
                                     => ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( 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] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                  = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                         => ( Y1 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                    = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                     => ( ( ( 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] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                           != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                               => ( ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                         => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                       => ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ ( sub @ Y1 @ id ) )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                           => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                             => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y1 @ id )
                                                                       => ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ id @ Y2 @ id )
                                                                       => ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                           => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                             => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                           => ( ( !! @ ( 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 ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                   => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f899]) ).

thf(f899,plain,
    ( ( $true
     => ( ( 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 @ Y2 @ Y0 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y0 @ Y2 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y3 = Y2 ) ) ) ) ) )
               => ( ( !! @ 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 @ Y2 )
                                   != ( ap @ Y0 @ Y1 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                       => ( ( !! @ 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 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ ( term > $o )
                                        @ ^ [Y2: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( ( Y2 @ Y0 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( 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 ) ) ) )
                                       => ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( 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] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                           => ( Y1 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                       => ( ( ( 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] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f884,f886]) ).

thf(f886,plain,
    ( ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f884]) ).

thf(f884,plain,
    ( ( ( !! @ 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 @ Y2 @ Y0 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y2 = Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y0 @ Y2 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y3 = Y2 ) ) ) ) ) )
               => ( ( !! @ 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 @ Y2 )
                                   != ( ap @ Y0 @ Y1 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                       => ( ( !! @ 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 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ ( term > $o )
                                        @ ^ [Y2: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( ( Y2 @ Y0 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( 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 ) ) ) )
                                       => ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( 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] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                  = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                    = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                           => ( Y1 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                      = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                       => ( ( ( 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] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                             != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                 => ( ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                           => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                         => ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ ( sub @ Y1 @ id ) )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                             => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                               => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y1 @ id )
                                                                         => ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ id @ Y2 @ id )
                                                                         => ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                             => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                               => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                             => ( ( !! @ ( 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 ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                     => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f882]) ).

thf(f882,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y2 @ Y0 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y2 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ 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 @ Y2 )
                                     != ( ap @ Y0 @ Y1 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ 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 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ ( term > $o )
                                          @ ^ [Y2: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( ( Y2 @ Y0 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( 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 ) ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                             => ( Y1 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( 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] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f866,f868]) ).

thf(f868,plain,
    ( ( id
      = ( push @ one @ sh ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f866]) ).

thf(f866,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 @ Y2 @ Y0 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y2 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ 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 @ Y2 )
                                     != ( ap @ Y0 @ Y1 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ 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 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ ( term > $o )
                                          @ ^ [Y2: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( ( Y2 @ Y0 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( 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 ) ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                    = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                             => ( Y1 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( 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] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f865]) ).

thf(f865,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 @ Y2 @ Y0 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y2 = Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y2 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ 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 @ Y2 )
                                     != ( ap @ Y0 @ Y1 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                         => ( ( !! @ 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 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ ( term > $o )
                                          @ ^ [Y2: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( ( Y2 @ Y0 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( 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 ) ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( $true
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                      = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                     => ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                      = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                             => ( Y1 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                        = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                         => ( ( ( 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] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                               != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                   => ( ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                             => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                           => ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ ( sub @ Y1 @ id ) )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( var @ Y1 )
                                                                     => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                               => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                 => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y1 @ id )
                                                                           => ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ id @ Y2 @ id )
                                                                           => ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                 => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                               => ( ( !! @ ( 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 ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                       => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f862]) ).

thf(f862,plain,
    ( ( $true
     => ( ( 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 @ Y2 @ Y0 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y0 @ Y2 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y3 = Y2 ) ) ) ) ) )
                   => ( ( !! @ 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 @ Y2 )
                                       != ( ap @ Y0 @ Y1 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                           => ( ( !! @ 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 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ ( term > $o )
                                            @ ^ [Y2: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( ( Y2 @ Y0 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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 ) ) ) )
                                           => ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( $true
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( comp @ ( comp @ Y0 @ Y2 ) @ Y1 )
                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                               => ( Y1 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                           => ( ( ( 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] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f856,f861]) ).

thf(f861,plain,
    ( $true
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(binary_proxy_clausification,[],[f856]) ).

thf(f856,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 @ Y2 @ Y0 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y2 = Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y0 @ Y2 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y3 = Y2 ) ) ) ) ) )
                   => ( ( !! @ 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 @ Y2 )
                                       != ( ap @ Y0 @ Y1 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                           => ( ( !! @ 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 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ ( term > $o )
                                            @ ^ [Y2: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( ( Y2 @ Y0 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( 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 ) ) ) )
                                           => ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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] :
                                                      ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                        = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                       => ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                        = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                               => ( Y1 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                          = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                           => ( ( ( 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] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                 != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                     => ( ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                               => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                             => ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ ( sub @ Y1 @ id ) )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( var @ Y1 )
                                                                       => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                 => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                   => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y1 @ id )
                                                                             => ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ id @ Y2 @ id )
                                                                             => ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                 => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                   => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( 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 ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                         => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f853]) ).

thf(f853,plain,
    ( ( $true
     => ( ( !! @ 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 @ Y2 @ Y0 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y2 = Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y0 @ Y2 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y3 = Y2 ) ) ) ) ) )
                     => ( ( !! @ 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 @ Y2 )
                                         != ( ap @ Y0 @ Y1 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y0 @ Y1 ) ) ) )
                             => ( ( !! @ 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 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ ( term > $o )
                                              @ ^ [Y2: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y2 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( ( Y2 @ Y0 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y2 @ ( sub @ Y3 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( 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 ) ) ) )
                                             => ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( 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] :
                                                        ( ( !! @ 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 @ Y0 @ Y2 ) @ Y1 )
                                                          = ( comp @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ) )
                                         => ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) )
                                                          = ( sub @ ( sub @ Y2 @ Y1 ) @ 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 ) @ Y0 )
                                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y1 ) )
                                                                 => ( Y1 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( sub @ ( Y1 @ Y3 @ Y2 ) @ Y4 )
                                                                            = ( Y1 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) ) ) ) ) )
                                                             => ( ( ( 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] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( ap @ ( sub @ Y1 @ id ) @ Y2 )
                                                                   != ( lam @ ( Y0 @ sh @ one ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y2 ) @ Y1 ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y1 @ id ) @ Y0 ) @ id ) ) ) )
                                                       => ( ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) )
                                                                                 => ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 ) ) ) ) ) )
                                                               => ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 )
                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ ( sub @ Y1 @ id ) )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( ( var @ Y1 )
                                                                         => ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) )
                                                                                   => ( Y0 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y1 @ Y4 ) @ Y2 )
                                                                                     => ( Y0 @ Y3 @ Y1 @ ( comp @ Y4 @ Y2 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y1 @ id )
                                                                               => ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y0 @ id @ Y2 @ id )
                                                                               => ( ( Y0 @ id @ Y1 @ id )
                                                                                 => ( Y0 @ id @ ( ap @ Y2 @ Y1 ) @ id ) ) ) ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y0 @ Y4 @ Y2 @ ( comp @ Y1 @ Y3 ) )
                                                                                   => ( Y0 @ ( comp @ Y4 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y3 ) ) ) ) ) )
                                                                 => ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y4 )
                                                                                     => ( Y0 @ Y1 @ Y3 @ ( comp @ Y2 @ Y4 ) ) ) ) ) ) )
                                                                   => ( ( !! @ ( 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 ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y0 @ id @ Y2 @ id )
                                                                                   => ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
                                                                             => ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y0 @ id @ Y2 @ id )
                                                                                 => ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
                                                                           => ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(backward_demodulation,[],[f792,f819]) ).

thf(f5427,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                    = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
      = $false )
    | ( ( sK2 @ id @ ( lam @ sK3 ) @ id )
      = $true ) ),
    inference(forward_demodulation,[],[f5426,f556]) ).

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

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

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

thf(f5426,plain,
    ( ( ( sK2 @ id @ ( lam @ ( sub @ sK3 @ id ) ) @ id )
      = $true )
    | ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                    = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
      = $false ) ),
    inference(forward_demodulation,[],[f5365,f883]) ).

thf(f883,plain,
    ( id
    = ( push @ one @ sh ) ),
    inference(equality_proxy_clausification,[],[f868]) ).

thf(f5365,plain,
    ( ( $true
      = ( sK2 @ id @ ( lam @ ( sub @ sK3 @ ( push @ one @ sh ) ) ) @ id ) )
    | ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                    = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
      = $false ) ),
    inference(boolean_simplification,[],[f5364]) ).

thf(f5364,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ sK3 @ ( push @ ( sub @ Y0 @ Y1 ) @ ( comp @ Y2 @ Y1 ) ) )
                    = ( sub @ ( sub @ sK3 @ ( push @ Y0 @ Y2 ) ) @ Y1 ) ) ) ) )
      = $false )
    | ( $true
      = ( $true
       => ( sK2 @ id @ ( lam @ ( sub @ sK3 @ ( push @ one @ sh ) ) ) @ id ) ) ) ),
    inference(beta_eta_normalization,[],[f5338]) ).

thf(f5338,plain,
    ( ( $true
      = ( $true
       => ( sK2 @ id
          @ ( lam
            @ ( ^ [Y0: subst,Y1: term] :
                  ( sub
                  @ ( ^ [Y2: subst,Y3: term] : sK3
                    @ Y0
                    @ Y1 )
                  @ ( ^ [Y2: subst,Y3: term] :
                        ( push
                        @ ( ^ [Y4: subst,Y5: term] : Y5
                          @ Y2
                          @ Y3 )
                        @ ( ^ [Y4: subst,Y5: term] : Y4
                          @ Y2
                          @ Y3 ) )
                    @ Y0
                    @ Y1 ) )
              @ sh
              @ one ) )
          @ id ) ) )
    | ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( ^ [Y3: subst,Y4: term] :
                          ( sub
                          @ ( ^ [Y5: subst,Y6: term] : sK3
                            @ Y3
                            @ Y4 )
                          @ ( ^ [Y5: subst,Y6: term] :
                                ( push
                                @ ( ^ [Y7: subst,Y8: term] : Y8
                                  @ Y5
                                  @ Y6 )
                                @ ( ^ [Y7: subst,Y8: term] : Y7
                                  @ Y5
                                  @ Y6 ) )
                            @ Y3
                            @ Y4 ) )
                      @ ( comp @ Y2 @ Y1 )
                      @ ( sub @ Y0 @ Y1 ) )
                    = ( sub
                      @ ( ^ [Y3: subst,Y4: term] :
                            ( sub
                            @ ( ^ [Y5: subst,Y6: term] : sK3
                              @ Y3
                              @ Y4 )
                            @ ( ^ [Y5: subst,Y6: term] :
                                  ( push
                                  @ ( ^ [Y7: subst,Y8: term] : Y8
                                    @ Y5
                                    @ Y6 )
                                  @ ( ^ [Y7: subst,Y8: term] : Y7
                                    @ Y5
                                    @ Y6 ) )
                              @ Y3
                              @ Y4 ) )
                        @ Y2
                        @ Y0 )
                      @ Y1 ) ) ) ) )
      = $false ) ),
    inference(superposition,[],[f4701,f4932]) ).

thf(f4932,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( sK2 @ id @ Y0 @ id )
         => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) )
    = $true ),
    inference(not_proxy_clausification,[],[f4928]) ).

thf(f4928,plain,
    ( ( ~ ( !! @ term
          @ ^ [Y0: term] :
              ( ( sK2 @ id @ Y0 @ id )
             => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4912]) ).

thf(f4912,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sK2 @ id @ Y0 @ id )
           => ( sK2 @ id @ ( sub @ sK3 @ ( push @ Y0 @ id ) ) @ id ) ) )
     => $false )
    = $false ),
    inference(backward_demodulation,[],[f4643,f4847]) ).

thf(f4701,plain,
    ! [X1: subst > term > term] :
      ( ( ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sK2 @ id @ Y0 @ id )
               => ( sK2 @ id @ ( X1 @ id @ Y0 ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ ( X1 @ sh @ one ) ) @ id ) )
        = $true )
      | ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( X1 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) )
                      = ( sub @ ( X1 @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
        = $false ) ),
    inference(binary_proxy_clausification,[],[f4697]) ).

thf(f4697,plain,
    ! [X1: subst > term > term] :
      ( ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( X1 @ ( comp @ Y2 @ Y1 ) @ ( sub @ Y0 @ Y1 ) )
                      = ( sub @ ( X1 @ Y2 @ Y0 ) @ Y1 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sK2 @ id @ Y0 @ id )
               => ( sK2 @ id @ ( X1 @ id @ Y0 ) @ id ) ) )
         => ( sK2 @ id @ ( lam @ ( X1 @ sh @ one ) ) @ id ) ) )
      = $true ),
    inference(beta_eta_normalization,[],[f4686]) ).

thf(f4686,plain,
    ! [X1: subst > term > term] :
      ( ( ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f4661]) ).

thf(f4661,plain,
    ( ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sK2 @ id @ Y1 @ id )
                 => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
           => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
    = $true ),
    inference(not_proxy_clausification,[],[f4646]) ).

thf(f4646,plain,
    ( ( ~ ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sK2 @ id @ Y1 @ id )
                     => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
               => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
    = $false ),
    inference(boolean_simplification,[],[f4623]) ).

thf(f4623,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sK2 @ id @ Y1 @ id )
                   => ( sK2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
             => ( sK2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => $false )
    = $false ),
    inference(backward_demodulation,[],[f4448,f4511]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.02/0.09  % Problem    : ALG268^1 : TPTP v8.2.0. Bugfixed v5.2.0.
% 0.02/0.11  % 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.11/0.32  % Computer : n032.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit   : 300
% 0.11/0.32  % WCLimit    : 300
% 0.11/0.32  % DateTime   : Sat May 18 23:04:08 EDT 2024
% 0.11/0.32  % CPUTime    : 
% 0.11/0.32  This is a TH0_THM_EQU_NAR problem
% 0.11/0.32  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.17/0.35  % (18683)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.17/0.35  % (18687)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on theBenchmark for (2999ds/18Mi)
% 0.17/0.35  % (18684)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on theBenchmark for (2999ds/2Mi)
% 0.17/0.35  % (18685)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.17/0.35  % (18686)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.17/0.35  % (18681)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.17/0.35  % (18688)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.17/0.35  % (18682)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.17/0.35  % (18684)Instruction limit reached!
% 0.17/0.35  % (18684)------------------------------
% 0.17/0.35  % (18684)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.35  % (18684)Termination reason: Unknown
% 0.17/0.35  % (18684)Termination phase: shuffling
% 0.17/0.35  
% 0.17/0.35  % (18684)Memory used [KB]: 1279
% 0.17/0.35  % (18684)Time elapsed: 0.003 s
% 0.17/0.35  % (18684)Instructions burned: 2 (million)
% 0.17/0.35  % (18684)------------------------------
% 0.17/0.35  % (18684)------------------------------
% 0.17/0.35  % (18685)Instruction limit reached!
% 0.17/0.35  % (18685)------------------------------
% 0.17/0.35  % (18685)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.35  % (18685)Termination reason: Unknown
% 0.17/0.35  % (18685)Termination phase: shuffling
% 0.17/0.35  
% 0.17/0.35  % (18685)Memory used [KB]: 1279
% 0.17/0.35  % (18685)Time elapsed: 0.003 s
% 0.17/0.35  % (18685)Instructions burned: 2 (million)
% 0.17/0.35  % (18685)------------------------------
% 0.17/0.35  % (18685)------------------------------
% 0.17/0.35  % (18688)Instruction limit reached!
% 0.17/0.35  % (18688)------------------------------
% 0.17/0.35  % (18688)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.35  % (18688)Termination reason: Unknown
% 0.17/0.35  % (18688)Termination phase: shuffling
% 0.17/0.35  
% 0.17/0.35  % (18688)Memory used [KB]: 1279
% 0.17/0.35  % (18688)Time elapsed: 0.004 s
% 0.17/0.35  % (18688)Instructions burned: 5 (million)
% 0.17/0.35  % (18688)------------------------------
% 0.17/0.35  % (18688)------------------------------
% 0.17/0.35  % (18682)Instruction limit reached!
% 0.17/0.35  % (18682)------------------------------
% 0.17/0.35  % (18682)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.35  % (18682)Termination reason: Unknown
% 0.17/0.35  % (18682)Termination phase: shuffling
% 0.17/0.35  
% 0.17/0.35  % (18682)Memory used [KB]: 1279
% 0.17/0.35  % (18682)Time elapsed: 0.004 s
% 0.17/0.35  % (18682)Instructions burned: 4 (million)
% 0.17/0.35  % (18682)------------------------------
% 0.17/0.35  % (18682)------------------------------
% 0.17/0.36  % (18687)Instruction limit reached!
% 0.17/0.36  % (18687)------------------------------
% 0.17/0.36  % (18687)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.36  % (18687)Termination reason: Unknown
% 0.17/0.36  % (18687)Termination phase: Property scanning
% 0.17/0.36  
% 0.17/0.36  % (18687)Memory used [KB]: 1663
% 0.17/0.36  % (18687)Time elapsed: 0.011 s
% 0.17/0.36  % (18687)Instructions burned: 19 (million)
% 0.17/0.36  % (18687)------------------------------
% 0.17/0.36  % (18687)------------------------------
% 0.17/0.36  % (18683)Instruction limit reached!
% 0.17/0.36  % (18683)------------------------------
% 0.17/0.36  % (18683)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.36  % (18683)Termination reason: Unknown
% 0.17/0.36  % (18683)Termination phase: Property scanning
% 0.17/0.36  
% 0.17/0.36  % (18683)Memory used [KB]: 1791
% 0.17/0.36  % (18683)Time elapsed: 0.014 s
% 0.17/0.36  % (18683)Instructions burned: 27 (million)
% 0.17/0.36  % (18683)------------------------------
% 0.17/0.36  % (18683)------------------------------
% 0.17/0.36  % (18689)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.17/0.36  % (18690)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.17/0.36  % (18691)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.17/0.36  % (18692)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.17/0.36  % (18691)Instruction limit reached!
% 0.17/0.36  % (18691)------------------------------
% 0.17/0.36  % (18691)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.36  % (18691)Termination reason: Unknown
% 0.17/0.36  % (18691)Termination phase: shuffling
% 0.17/0.36  
% 0.17/0.36  % (18691)Memory used [KB]: 1279
% 0.17/0.36  % (18691)Time elapsed: 0.003 s
% 0.17/0.36  % (18691)Instructions burned: 3 (million)
% 0.17/0.36  % (18691)------------------------------
% 0.17/0.36  % (18691)------------------------------
% 0.17/0.37  % (18690)Instruction limit reached!
% 0.17/0.37  % (18690)------------------------------
% 0.17/0.37  % (18690)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.37  % (18690)Termination reason: Unknown
% 0.17/0.37  % (18690)Termination phase: Property scanning
% 0.17/0.37  
% 0.17/0.37  % (18690)Memory used [KB]: 1663
% 0.17/0.37  % (18690)Time elapsed: 0.009 s
% 0.17/0.37  % (18690)Instructions burned: 15 (million)
% 0.17/0.37  % (18690)------------------------------
% 0.17/0.37  % (18690)------------------------------
% 0.17/0.37  % (18693)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.17/0.37  % (18694)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.17/0.37  % (18686)Refutation not found, incomplete strategy
% 0.17/0.37  % (18686)------------------------------
% 0.17/0.37  % (18686)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.37  % (18686)Termination reason: Refutation not found, incomplete strategy
% 0.17/0.37  
% 0.17/0.37  
% 0.17/0.37  % (18693)Instruction limit reached!
% 0.17/0.37  % (18693)------------------------------
% 0.17/0.37  % (18693)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.37  % (18686)Memory used [KB]: 6396
% 0.17/0.37  % (18686)Time elapsed: 0.027 s
% 0.17/0.37  % (18686)Instructions burned: 51 (million)
% 0.17/0.37  % (18686)------------------------------
% 0.17/0.37  % (18686)------------------------------
% 0.17/0.37  % (18693)Termination reason: Unknown
% 0.17/0.37  % (18693)Termination phase: shuffling
% 0.17/0.37  
% 0.17/0.37  % (18693)Memory used [KB]: 1407
% 0.17/0.37  % (18693)Time elapsed: 0.005 s
% 0.17/0.37  % (18693)Instructions burned: 7 (million)
% 0.17/0.37  % (18693)------------------------------
% 0.17/0.37  % (18693)------------------------------
% 0.17/0.38  % (18695)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.17/0.38  % (18689)Instruction limit reached!
% 0.17/0.38  % (18689)------------------------------
% 0.17/0.38  % (18689)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.38  % (18689)Termination reason: Unknown
% 0.17/0.38  % (18689)Termination phase: Property scanning
% 0.17/0.38  
% 0.17/0.38  % (18689)Memory used [KB]: 1791
% 0.17/0.38  % (18689)Time elapsed: 0.018 s
% 0.17/0.38  % (18689)Instructions burned: 38 (million)
% 0.17/0.38  % (18689)------------------------------
% 0.17/0.38  % (18689)------------------------------
% 0.17/0.38  % (18695)Instruction limit reached!
% 0.17/0.38  % (18695)------------------------------
% 0.17/0.38  % (18695)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.38  % (18695)Termination reason: Unknown
% 0.17/0.38  % (18695)Termination phase: shuffling
% 0.17/0.38  
% 0.17/0.38  % (18695)Memory used [KB]: 1279
% 0.17/0.38  % (18695)Time elapsed: 0.003 s
% 0.17/0.38  % (18695)Instructions burned: 3 (million)
% 0.17/0.38  % (18695)------------------------------
% 0.17/0.38  % (18695)------------------------------
% 0.17/0.38  % (18694)Instruction limit reached!
% 0.17/0.38  % (18694)------------------------------
% 0.17/0.38  % (18694)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.38  % (18694)Termination reason: Unknown
% 0.17/0.38  % (18694)Termination phase: shuffling
% 0.17/0.38  
% 0.17/0.38  % (18694)Memory used [KB]: 1535
% 0.17/0.38  % (18694)Time elapsed: 0.009 s
% 0.17/0.38  % (18694)Instructions burned: 17 (million)
% 0.17/0.38  % (18694)------------------------------
% 0.17/0.38  % (18694)------------------------------
% 0.17/0.38  % (18696)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.17/0.38  % (18696)Instruction limit reached!
% 0.17/0.38  % (18696)------------------------------
% 0.17/0.38  % (18696)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.38  % (18696)Termination reason: Unknown
% 0.17/0.38  % (18696)Termination phase: shuffling
% 0.17/0.38  
% 0.17/0.38  % (18696)Memory used [KB]: 1279
% 0.17/0.38  % (18696)Time elapsed: 0.003 s
% 0.17/0.38  % (18696)Instructions burned: 3 (million)
% 0.17/0.38  % (18696)------------------------------
% 0.17/0.38  % (18696)------------------------------
% 0.17/0.39  % (18697)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.17/0.39  % (18698)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.17/0.39  % (18698)Instruction limit reached!
% 0.17/0.39  % (18698)------------------------------
% 0.17/0.39  % (18698)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.39  % (18698)Termination reason: Unknown
% 0.17/0.39  % (18698)Termination phase: shuffling
% 0.17/0.39  
% 0.17/0.39  % (18698)Memory used [KB]: 1279
% 0.17/0.39  % (18698)Time elapsed: 0.003 s
% 0.17/0.39  % (18698)Instructions burned: 3 (million)
% 0.17/0.39  % (18698)------------------------------
% 0.17/0.39  % (18698)------------------------------
% 0.17/0.39  % (18697)Instruction limit reached!
% 0.17/0.39  % (18697)------------------------------
% 0.17/0.39  % (18697)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.39  % (18697)Termination reason: Unknown
% 0.17/0.39  % (18697)Termination phase: shuffling
% 0.17/0.39  
% 0.17/0.39  % (18697)Memory used [KB]: 1407
% 0.17/0.39  % (18697)Time elapsed: 0.005 s
% 0.17/0.39  % (18697)Instructions burned: 8 (million)
% 0.17/0.39  % (18697)------------------------------
% 0.17/0.39  % (18697)------------------------------
% 0.17/0.39  % (18699)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.17/0.39  % (18700)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.17/0.39  % (18701)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.17/0.39  % (18699)Instruction limit reached!
% 0.17/0.39  % (18699)------------------------------
% 0.17/0.39  % (18699)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.39  % (18699)Termination reason: Unknown
% 0.17/0.39  % (18699)Termination phase: shuffling
% 0.17/0.39  
% 0.17/0.39  % (18699)Memory used [KB]: 1279
% 0.17/0.39  % (18699)Time elapsed: 0.004 s
% 0.17/0.39  % (18699)Instructions burned: 5 (million)
% 0.17/0.39  % (18699)------------------------------
% 0.17/0.39  % (18699)------------------------------
% 0.17/0.40  % (18702)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on theBenchmark for (2999ds/6Mi)
% 0.17/0.40  % (18702)Instruction limit reached!
% 0.17/0.40  % (18702)------------------------------
% 0.17/0.40  % (18702)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.40  % (18702)Termination reason: Unknown
% 0.17/0.40  % (18700)Instruction limit reached!
% 0.17/0.40  % (18700)------------------------------
% 0.17/0.40  % (18700)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.40  % (18700)Termination reason: Unknown
% 0.17/0.40  % (18700)Termination phase: shuffling
% 0.17/0.40  
% 0.17/0.40  % (18700)Memory used [KB]: 1663
% 0.17/0.40  % (18700)Time elapsed: 0.010 s
% 0.17/0.40  % (18700)Instructions burned: 19 (million)
% 0.17/0.40  % (18700)------------------------------
% 0.17/0.40  % (18700)------------------------------
% 0.17/0.40  % (18702)Termination phase: shuffling
% 0.17/0.40  
% 0.17/0.40  % (18702)Memory used [KB]: 1407
% 0.17/0.40  % (18702)Time elapsed: 0.005 s
% 0.17/0.40  % (18702)Instructions burned: 8 (million)
% 0.17/0.40  % (18702)------------------------------
% 0.17/0.40  % (18702)------------------------------
% 0.17/0.40  % (18703)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.17/0.40  % (18704)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.17/0.41  % (18705)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on theBenchmark for (2999ds/5Mi)
% 0.17/0.41  % (18701)Refutation not found, incomplete strategy
% 0.17/0.41  % (18701)------------------------------
% 0.17/0.41  % (18701)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.41  % (18701)Termination reason: Refutation not found, incomplete strategy
% 0.17/0.41  
% 0.17/0.41  
% 0.17/0.41  % (18701)Memory used [KB]: 6268
% 0.17/0.41  % (18701)Time elapsed: 0.016 s
% 0.17/0.41  % (18701)Instructions burned: 29 (million)
% 0.17/0.41  % (18701)------------------------------
% 0.17/0.41  % (18701)------------------------------
% 0.17/0.41  % (18705)Instruction limit reached!
% 0.17/0.41  % (18705)------------------------------
% 0.17/0.41  % (18705)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.41  % (18705)Termination reason: Unknown
% 0.17/0.41  % (18705)Termination phase: shuffling
% 0.17/0.41  
% 0.17/0.41  % (18705)Memory used [KB]: 1279
% 0.17/0.41  % (18705)Time elapsed: 0.004 s
% 0.17/0.41  % (18705)Instructions burned: 5 (million)
% 0.17/0.41  % (18705)------------------------------
% 0.17/0.41  % (18705)------------------------------
% 0.17/0.41  % (18704)Instruction limit reached!
% 0.17/0.41  % (18704)------------------------------
% 0.17/0.41  % (18704)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.41  % (18704)Termination reason: Unknown
% 0.17/0.41  % (18704)Termination phase: shuffling
% 0.17/0.41  
% 0.17/0.41  % (18704)Memory used [KB]: 1663
% 0.17/0.41  % (18704)Time elapsed: 0.012 s
% 0.17/0.41  % (18704)Instructions burned: 23 (million)
% 0.17/0.41  % (18704)------------------------------
% 0.17/0.41  % (18704)------------------------------
% 0.17/0.41  % (18707)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.17/0.41  % (18706)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.17/0.42  % (18706)Instruction limit reached!
% 0.17/0.42  % (18706)------------------------------
% 0.17/0.42  % (18706)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.42  % (18706)Termination reason: Unknown
% 0.17/0.42  % (18706)Termination phase: shuffling
% 0.17/0.42  
% 0.17/0.42  % (18706)Memory used [KB]: 1407
% 0.17/0.42  % (18706)Time elapsed: 0.005 s
% 0.17/0.42  % (18706)Instructions burned: 7 (million)
% 0.17/0.42  % (18706)------------------------------
% 0.17/0.42  % (18706)------------------------------
% 0.17/0.42  % (18681)Instruction limit reached!
% 0.17/0.42  % (18681)------------------------------
% 0.17/0.42  % (18681)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.42  % (18681)Termination reason: Unknown
% 0.17/0.42  % (18681)Termination phase: Saturation
% 0.17/0.42  
% 0.17/0.42  % (18681)Memory used [KB]: 6652
% 0.17/0.42  % (18681)Time elapsed: 0.075 s
% 0.17/0.42  % (18681)Instructions burned: 183 (million)
% 0.17/0.42  % (18681)------------------------------
% 0.17/0.42  % (18681)------------------------------
% 0.17/0.42  % (18708)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.17/0.42  % (18710)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 (2999ds/19Mi)
% 0.17/0.43  % (18711)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on theBenchmark for (2999ds/879Mi)
% 0.17/0.43  % (18712)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on theBenchmark for (2999ds/17Mi)
% 0.17/0.43  % (18710)Instruction limit reached!
% 0.17/0.43  % (18710)------------------------------
% 0.17/0.43  % (18710)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.43  % (18710)Termination reason: Unknown
% 0.17/0.43  % (18710)Termination phase: shuffling
% 0.17/0.43  
% 0.17/0.43  % (18710)Memory used [KB]: 1663
% 0.17/0.43  % (18710)Time elapsed: 0.010 s
% 0.17/0.43  % (18710)Instructions burned: 19 (million)
% 0.17/0.43  % (18710)------------------------------
% 0.17/0.43  % (18710)------------------------------
% 0.17/0.43  % (18713)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.17/0.44  % (18713)Instruction limit reached!
% 0.17/0.44  % (18713)------------------------------
% 0.17/0.44  % (18713)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.44  % (18713)Termination reason: Unknown
% 0.17/0.44  % (18713)Termination phase: shuffling
% 0.17/0.44  
% 0.17/0.44  % (18713)Memory used [KB]: 1279
% 0.17/0.44  % (18713)Time elapsed: 0.003 s
% 0.17/0.44  % (18713)Instructions burned: 3 (million)
% 0.17/0.44  % (18713)------------------------------
% 0.17/0.44  % (18713)------------------------------
% 0.17/0.44  % (18712)Instruction limit reached!
% 0.17/0.44  % (18712)------------------------------
% 0.17/0.44  % (18712)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.44  % (18712)Termination reason: Unknown
% 0.17/0.44  % (18712)Termination phase: shuffling
% 0.17/0.44  
% 0.17/0.44  % (18712)Memory used [KB]: 1663
% 0.17/0.44  % (18712)Time elapsed: 0.010 s
% 0.17/0.44  % (18712)Instructions burned: 19 (million)
% 0.17/0.44  % (18712)------------------------------
% 0.17/0.44  % (18712)------------------------------
% 0.17/0.44  % (18714)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.17/0.45  % (18715)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.17/0.45  % (18716)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.17/0.45  % (18711)Refutation not found, incomplete strategy
% 0.17/0.45  % (18711)------------------------------
% 0.17/0.45  % (18711)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.45  % (18711)Termination reason: Refutation not found, incomplete strategy
% 0.17/0.45  
% 0.17/0.45  
% 0.17/0.45  % (18711)Memory used [KB]: 6268
% 0.17/0.45  % (18711)Time elapsed: 0.029 s
% 0.17/0.45  % (18711)Instructions burned: 62 (million)
% 0.17/0.45  % (18711)------------------------------
% 0.17/0.45  % (18711)------------------------------
% 0.17/0.46  % (18714)Instruction limit reached!
% 0.17/0.46  % (18714)------------------------------
% 0.17/0.46  % (18714)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.46  % (18714)Termination reason: Unknown
% 0.17/0.46  % (18714)Termination phase: Property scanning
% 0.17/0.46  
% 0.17/0.46  % (18714)Memory used [KB]: 1791
% 0.17/0.46  % (18714)Time elapsed: 0.015 s
% 0.17/0.46  % (18714)Instructions burned: 30 (million)
% 0.17/0.46  % (18714)------------------------------
% 0.17/0.46  % (18714)------------------------------
% 0.17/0.47  % (18717)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)
% 0.17/0.47  % (18717)Instruction limit reached!
% 0.17/0.47  % (18717)------------------------------
% 0.17/0.47  % (18717)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.47  % (18717)Termination reason: Unknown
% 0.17/0.47  % (18717)Termination phase: shuffling
% 0.17/0.47  
% 0.17/0.47  % (18717)Memory used [KB]: 1279
% 0.17/0.47  % (18717)Time elapsed: 0.003 s
% 0.17/0.47  % (18717)Instructions burned: 3 (million)
% 0.17/0.47  % (18717)------------------------------
% 0.17/0.47  % (18717)------------------------------
% 0.17/0.47  % (18718)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)
% 0.17/0.48  % (18718)Instruction limit reached!
% 0.17/0.48  % (18718)------------------------------
% 0.17/0.48  % (18718)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.48  % (18718)Termination reason: Unknown
% 0.17/0.48  % (18718)Termination phase: Property scanning
% 0.17/0.48  
% 0.17/0.48  % (18718)Memory used [KB]: 1663
% 0.17/0.48  % (18718)Time elapsed: 0.011 s
% 0.17/0.48  % (18718)Instructions burned: 20 (million)
% 0.17/0.48  % (18718)------------------------------
% 0.17/0.48  % (18718)------------------------------
% 0.17/0.48  % (18719)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)
% 0.17/0.49  % (18716)Instruction limit reached!
% 0.17/0.49  % (18716)------------------------------
% 0.17/0.49  % (18716)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.49  % (18716)Termination reason: Unknown
% 0.17/0.49  % (18716)Termination phase: Saturation
% 0.17/0.49  
% 0.17/0.49  % (18716)Memory used [KB]: 6524
% 0.17/0.49  % (18716)Time elapsed: 0.042 s
% 0.17/0.49  % (18716)Instructions burned: 101 (million)
% 0.17/0.49  % (18716)------------------------------
% 0.17/0.49  % (18716)------------------------------
% 0.17/0.49  % (18720)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)
% 0.17/0.50  % (18715)Instruction limit reached!
% 0.17/0.50  % (18715)------------------------------
% 0.17/0.50  % (18715)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.50  % (18715)Termination reason: Unknown
% 0.17/0.50  % (18715)Termination phase: Saturation
% 0.17/0.50  
% 0.17/0.50  % (18715)Memory used [KB]: 6524
% 0.17/0.50  % (18715)Time elapsed: 0.053 s
% 0.17/0.50  % (18715)Instructions burned: 128 (million)
% 0.17/0.50  % (18715)------------------------------
% 0.17/0.50  % (18715)------------------------------
% 0.17/0.51  % (18721)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)
% 0.17/0.51  % (18722)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 (2998ds/448Mi)
% 0.17/0.52  % (18719)Instruction limit reached!
% 0.17/0.52  % (18719)------------------------------
% 0.17/0.52  % (18719)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.52  % (18719)Termination reason: Unknown
% 0.17/0.52  % (18719)Termination phase: Property scanning
% 0.17/0.52  
% 0.17/0.52  % (18719)Memory used [KB]: 2046
% 0.17/0.52  % (18719)Time elapsed: 0.036 s
% 0.17/0.52  % (18719)Instructions burned: 86 (million)
% 0.17/0.52  % (18719)------------------------------
% 0.17/0.52  % (18719)------------------------------
% 0.17/0.52  % (18721)Instruction limit reached!
% 0.17/0.52  % (18721)------------------------------
% 0.17/0.52  % (18721)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.52  % (18721)Termination reason: Unknown
% 0.17/0.52  % (18721)Termination phase: Property scanning
% 0.17/0.52  
% 0.17/0.52  % (18721)Memory used [KB]: 1791
% 0.17/0.52  % (18721)Time elapsed: 0.019 s
% 0.17/0.52  % (18721)Instructions burned: 40 (million)
% 0.17/0.52  % (18721)------------------------------
% 0.17/0.52  % (18721)------------------------------
% 0.17/0.53  % (18723)lrs+10_1:512_au=on:fde=unused:lma=on:nm=32:plsq=on:plsqc=1:plsqr=16121663,131072:sfv=off:sp=const_max:ss=axioms:st=3.0:tgt=full:i=46:si=on:rtra=on_0 on theBenchmark for (2998ds/46Mi)
% 0.17/0.54  % (18724)lrs+10_1:10_au=on:av=off:cbe=off:cnfonf=lazy_pi_sigma_gen:ntd=on:plsq=on:plsqc=1:plsqr=32,1:i=98:si=on:rtra=on_0 on theBenchmark for (2998ds/98Mi)
% 0.17/0.54  % (18720)Instruction limit reached!
% 0.17/0.54  % (18720)------------------------------
% 0.17/0.54  % (18720)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.54  % (18720)Termination reason: Unknown
% 0.17/0.54  % (18720)Termination phase: Saturation
% 0.17/0.54  
% 0.17/0.54  % (18720)Memory used [KB]: 6396
% 0.17/0.54  % (18720)Time elapsed: 0.047 s
% 0.17/0.54  % (18720)Instructions burned: 109 (million)
% 0.17/0.54  % (18720)------------------------------
% 0.17/0.54  % (18720)------------------------------
% 0.17/0.55  % (18723)Instruction limit reached!
% 0.17/0.55  % (18723)------------------------------
% 0.17/0.55  % (18723)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.17/0.55  % (18723)Termination reason: Unknown
% 0.17/0.55  % (18723)Termination phase: SInE selection
% 0.17/0.55  
% 0.17/0.55  % (18723)Memory used [KB]: 1791
% 0.17/0.55  % (18723)Time elapsed: 0.022 s
% 0.17/0.55  % (18723)Instructions burned: 47 (million)
% 0.17/0.55  % (18723)------------------------------
% 0.17/0.55  % (18723)------------------------------
% 0.17/0.55  % (18725)ott+1002_1:1_apa=on:au=on:bd=off:cnfonf=off:fd=off:sos=on:sp=weighted_frequency:i=507:si=on:rtra=on_0 on theBenchmark for (2997ds/507Mi)
% 0.17/0.56  % (18726)dis+1010_2:3_amm=off:fd=preordered:ixr=off:nm=0:pe=on:piset=equals:prag=on:sac=on:tgt=ground:i=149:si=on:rtra=on_0 on theBenchmark for (2997ds/149Mi)
% 1.95/0.58  % (18724)Instruction limit reached!
% 1.95/0.58  % (18724)------------------------------
% 1.95/0.58  % (18724)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 1.95/0.58  % (18724)Termination reason: Unknown
% 1.95/0.58  % (18724)Termination phase: Saturation
% 1.95/0.58  
% 1.95/0.58  % (18724)Memory used [KB]: 2046
% 1.95/0.58  % (18724)Time elapsed: 0.041 s
% 1.95/0.58  % (18724)Instructions burned: 99 (million)
% 1.95/0.58  % (18724)------------------------------
% 1.95/0.58  % (18724)------------------------------
% 2.08/0.59  % (18707)Instruction limit reached!
% 2.08/0.59  % (18707)------------------------------
% 2.08/0.59  % (18707)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.08/0.59  % (18707)Termination reason: Unknown
% 2.08/0.59  % (18707)Termination phase: Saturation
% 2.08/0.59  
% 2.08/0.59  % (18707)Memory used [KB]: 7547
% 2.08/0.59  % (18707)Time elapsed: 0.174 s
% 2.08/0.59  % (18707)Instructions burned: 378 (million)
% 2.08/0.59  % (18707)------------------------------
% 2.08/0.59  % (18707)------------------------------
% 2.08/0.59  % (18727)lrs+21_1:16_au=on:bd=off:piset=and:i=39:si=on:rtra=on_0 on theBenchmark for (2997ds/39Mi)
% 2.08/0.60  % (18728)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=6:si=on:rtra=on_0 on theBenchmark for (2997ds/6Mi)
% 2.08/0.60  % (18728)Instruction limit reached!
% 2.08/0.60  % (18728)------------------------------
% 2.08/0.60  % (18728)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.08/0.60  % (18728)Termination reason: Unknown
% 2.08/0.60  % (18728)Termination phase: shuffling
% 2.08/0.60  
% 2.08/0.60  % (18728)Memory used [KB]: 1279
% 2.08/0.60  % (18728)Time elapsed: 0.005 s
% 2.08/0.60  % (18728)Instructions burned: 6 (million)
% 2.08/0.60  % (18728)------------------------------
% 2.08/0.60  % (18728)------------------------------
% 2.08/0.61  % (18727)Instruction limit reached!
% 2.08/0.61  % (18727)------------------------------
% 2.08/0.61  % (18727)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.08/0.61  % (18727)Termination reason: Unknown
% 2.08/0.61  % (18727)Termination phase: Property scanning
% 2.08/0.61  
% 2.08/0.61  % (18727)Memory used [KB]: 1791
% 2.08/0.61  % (18727)Time elapsed: 0.019 s
% 2.08/0.61  % (18727)Instructions burned: 39 (million)
% 2.08/0.61  % (18727)------------------------------
% 2.08/0.61  % (18727)------------------------------
% 2.08/0.62  % (18729)dis+1002_1:1_aac=none:au=on:e2e=on:nm=2:nwc=10.0:sd=1:ss=axioms:st=3.0:i=1087:si=on:rtra=on_0 on theBenchmark for (2997ds/1087Mi)
% 2.08/0.62  % (18730)dis+10_1:1_aac=none:cs=on:i=47:si=on:rtra=on_0 on theBenchmark for (2997ds/47Mi)
% 2.39/0.63  % (18729)Refutation not found, incomplete strategy
% 2.39/0.63  % (18729)------------------------------
% 2.39/0.63  % (18729)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.39/0.63  % (18729)Termination reason: Refutation not found, incomplete strategy
% 2.39/0.63  
% 2.39/0.63  
% 2.39/0.63  % (18729)Memory used [KB]: 6268
% 2.39/0.63  % (18729)Time elapsed: 0.017 s
% 2.39/0.63  % (18729)Instructions burned: 30 (million)
% 2.39/0.63  % (18729)------------------------------
% 2.39/0.63  % (18729)------------------------------
% 2.39/0.63  % (18726)Instruction limit reached!
% 2.39/0.63  % (18726)------------------------------
% 2.39/0.63  % (18726)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.39/0.63  % (18726)Termination reason: Unknown
% 2.39/0.63  % (18726)Termination phase: Saturation
% 2.39/0.63  
% 2.39/0.63  % (18726)Memory used [KB]: 6908
% 2.39/0.63  % (18726)Time elapsed: 0.070 s
% 2.39/0.63  % (18726)Instructions burned: 149 (million)
% 2.39/0.63  % (18726)------------------------------
% 2.39/0.63  % (18726)------------------------------
% 2.48/0.64  % (18730)Instruction limit reached!
% 2.48/0.64  % (18730)------------------------------
% 2.48/0.64  % (18730)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.48/0.64  % (18730)Termination reason: Unknown
% 2.48/0.64  % (18730)Termination phase: Property scanning
% 2.48/0.64  
% 2.48/0.64  % (18730)Memory used [KB]: 1791
% 2.48/0.64  % (18730)Time elapsed: 0.023 s
% 2.48/0.64  % (18730)Instructions burned: 48 (million)
% 2.48/0.64  % (18730)------------------------------
% 2.48/0.64  % (18730)------------------------------
% 2.48/0.65  % (18731)lrs+1010_1:128_av=off:cbe=off:cnfonf=lazy_simp:fsr=off:ntd=on:ss=axioms:st=1.5:i=44:si=on:rtra=on_0 on theBenchmark for (2997ds/44Mi)
% 2.48/0.65  % (18732)dis+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:tnu=1:i=432:si=on:rtra=on_0 on theBenchmark for (2997ds/432Mi)
% 2.48/0.65  % (18733)lrs+10_7:1_cnfonf=lazy_gen:fe=off:nwc=5.0:plsq=on:i=62:si=on:rtra=on_0 on theBenchmark for (2996ds/62Mi)
% 2.48/0.66  % (18731)Instruction limit reached!
% 2.48/0.66  % (18731)------------------------------
% 2.48/0.66  % (18731)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.48/0.66  % (18731)Termination reason: Unknown
% 2.48/0.66  % (18731)Termination phase: SInE selection
% 2.48/0.66  
% 2.48/0.66  % (18731)Memory used [KB]: 1791
% 2.48/0.66  % (18731)Time elapsed: 0.021 s
% 2.48/0.66  % (18731)Instructions burned: 45 (million)
% 2.48/0.66  % (18731)------------------------------
% 2.48/0.66  % (18731)------------------------------
% 2.48/0.68  % (18734)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on theBenchmark for (2996ds/31Mi)
% 2.48/0.68  % (18733)Instruction limit reached!
% 2.48/0.68  % (18733)------------------------------
% 2.48/0.68  % (18733)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.48/0.68  % (18733)Termination reason: Unknown
% 2.48/0.68  % (18733)Termination phase: Function definition elimination
% 2.48/0.68  
% 2.48/0.68  % (18733)Memory used [KB]: 1791
% 2.48/0.68  % (18733)Time elapsed: 0.029 s
% 2.48/0.68  % (18733)Instructions burned: 64 (million)
% 2.48/0.68  % (18733)------------------------------
% 2.48/0.68  % (18733)------------------------------
% 2.48/0.69  % (18734)Instruction limit reached!
% 2.48/0.69  % (18734)------------------------------
% 2.48/0.69  % (18734)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.48/0.69  % (18734)Termination reason: Unknown
% 2.48/0.69  % (18734)Termination phase: Property scanning
% 2.48/0.69  
% 2.48/0.69  % (18734)Memory used [KB]: 1791
% 2.48/0.69  % (18734)Time elapsed: 0.016 s
% 2.48/0.69  % (18734)Instructions burned: 32 (million)
% 2.48/0.69  % (18734)------------------------------
% 2.48/0.69  % (18734)------------------------------
% 2.48/0.69  % (18735)dis+10_1:128_hud=1:i=96:si=on:rtra=on_0 on theBenchmark for (2996ds/96Mi)
% 2.48/0.71  % (18736)lrs+1002_1:4_au=on:cbe=off:cnfonf=lazy_pi_sigma_gen:hud=15:inj=on:nwc=4.0:s2a=on:sac=on:sp=reverse_arity:i=453:si=on:rtra=on_0 on theBenchmark for (2996ds/453Mi)
% 2.97/0.71  % (18722)Instruction limit reached!
% 2.97/0.71  % (18722)------------------------------
% 2.97/0.71  % (18722)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.97/0.71  % (18722)Termination reason: Unknown
% 2.97/0.71  % (18722)Termination phase: Saturation
% 2.97/0.71  
% 2.97/0.71  % (18722)Memory used [KB]: 7291
% 2.97/0.71  % (18722)Time elapsed: 0.200 s
% 2.97/0.71  % (18722)Instructions burned: 448 (million)
% 2.97/0.71  % (18722)------------------------------
% 2.97/0.71  % (18722)------------------------------
% 2.97/0.73  % (18737)lrs-1004_1:1_au=on:bsd=on:cbe=off:cnfonf=off:fe=axiom:fsd=on:i=71:si=on:rtra=on_0 on theBenchmark for (2996ds/71Mi)
% 2.97/0.73  % (18735)Instruction limit reached!
% 2.97/0.73  % (18735)------------------------------
% 2.97/0.73  % (18735)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.97/0.73  % (18735)Termination reason: Unknown
% 2.97/0.73  % (18735)Termination phase: Saturation
% 2.97/0.73  
% 2.97/0.73  % (18735)Memory used [KB]: 6524
% 2.97/0.73  % (18735)Time elapsed: 0.041 s
% 2.97/0.73  % (18735)Instructions burned: 98 (million)
% 2.97/0.73  % (18735)------------------------------
% 2.97/0.73  % (18735)------------------------------
% 2.97/0.75  % (18738)dis+1002_1:1_bd=off:fsr=off:ntd=on:s2a=on:ss=axioms:i=83:si=on:rtra=on_0 on theBenchmark for (2996ds/83Mi)
% 2.97/0.76  % (18737)Instruction limit reached!
% 2.97/0.76  % (18737)------------------------------
% 2.97/0.76  % (18737)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 2.97/0.76  % (18737)Termination reason: Unknown
% 2.97/0.76  % (18737)Termination phase: Function definition elimination
% 2.97/0.76  
% 2.97/0.76  % (18737)Memory used [KB]: 1918
% 2.97/0.76  % (18737)Time elapsed: 0.033 s
% 2.97/0.76  % (18737)Instructions burned: 72 (million)
% 2.97/0.76  % (18737)------------------------------
% 2.97/0.76  % (18737)------------------------------
% 3.30/0.77  % (18725)Instruction limit reached!
% 3.30/0.77  % (18725)------------------------------
% 3.30/0.77  % (18725)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.77  % (18725)Termination reason: Unknown
% 3.30/0.77  % (18725)Termination phase: Saturation
% 3.30/0.77  
% 3.30/0.77  % (18725)Memory used [KB]: 6780
% 3.30/0.77  % (18725)Time elapsed: 0.216 s
% 3.30/0.77  % (18725)Instructions burned: 509 (million)
% 3.30/0.77  % (18725)------------------------------
% 3.30/0.77  % (18725)------------------------------
% 3.30/0.77  % (18739)lrs+10_1:128_cnfonf=lazy_not_gen_be_off:hud=1:ins=1:i=11:si=on:rtra=on_0 on theBenchmark for (2995ds/11Mi)
% 3.30/0.78  % (18739)Instruction limit reached!
% 3.30/0.78  % (18739)------------------------------
% 3.30/0.78  % (18739)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.78  % (18739)Termination reason: Unknown
% 3.30/0.78  % (18739)Termination phase: shuffling
% 3.30/0.78  
% 3.30/0.78  % (18739)Memory used [KB]: 1407
% 3.30/0.78  % (18739)Time elapsed: 0.007 s
% 3.30/0.78  % (18739)Instructions burned: 12 (million)
% 3.30/0.78  % (18739)------------------------------
% 3.30/0.78  % (18739)------------------------------
% 3.30/0.78  % (18740)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_gen_be_off:fsr=off:spb=non_intro:i=41:si=on:rtra=on_0 on theBenchmark for (2995ds/41Mi)
% 3.30/0.78  % (18708)Instruction limit reached!
% 3.30/0.78  % (18708)------------------------------
% 3.30/0.78  % (18708)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.78  % (18708)Termination reason: Unknown
% 3.30/0.78  % (18708)Termination phase: Saturation
% 3.30/0.78  
% 3.30/0.78  % (18708)Memory used [KB]: 7931
% 3.30/0.78  % (18708)Time elapsed: 0.361 s
% 3.30/0.78  % (18708)Instructions burned: 780 (million)
% 3.30/0.78  % (18708)------------------------------
% 3.30/0.78  % (18708)------------------------------
% 3.30/0.78  % (18738)Instruction limit reached!
% 3.30/0.78  % (18738)------------------------------
% 3.30/0.78  % (18738)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.78  % (18738)Termination reason: Unknown
% 3.30/0.78  % (18738)Termination phase: Saturation
% 3.30/0.78  
% 3.30/0.78  % (18738)Memory used [KB]: 6268
% 3.30/0.78  % (18738)Time elapsed: 0.037 s
% 3.30/0.78  % (18738)Instructions burned: 84 (million)
% 3.30/0.78  % (18738)------------------------------
% 3.30/0.78  % (18738)------------------------------
% 3.30/0.79  % (18741)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on theBenchmark for (2995ds/6Mi)
% 3.30/0.79  % (18741)Instruction limit reached!
% 3.30/0.79  % (18741)------------------------------
% 3.30/0.79  % (18741)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.79  % (18741)Termination reason: Unknown
% 3.30/0.79  % (18741)Termination phase: shuffling
% 3.30/0.79  
% 3.30/0.79  % (18741)Memory used [KB]: 1407
% 3.30/0.79  % (18741)Time elapsed: 0.005 s
% 3.30/0.79  % (18741)Instructions burned: 7 (million)
% 3.30/0.79  % (18741)------------------------------
% 3.30/0.79  % (18741)------------------------------
% 3.30/0.79  % (18742)dis+10_1:1_avsq=on:cnfonf=off:e2e=on:nm=32:i=150:si=on:rtra=on_0 on theBenchmark for (2995ds/150Mi)
% 3.30/0.80  % (18743)ott+1010_1:1_au=on:s2a=on:sd=7:ss=axioms:st=1.5:i=343:si=on:rtra=on_0 on theBenchmark for (2995ds/343Mi)
% 3.30/0.80  % (18740)Instruction limit reached!
% 3.30/0.80  % (18740)------------------------------
% 3.30/0.80  % (18740)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.80  % (18740)Termination reason: Unknown
% 3.30/0.80  % (18740)Termination phase: Property scanning
% 3.30/0.80  
% 3.30/0.80  % (18740)Memory used [KB]: 1791
% 3.30/0.80  % (18740)Time elapsed: 0.020 s
% 3.30/0.80  % (18740)Instructions burned: 42 (million)
% 3.30/0.80  % (18740)------------------------------
% 3.30/0.80  % (18740)------------------------------
% 3.30/0.81  % (18744)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=109:si=on:rtra=on_0 on theBenchmark for (2995ds/109Mi)
% 3.30/0.81  % (18745)dis+10_1:1_au=on:c=on:e2e=on:fsr=off:sos=all:sp=const_frequency:ss=axioms:i=253:si=on:rtra=on_0 on theBenchmark for (2995ds/253Mi)
% 3.30/0.81  % (18732)Instruction limit reached!
% 3.30/0.81  % (18732)------------------------------
% 3.30/0.81  % (18732)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.81  % (18732)Termination reason: Unknown
% 3.30/0.81  % (18732)Termination phase: Saturation
% 3.30/0.81  
% 3.30/0.81  % (18732)Memory used [KB]: 2558
% 3.30/0.81  % (18732)Time elapsed: 0.169 s
% 3.30/0.81  % (18732)Instructions burned: 432 (million)
% 3.30/0.81  % (18732)------------------------------
% 3.30/0.81  % (18732)------------------------------
% 3.30/0.83  % (18746)lrs+10_1:1_au=on:cnfonf=off:sd=1:sgt=16:ss=axioms:i=140:si=on:rtra=on_0 on theBenchmark for (2995ds/140Mi)
% 3.30/0.84  % (18703)Instruction limit reached!
% 3.30/0.84  % (18703)------------------------------
% 3.30/0.84  % (18703)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.84  % (18703)Termination reason: Unknown
% 3.30/0.84  % (18703)Termination phase: Saturation
% 3.30/0.84  
% 3.30/0.84  % (18703)Memory used [KB]: 12153
% 3.30/0.84  % (18703)Time elapsed: 0.438 s
% 3.30/0.84  % (18703)Instructions burned: 902 (million)
% 3.30/0.84  % (18703)------------------------------
% 3.30/0.84  % (18703)------------------------------
% 3.30/0.84  % (18692)Instruction limit reached!
% 3.30/0.84  % (18692)------------------------------
% 3.30/0.84  % (18692)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.84  % (18692)Termination reason: Unknown
% 3.30/0.84  % (18692)Termination phase: Saturation
% 3.30/0.84  
% 3.30/0.84  % (18692)Memory used [KB]: 9338
% 3.30/0.84  % (18692)Time elapsed: 0.497 s
% 3.30/0.84  % (18692)Instructions burned: 1042 (million)
% 3.30/0.84  % (18692)------------------------------
% 3.30/0.84  % (18692)------------------------------
% 3.30/0.85  % (18746)Refutation not found, incomplete strategy
% 3.30/0.85  % (18746)------------------------------
% 3.30/0.85  % (18746)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.85  % (18746)Termination reason: Refutation not found, incomplete strategy
% 3.30/0.85  
% 3.30/0.85  
% 3.30/0.85  % (18746)Memory used [KB]: 6268
% 3.30/0.85  % (18746)Time elapsed: 0.025 s
% 3.30/0.85  % (18746)Instructions burned: 52 (million)
% 3.30/0.85  % (18746)------------------------------
% 3.30/0.85  % (18746)------------------------------
% 3.30/0.85  % (18744)Instruction limit reached!
% 3.30/0.85  % (18744)------------------------------
% 3.30/0.85  % (18744)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.30/0.85  % (18744)Termination reason: Unknown
% 3.30/0.85  % (18744)Termination phase: Saturation
% 3.30/0.85  
% 3.30/0.85  % (18744)Memory used [KB]: 6524
% 3.30/0.85  % (18744)Time elapsed: 0.047 s
% 3.30/0.85  % (18744)Instructions burned: 111 (million)
% 3.30/0.85  % (18744)------------------------------
% 3.30/0.85  % (18744)------------------------------
% 3.92/0.85  % (18747)dis+1010_16:1_acc=model:au=on:avsq=on:cond=fast:plsq=on:plsqc=2:plsqr=9267,262144:i=614:si=on:rtra=on_0 on theBenchmark for (2994ds/614Mi)
% 3.92/0.86  % (18748)lrs+1002_1:1_e2e=on:fde=unused:fe=axiom:prag=on:sd=1:sos=on:ss=axioms:st=2.0:i=202:si=on:rtra=on_0 on theBenchmark for (2994ds/202Mi)
% 3.92/0.86  % (18742)Instruction limit reached!
% 3.92/0.86  % (18742)------------------------------
% 3.92/0.86  % (18742)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.92/0.86  % (18742)Termination reason: Unknown
% 3.92/0.86  % (18742)Termination phase: Property scanning
% 3.92/0.86  
% 3.92/0.86  % (18742)Memory used [KB]: 2942
% 3.92/0.86  % (18742)Time elapsed: 0.067 s
% 3.92/0.86  % (18742)Instructions burned: 150 (million)
% 3.92/0.86  % (18742)------------------------------
% 3.92/0.86  % (18742)------------------------------
% 3.92/0.86  % (18749)dis+1002_1:1_au=on:cs=on:ins=3:kws=inv_frequency:nwc=10.0:ss=axioms:st=3.0:i=339:si=on:rtra=on_0 on theBenchmark for (2994ds/339Mi)
% 3.92/0.86  % (18750)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=283:si=on:rtra=on_0 on theBenchmark for (2994ds/283Mi)
% 3.92/0.87  % (18751)dis+2_1:1_cha=on:hud=7:nwc=3.0:prag=on:tnu=2:i=134:si=on:rtra=on_0 on theBenchmark for (2994ds/134Mi)
% 3.92/0.87  % (18748)Refutation not found, incomplete strategy
% 3.92/0.87  % (18748)------------------------------
% 3.92/0.87  % (18748)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 3.92/0.87  % (18748)Termination reason: Refutation not found, incomplete strategy
% 3.92/0.87  
% 3.92/0.87  
% 3.92/0.87  % (18748)Memory used [KB]: 6140
% 3.92/0.87  % (18748)Time elapsed: 0.017 s
% 3.92/0.87  % (18748)Instructions burned: 30 (million)
% 3.92/0.87  % (18748)------------------------------
% 3.92/0.87  % (18748)------------------------------
% 4.02/0.89  % (18752)dis+1010_1:64_cnfonf=lazy_simp:fd=off:i=298:si=on:rtra=on_0 on theBenchmark for (2994ds/298Mi)
% 4.02/0.90  % (18736)Instruction limit reached!
% 4.02/0.90  % (18736)------------------------------
% 4.02/0.90  % (18736)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.02/0.90  % (18736)Termination reason: Unknown
% 4.02/0.90  % (18736)Termination phase: Saturation
% 4.02/0.90  
% 4.02/0.90  % (18736)Memory used [KB]: 7419
% 4.02/0.90  % (18736)Time elapsed: 0.220 s
% 4.02/0.90  % (18736)Instructions burned: 453 (million)
% 4.02/0.90  % (18736)------------------------------
% 4.02/0.90  % (18736)------------------------------
% 4.02/0.92  % (18753)lrs+2_1:8_erd=off:plsq=on:plsqr=32,1:sos=on:i=192:si=on:rtra=on_0 on theBenchmark for (2994ds/192Mi)
% 4.23/0.93  % (18751)Instruction limit reached!
% 4.23/0.93  % (18751)------------------------------
% 4.23/0.93  % (18751)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.23/0.93  % (18751)Termination reason: Unknown
% 4.23/0.93  % (18751)Termination phase: Saturation
% 4.23/0.93  
% 4.23/0.93  % (18751)Memory used [KB]: 6524
% 4.23/0.93  % (18751)Time elapsed: 0.056 s
% 4.23/0.93  % (18751)Instructions burned: 136 (million)
% 4.23/0.93  % (18751)------------------------------
% 4.23/0.93  % (18751)------------------------------
% 4.30/0.94  % (18754)lrs+10_1:1_bd=off:hud=1:nm=0:prag=on:sd=2:sgt=32:sos=all:ss=axioms:i=258:si=on:rtra=on_0 on theBenchmark for (2993ds/258Mi)
% 4.30/0.94  % (18745)Instruction limit reached!
% 4.30/0.94  % (18745)------------------------------
% 4.30/0.94  % (18745)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/0.94  % (18745)Termination reason: Unknown
% 4.30/0.94  % (18745)Termination phase: Saturation
% 4.30/0.94  
% 4.30/0.94  % (18745)Memory used [KB]: 7675
% 4.30/0.94  % (18745)Time elapsed: 0.132 s
% 4.30/0.94  % (18745)Instructions burned: 254 (million)
% 4.30/0.94  % (18745)------------------------------
% 4.30/0.94  % (18745)------------------------------
% 4.30/0.95  % (18743)Instruction limit reached!
% 4.30/0.95  % (18743)------------------------------
% 4.30/0.95  % (18743)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/0.95  % (18743)Termination reason: Unknown
% 4.30/0.95  % (18743)Termination phase: Saturation
% 4.30/0.95  
% 4.30/0.95  % (18743)Memory used [KB]: 7547
% 4.30/0.95  % (18743)Time elapsed: 0.180 s
% 4.30/0.95  % (18743)Instructions burned: 343 (million)
% 4.30/0.95  % (18743)------------------------------
% 4.30/0.95  % (18743)------------------------------
% 4.30/0.96  % (18755)lrs+1002_1:1024_au=on:cond=fast:ntd=on:piset=and:plsq=on:plsqc=1:plsqr=183491,1048576:sac=on:tgt=ground:i=90:si=on:rtra=on_0 on theBenchmark for (2993ds/90Mi)
% 4.30/0.96  % (18756)dis+1004_16:1_avsq=on:avsqr=1,16:cnfonf=lazy_gen:cs=on:fe=off:tgt=ground:tnu=1:i=231:si=on:rtra=on_0 on theBenchmark for (2993ds/231Mi)
% 4.30/0.98  % (18750)Instruction limit reached!
% 4.30/0.98  % (18750)------------------------------
% 4.30/0.98  % (18750)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/0.98  % (18750)Termination reason: Unknown
% 4.30/0.98  % (18750)Termination phase: Saturation
% 4.30/0.98  
% 4.30/0.98  % (18750)Memory used [KB]: 7036
% 4.30/0.98  % (18750)Time elapsed: 0.113 s
% 4.30/0.98  % (18750)Instructions burned: 284 (million)
% 4.30/0.98  % (18750)------------------------------
% 4.30/0.98  % (18750)------------------------------
% 4.30/0.98  % (18749)Instruction limit reached!
% 4.30/0.98  % (18749)------------------------------
% 4.30/0.98  % (18749)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/0.98  % (18749)Termination reason: Unknown
% 4.30/0.98  % (18749)Termination phase: Saturation
% 4.30/0.98  
% 4.30/0.98  % (18749)Memory used [KB]: 6908
% 4.30/0.98  % (18749)Time elapsed: 0.116 s
% 4.30/0.98  % (18749)Instructions burned: 339 (million)
% 4.30/0.98  % (18749)------------------------------
% 4.30/0.98  % (18749)------------------------------
% 4.30/0.99  % (18757)lrs+1002_1:1_au=on:s2a=on:sgt=32:slsq=on:slsqc=1:slsql=off:ss=axioms:i=458:si=on:rtra=on_0 on theBenchmark for (2993ds/458Mi)
% 4.30/0.99  % (18755)Instruction limit reached!
% 4.30/0.99  % (18755)------------------------------
% 4.30/0.99  % (18755)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/0.99  % (18755)Termination reason: Unknown
% 4.30/0.99  % (18755)Termination phase: Twee Goal Transformation
% 4.30/0.99  
% 4.30/0.99  % (18755)Memory used [KB]: 2174
% 4.30/0.99  % (18755)Time elapsed: 0.038 s
% 4.30/0.99  % (18755)Instructions burned: 90 (million)
% 4.30/0.99  % (18755)------------------------------
% 4.30/0.99  % (18755)------------------------------
% 4.30/0.99  % (18758)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on theBenchmark for (2993ds/31Mi)
% 4.30/1.00  % (18753)Instruction limit reached!
% 4.30/1.00  % (18753)------------------------------
% 4.30/1.00  % (18753)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/1.00  % (18753)Termination reason: Unknown
% 4.30/1.00  % (18753)Termination phase: Saturation
% 4.30/1.00  
% 4.30/1.00  % (18753)Memory used [KB]: 6652
% 4.30/1.00  % (18753)Time elapsed: 0.080 s
% 4.30/1.00  % (18753)Instructions burned: 194 (million)
% 4.30/1.00  % (18753)------------------------------
% 4.30/1.00  % (18753)------------------------------
% 4.30/1.01  % (18759)lrs+10_1:1_cnfonf=lazy_gen:kws=inv_precedence:nwc=10.0:s2a=on:sp=weighted_frequency:ss=axioms:i=297:si=on:rtra=on_0 on theBenchmark for (2993ds/297Mi)
% 4.30/1.01  % (18758)Instruction limit reached!
% 4.30/1.01  % (18758)------------------------------
% 4.30/1.01  % (18758)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 4.30/1.01  % (18758)Termination reason: Unknown
% 4.30/1.01  % (18758)Termination phase: Property scanning
% 4.30/1.01  
% 4.30/1.01  % (18758)Memory used [KB]: 1791
% 4.30/1.01  % (18758)Time elapsed: 0.016 s
% 4.30/1.01  % (18758)Instructions burned: 32 (million)
% 4.30/1.01  % (18758)------------------------------
% 4.30/1.01  % (18758)------------------------------
% 5.03/1.01  % (18760)dis+2_1:4_amm=off:au=on:cbe=off:cnfonf=lazy_gen:hfaw=0:hfsq=on:hfsql=off:plsq=on:plsqc=1:plsqr=35,4:sac=on:i=987:si=on:rtra=on_0 on theBenchmark for (2993ds/987Mi)
% 5.03/1.02  % (18752)Instruction limit reached!
% 5.03/1.02  % (18752)------------------------------
% 5.03/1.02  % (18752)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.03/1.02  % (18761)lrs+10_1:1024_avsq=on:avsqc=4:avsqr=584411,1048576:bd=off:bet=on:br=off:chr=on:fsd=on:fsdmm=1:hud=10:nm=0:ntd=on:nwc=9.0:piset=or:plsq=on:plsqc=2:plsql=on:plsqr=852219,1048576:rawr=on:sp=const_frequency:spb=units:i=182:si=on:rtra=on_0 on theBenchmark for (2993ds/182Mi)
% 5.03/1.02  % (18752)Termination reason: Unknown
% 5.03/1.02  % (18752)Termination phase: Saturation
% 5.03/1.02  
% 5.03/1.02  % (18752)Memory used [KB]: 7164
% 5.03/1.02  % (18752)Time elapsed: 0.134 s
% 5.03/1.02  % (18752)Instructions burned: 299 (million)
% 5.03/1.02  % (18752)------------------------------
% 5.03/1.02  % (18752)------------------------------
% 5.03/1.03  % (18762)dis+10_1:1_au=on:e2e=on:fde=none:nwc=10.0:s2a=on:s2at=2.0:i=182:si=on:rtra=on_0 on theBenchmark for (2993ds/182Mi)
% 5.03/1.05  % (18754)Instruction limit reached!
% 5.03/1.05  % (18754)------------------------------
% 5.03/1.05  % (18754)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.03/1.05  % (18754)Termination reason: Unknown
% 5.03/1.05  % (18754)Termination phase: Saturation
% 5.03/1.05  
% 5.03/1.05  % (18754)Memory used [KB]: 6908
% 5.03/1.05  % (18754)Time elapsed: 0.110 s
% 5.03/1.05  % (18754)Instructions burned: 258 (million)
% 5.03/1.05  % (18754)------------------------------
% 5.03/1.05  % (18754)------------------------------
% 5.03/1.06  % (18763)dis+10_1:8_cha=on:cnfonf=lazy_pi_sigma_gen:fe=axiom:hud=5:plsq=on:plsqr=32,1:prag=on:sos=all:i=154:si=on:rtra=on_0 on theBenchmark for (2992ds/154Mi)
% 5.03/1.08  % (18756)Instruction limit reached!
% 5.03/1.08  % (18756)------------------------------
% 5.03/1.08  % (18756)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 5.03/1.08  % (18756)Termination reason: Unknown
% 5.03/1.08  % (18756)Termination phase: Saturation
% 5.03/1.08  
% 5.03/1.08  % (18756)Memory used [KB]: 8059
% 5.03/1.08  % (18756)Time elapsed: 0.121 s
% 5.03/1.08  % (18756)Instructions burned: 231 (million)
% 5.03/1.08  % (18756)------------------------------
% 5.03/1.08  % (18756)------------------------------
% 6.08/1.09  % (18761)Instruction limit reached!
% 6.08/1.09  % (18761)------------------------------
% 6.08/1.09  % (18761)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.09  % (18761)Termination reason: Unknown
% 6.08/1.09  % (18761)Termination phase: Saturation
% 6.08/1.09  
% 6.08/1.09  % (18761)Memory used [KB]: 6652
% 6.08/1.09  % (18761)Time elapsed: 0.075 s
% 6.08/1.09  % (18761)Instructions burned: 183 (million)
% 6.08/1.09  % (18761)------------------------------
% 6.08/1.09  % (18761)------------------------------
% 6.08/1.10  % (18764)dis+1003_1:64_atotf=0.4:au=on:fsr=off:hflw=5:hfsq=on:hfsqc=20:hfsql=off:plsq=on:plsqc=1:plsqr=32,1:i=79:si=on:rtra=on_0 on theBenchmark for (2992ds/79Mi)
% 6.08/1.11  % (18765)dis+1010_5:2_anc=all_dependent:awrs=converge:bd=off:bet=on:c=on:cha=on:cnfonf=lazy_not_gen_be_off:fe=axiom:hud=5:kws=precedence:piset=and:prag=on:s2a=on:sac=on:slsq=on:slsqc=1:sp=reverse_arity:ss=axioms:st=1.5:i=216:si=on:rtra=on_0 on theBenchmark for (2992ds/216Mi)
% 6.08/1.12  % (18763)Instruction limit reached!
% 6.08/1.12  % (18763)------------------------------
% 6.08/1.12  % (18763)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.12  % (18763)Termination reason: Unknown
% 6.08/1.12  % (18763)Termination phase: Saturation
% 6.08/1.12  
% 6.08/1.12  % (18763)Memory used [KB]: 6524
% 6.08/1.12  % (18763)Time elapsed: 0.061 s
% 6.08/1.12  % (18763)Instructions burned: 154 (million)
% 6.08/1.12  % (18763)------------------------------
% 6.08/1.12  % (18763)------------------------------
% 6.08/1.13  % (18764)Instruction limit reached!
% 6.08/1.13  % (18764)------------------------------
% 6.08/1.13  % (18764)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.13  % (18764)Termination reason: Unknown
% 6.08/1.13  % (18764)Termination phase: Function definition elimination
% 6.08/1.13  
% 6.08/1.13  % (18764)Memory used [KB]: 2046
% 6.08/1.13  % (18764)Time elapsed: 0.035 s
% 6.08/1.13  % (18764)Instructions burned: 81 (million)
% 6.08/1.13  % (18764)------------------------------
% 6.08/1.13  % (18764)------------------------------
% 6.08/1.13  % (18759)Instruction limit reached!
% 6.08/1.13  % (18759)------------------------------
% 6.08/1.13  % (18759)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.13  % (18759)Termination reason: Unknown
% 6.08/1.13  % (18759)Termination phase: Saturation
% 6.08/1.13  
% 6.08/1.13  % (18759)Memory used [KB]: 6652
% 6.08/1.13  % (18759)Time elapsed: 0.128 s
% 6.08/1.13  % (18759)Instructions burned: 299 (million)
% 6.08/1.13  % (18759)------------------------------
% 6.08/1.13  % (18759)------------------------------
% 6.08/1.13  % (18747)Instruction limit reached!
% 6.08/1.13  % (18747)------------------------------
% 6.08/1.13  % (18747)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.13  % (18747)Termination reason: Unknown
% 6.08/1.13  % (18747)Termination phase: Saturation
% 6.08/1.13  
% 6.08/1.13  % (18747)Memory used [KB]: 7803
% 6.08/1.13  % (18747)Time elapsed: 0.282 s
% 6.08/1.13  % (18747)Instructions burned: 615 (million)
% 6.08/1.13  % (18747)------------------------------
% 6.08/1.13  % (18747)------------------------------
% 6.08/1.14  % (18766)lrs+1002_1:1_fe=off:hud=10:ins=2:sac=on:sp=const_frequency:i=114:si=on:rtra=on_0 on theBenchmark for (2992ds/114Mi)
% 6.08/1.14  % (18762)Instruction limit reached!
% 6.08/1.14  % (18762)------------------------------
% 6.08/1.14  % (18762)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.08/1.14  % (18762)Termination reason: Unknown
% 6.08/1.14  % (18762)Termination phase: Saturation
% 6.08/1.14  
% 6.08/1.14  % (18762)Memory used [KB]: 9466
% 6.08/1.14  % (18762)Time elapsed: 0.115 s
% 6.08/1.14  % (18762)Instructions burned: 183 (million)
% 6.08/1.14  % (18762)------------------------------
% 6.08/1.14  % (18762)------------------------------
% 6.08/1.14  % (18767)dis+1002_1:1_acc=on:au=on:bd=off:e2e=on:sgt=8:ss=axioms:i=922:si=on:rtra=on_0 on theBenchmark for (2991ds/922Mi)
% 6.08/1.14  % (18768)lrs+10_1:128_au=on:bd=off:cnfonf=lazy_not_gen_be_off:nwc=10.0:piset=and:i=182:si=on:rtra=on_0 on theBenchmark for (2991ds/182Mi)
% 6.08/1.15  % (18769)ott+1010_1:1024_au=on:av=off:c=on:cnfonf=conj_eager:piset=equals:s2a=on:sp=occurrence:spb=units:ss=axioms:i=164:si=on:rtra=on_0 on theBenchmark for (2991ds/164Mi)
% 6.08/1.16  % (18770)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=50:si=on:rtra=on_0 on theBenchmark for (2991ds/50Mi)
% 6.53/1.18  % (18770)Instruction limit reached!
% 6.53/1.18  % (18770)------------------------------
% 6.53/1.18  % (18770)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.53/1.18  % (18770)Termination reason: Unknown
% 6.53/1.18  % (18770)Termination phase: Property scanning
% 6.53/1.18  
% 6.53/1.18  % (18770)Memory used [KB]: 1791
% 6.53/1.18  % (18770)Time elapsed: 0.024 s
% 6.53/1.18  % (18770)Instructions burned: 50 (million)
% 6.53/1.18  % (18770)------------------------------
% 6.53/1.18  % (18770)------------------------------
% 6.53/1.18  % (18766)Instruction limit reached!
% 6.53/1.18  % (18766)------------------------------
% 6.53/1.18  % (18766)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.53/1.18  % (18766)Termination reason: Unknown
% 6.53/1.18  % (18766)Termination phase: Saturation
% 6.53/1.18  
% 6.53/1.18  % (18766)Memory used [KB]: 6908
% 6.53/1.18  % (18766)Time elapsed: 0.048 s
% 6.53/1.18  % (18766)Instructions burned: 115 (million)
% 6.53/1.18  % (18766)------------------------------
% 6.53/1.18  % (18766)------------------------------
% 6.53/1.19  % (18771)dis-30_1:1_acc=on:bd=off:fsr=off:plsq=on:plsqr=32,1:i=368:si=on:rtra=on_0 on theBenchmark for (2991ds/368Mi)
% 6.53/1.19  % (18765)Instruction limit reached!
% 6.53/1.19  % (18765)------------------------------
% 6.53/1.19  % (18765)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.53/1.19  % (18765)Termination reason: Unknown
% 6.53/1.19  % (18765)Termination phase: Saturation
% 6.53/1.19  
% 6.53/1.19  % (18765)Memory used [KB]: 6652
% 6.53/1.19  % (18765)Time elapsed: 0.087 s
% 6.53/1.19  % (18765)Instructions burned: 217 (million)
% 6.53/1.19  % (18765)------------------------------
% 6.53/1.19  % (18765)------------------------------
% 6.53/1.20  % (18772)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=1021:si=on:rtra=on_0 on theBenchmark for (2991ds/1021Mi)
% 6.53/1.20  % (18757)Instruction limit reached!
% 6.53/1.20  % (18757)------------------------------
% 6.53/1.20  % (18757)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.53/1.20  % (18757)Termination reason: Unknown
% 6.53/1.20  % (18757)Termination phase: Saturation
% 6.53/1.20  
% 6.53/1.20  % (18757)Memory used [KB]: 7931
% 6.53/1.20  % (18757)Time elapsed: 0.210 s
% 6.53/1.20  % (18757)Instructions burned: 458 (million)
% 6.53/1.20  % (18757)------------------------------
% 6.53/1.20  % (18757)------------------------------
% 6.53/1.21  % (18773)dis+10_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=267:si=on:rtra=on_0 on theBenchmark for (2991ds/267Mi)
% 6.78/1.21  % (18774)dis+21_1:5_au=on:ntd=on:nwc=5.0:s2a=on:ss=axioms:st=5.0:i=204:si=on:rtra=on_0 on theBenchmark for (2991ds/204Mi)
% 6.78/1.21  % (18769)Instruction limit reached!
% 6.78/1.21  % (18769)------------------------------
% 6.78/1.21  % (18769)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.78/1.21  % (18769)Termination reason: Unknown
% 6.78/1.21  % (18769)Termination phase: Saturation
% 6.78/1.21  
% 6.78/1.21  % (18769)Memory used [KB]: 2046
% 6.78/1.21  % (18769)Time elapsed: 0.068 s
% 6.78/1.21  % (18769)Instructions burned: 164 (million)
% 6.78/1.21  % (18769)------------------------------
% 6.78/1.21  % (18769)------------------------------
% 6.78/1.21  % (18768)Instruction limit reached!
% 6.78/1.21  % (18768)------------------------------
% 6.78/1.21  % (18768)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.78/1.21  % (18768)Termination reason: Unknown
% 6.78/1.21  % (18768)Termination phase: Saturation
% 6.78/1.21  
% 6.78/1.21  % (18768)Memory used [KB]: 6652
% 6.78/1.21  % (18768)Time elapsed: 0.071 s
% 6.78/1.21  % (18768)Instructions burned: 182 (million)
% 6.78/1.21  % (18768)------------------------------
% 6.78/1.21  % (18768)------------------------------
% 6.78/1.23  % (18775)dis+2_1:1024_atotf=0.0802881:au=on:bs=unit_only:cnfonf=lazy_not_gen_be_off:fde=none:nwc=10.0:prag=on:i=26:si=on:rtra=on_0 on theBenchmark for (2991ds/26Mi)
% 6.97/1.23  % (18776)dis+1002_1:1_bd=preordered:c=on:cbe=off:cnfonf=lazy_not_gen_be_off:hud=10:ixr=off:prag=on:i=53:si=on:rtra=on_0 on theBenchmark for (2991ds/53Mi)
% 6.97/1.24  % (18775)Instruction limit reached!
% 6.97/1.24  % (18775)------------------------------
% 6.97/1.24  % (18775)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.97/1.24  % (18775)Termination reason: Unknown
% 6.97/1.24  % (18775)Termination phase: Property scanning
% 6.97/1.24  
% 6.97/1.24  % (18775)Memory used [KB]: 1791
% 6.97/1.24  % (18775)Time elapsed: 0.014 s
% 6.97/1.24  % (18775)Instructions burned: 27 (million)
% 6.97/1.24  % (18775)------------------------------
% 6.97/1.24  % (18775)------------------------------
% 6.97/1.25  % (18776)Instruction limit reached!
% 6.97/1.25  % (18776)------------------------------
% 6.97/1.25  % (18776)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.97/1.25  % (18776)Termination reason: Unknown
% 6.97/1.25  % (18776)Termination phase: Property scanning
% 6.97/1.25  
% 6.97/1.25  % (18776)Memory used [KB]: 1791
% 6.97/1.25  % (18776)Time elapsed: 0.025 s
% 6.97/1.25  % (18776)Instructions burned: 54 (million)
% 6.97/1.25  % (18776)------------------------------
% 6.97/1.25  % (18776)------------------------------
% 6.97/1.25  % (18777)dis+1002_1:1_aac=none:au=on:e2e=on:nm=2:nwc=10.0:sd=1:ss=axioms:st=3.0:i=4436:si=on:rtra=on_0 on theBenchmark for (2990ds/4436Mi)
% 6.97/1.26  % (18778)dis+1010_1:1_acc=model:avsq=on:ixr=off:prag=on:s2a=on:sac=on:i=1539:si=on:rtra=on_0 on theBenchmark for (2990ds/1539Mi)
% 6.97/1.27  % (18777)Refutation not found, incomplete strategy
% 6.97/1.27  % (18777)------------------------------
% 6.97/1.27  % (18777)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.97/1.27  % (18777)Termination reason: Refutation not found, incomplete strategy
% 6.97/1.27  
% 6.97/1.27  
% 6.97/1.27  % (18777)Memory used [KB]: 6268
% 6.97/1.27  % (18777)Time elapsed: 0.017 s
% 6.97/1.27  % (18777)Instructions burned: 30 (million)
% 6.97/1.27  % (18777)------------------------------
% 6.97/1.27  % (18777)------------------------------
% 6.97/1.28  % (18779)lrs+2_1:1_bd=off:e2e=on:fde=none:kws=inv_precedence:plsq=on:plsqr=32,1:sos=on:i=408:si=on:rtra=on_0 on theBenchmark for (2990ds/408Mi)
% 6.97/1.29  % (18774)Instruction limit reached!
% 6.97/1.29  % (18774)------------------------------
% 6.97/1.29  % (18774)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.97/1.29  % (18774)Termination reason: Unknown
% 6.97/1.29  % (18774)Termination phase: Saturation
% 6.97/1.29  
% 6.97/1.29  % (18774)Memory used [KB]: 6652
% 6.97/1.29  % (18774)Time elapsed: 0.085 s
% 6.97/1.29  % (18774)Instructions burned: 204 (million)
% 6.97/1.29  % (18774)------------------------------
% 6.97/1.29  % (18774)------------------------------
% 6.97/1.31  % (18780)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=5205:si=on:rtra=on_0 on theBenchmark for (2990ds/5205Mi)
% 6.97/1.31  % (18773)Instruction limit reached!
% 6.97/1.31  % (18773)------------------------------
% 6.97/1.31  % (18773)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 6.97/1.31  % (18773)Termination reason: Unknown
% 6.97/1.31  % (18773)Termination phase: Saturation
% 6.97/1.31  
% 6.97/1.31  % (18773)Memory used [KB]: 7036
% 6.97/1.31  % (18773)Time elapsed: 0.107 s
% 6.97/1.31  % (18773)Instructions burned: 269 (million)
% 6.97/1.31  % (18773)------------------------------
% 6.97/1.31  % (18773)------------------------------
% 7.37/1.32  % (18781)dis+1010_1:4_au=on:av=off:cbe=off:nwc=10.0:s2a=on:s2at=3.0:sd=2:ss=axioms:st=5.0:i=1913:si=on:rtra=on_0 on theBenchmark for (2990ds/1913Mi)
% 7.37/1.34  % (18771)Instruction limit reached!
% 7.37/1.34  % (18771)------------------------------
% 7.37/1.34  % (18771)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.37/1.34  % (18771)Termination reason: Unknown
% 7.37/1.34  % (18771)Termination phase: Saturation
% 7.37/1.34  
% 7.37/1.34  % (18771)Memory used [KB]: 7291
% 7.37/1.34  % (18771)Time elapsed: 0.154 s
% 7.37/1.34  % (18771)Instructions burned: 368 (million)
% 7.37/1.34  % (18771)------------------------------
% 7.37/1.34  % (18771)------------------------------
% 7.37/1.36  % (18782)lrs+2_1:1_bd=off:cbe=off:piset=equals:sd=1:sgt=20:sos=all:ss=axioms:i=4350:si=on:rtra=on_0 on theBenchmark for (2989ds/4350Mi)
% 7.37/1.38  % (18782)Refutation not found, incomplete strategy
% 7.37/1.38  % (18782)------------------------------
% 7.37/1.38  % (18782)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.37/1.38  % (18782)Termination reason: Refutation not found, incomplete strategy
% 7.37/1.38  
% 7.37/1.38  
% 7.37/1.38  % (18782)Memory used [KB]: 6268
% 7.37/1.38  % (18782)Time elapsed: 0.028 s
% 7.37/1.38  % (18782)Instructions burned: 55 (million)
% 7.37/1.38  % (18782)------------------------------
% 7.37/1.38  % (18782)------------------------------
% 7.65/1.40  % (18783)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=68:si=on:rtra=on_0 on theBenchmark for (2989ds/68Mi)
% 7.65/1.40  % (18760)Instruction limit reached!
% 7.65/1.40  % (18760)------------------------------
% 7.65/1.40  % (18760)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.65/1.40  % (18760)Termination reason: Unknown
% 7.65/1.40  % (18760)Termination phase: Saturation
% 7.65/1.40  
% 7.65/1.40  % (18760)Memory used [KB]: 7419
% 7.65/1.40  % (18760)Time elapsed: 0.392 s
% 7.65/1.40  % (18760)Instructions burned: 987 (million)
% 7.65/1.40  % (18760)------------------------------
% 7.65/1.40  % (18760)------------------------------
% 7.65/1.41  % (18784)dis+10_1:1_au=on:nwc=5.0:s2a=on:s2at=2.0:sac=on:sd=7:ss=axioms:st=2.0:i=358:si=on:rtra=on_0 on theBenchmark for (2989ds/358Mi)
% 7.65/1.43  % (18783)Instruction limit reached!
% 7.65/1.43  % (18783)------------------------------
% 7.65/1.43  % (18783)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.65/1.43  % (18783)Termination reason: Unknown
% 7.65/1.43  % (18783)Termination phase: Function definition elimination
% 7.65/1.43  
% 7.65/1.43  % (18783)Memory used [KB]: 1791
% 7.65/1.43  % (18783)Time elapsed: 0.031 s
% 7.65/1.43  % (18783)Instructions burned: 69 (million)
% 7.65/1.43  % (18783)------------------------------
% 7.65/1.43  % (18783)------------------------------
% 7.65/1.44  % (18785)lrs+1010_1:16_add=large:amm=off:anc=all_dependent:chr=on:fd=off:ins=2:sp=const_max:tnu=5:uhcvi=on:i=31:si=on:rtra=on_0 on theBenchmark for (2989ds/31Mi)
% 7.65/1.46  % (18785)Instruction limit reached!
% 7.65/1.46  % (18785)------------------------------
% 7.65/1.46  % (18785)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.65/1.46  % (18785)Termination reason: Unknown
% 7.65/1.46  % (18785)Termination phase: Property scanning
% 7.65/1.46  
% 7.65/1.46  % (18785)Memory used [KB]: 1791
% 7.65/1.46  % (18785)Time elapsed: 0.016 s
% 7.65/1.46  % (18785)Instructions burned: 31 (million)
% 7.65/1.46  % (18785)------------------------------
% 7.65/1.46  % (18785)------------------------------
% 7.74/1.47  % (18786)lrs+10_1:1_cnfonf=lazy_simp:sgt=5:sos=on:ss=axioms:i=279:si=on:rtra=on_0 on theBenchmark for (2988ds/279Mi)
% 7.74/1.49  % (18779)Instruction limit reached!
% 7.74/1.49  % (18779)------------------------------
% 7.74/1.49  % (18779)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.74/1.49  % (18779)Termination reason: Unknown
% 7.74/1.49  % (18779)Termination phase: Saturation
% 7.74/1.49  
% 7.74/1.49  % (18779)Memory used [KB]: 9338
% 7.74/1.49  % (18779)Time elapsed: 0.206 s
% 7.74/1.49  % (18779)Instructions burned: 408 (million)
% 7.74/1.49  % (18779)------------------------------
% 7.74/1.49  % (18779)------------------------------
% 7.74/1.50  % (18787)lrs+10_8:1_au=on:fde=none:slsq=on:i=258:si=on:rtra=on_0 on theBenchmark for (2988ds/258Mi)
% 7.95/1.57  % (18784)Instruction limit reached!
% 7.95/1.57  % (18784)------------------------------
% 7.95/1.57  % (18784)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.95/1.57  % (18784)Termination reason: Unknown
% 7.95/1.57  % (18784)Termination phase: Saturation
% 7.95/1.57  
% 7.95/1.57  % (18784)Memory used [KB]: 7164
% 7.95/1.57  % (18784)Time elapsed: 0.183 s
% 7.95/1.57  % (18784)Instructions burned: 358 (million)
% 7.95/1.57  % (18784)------------------------------
% 7.95/1.57  % (18784)------------------------------
% 7.95/1.58  % (18786)Instruction limit reached!
% 7.95/1.58  % (18786)------------------------------
% 7.95/1.58  % (18786)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.95/1.58  % (18786)Termination reason: Unknown
% 7.95/1.58  % (18786)Termination phase: Saturation
% 7.95/1.58  
% 7.95/1.58  % (18786)Memory used [KB]: 6652
% 7.95/1.58  % (18786)Time elapsed: 0.115 s
% 7.95/1.58  % (18786)Instructions burned: 280 (million)
% 7.95/1.58  % (18786)------------------------------
% 7.95/1.58  % (18786)------------------------------
% 7.95/1.59  % (18788)dis+2_1:1024_atotf=0.0802881:au=on:bs=unit_only:cnfonf=lazy_not_gen_be_off:fde=none:nwc=10.0:prag=on:i=26:si=on:rtra=on_0 on theBenchmark for (2987ds/26Mi)
% 7.95/1.60  % (18789)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=995:si=on:rtra=on_0 on theBenchmark for (2987ds/995Mi)
% 7.95/1.60  % (18788)Instruction limit reached!
% 7.95/1.60  % (18788)------------------------------
% 7.95/1.60  % (18788)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.95/1.60  % (18788)Termination reason: Unknown
% 7.95/1.60  % (18788)Termination phase: Property scanning
% 7.95/1.60  
% 7.95/1.60  % (18788)Memory used [KB]: 1791
% 7.95/1.60  % (18788)Time elapsed: 0.013 s
% 7.95/1.60  % (18788)Instructions burned: 26 (million)
% 7.95/1.60  % (18788)------------------------------
% 7.95/1.60  % (18788)------------------------------
% 7.95/1.61  % (18787)Instruction limit reached!
% 7.95/1.61  % (18787)------------------------------
% 7.95/1.61  % (18787)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 7.95/1.61  % (18787)Termination reason: Unknown
% 7.95/1.61  % (18787)Termination phase: Saturation
% 7.95/1.61  
% 7.95/1.61  % (18787)Memory used [KB]: 7419
% 7.95/1.61  % (18787)Time elapsed: 0.115 s
% 7.95/1.61  % (18787)Instructions burned: 258 (million)
% 7.95/1.61  % (18787)------------------------------
% 7.95/1.61  % (18787)------------------------------
% 7.95/1.61  % (18790)dis+10_1:8_amm=sco:cbe=off:hflw=5:hfsq=on:hfsqc=14:hfsql=off:hfsqr=4,1:hud=5:ile=on:lma=on:nm=2:ntd=on:prag=on:sac=on:sp=frequency:i=373:si=on:rtra=on_0 on theBenchmark for (2987ds/373Mi)
% 8.41/1.62  % (18767)Instruction limit reached!
% 8.41/1.62  % (18767)------------------------------
% 8.41/1.62  % (18767)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.41/1.62  % (18767)Termination reason: Unknown
% 8.41/1.62  % (18767)Termination phase: Saturation
% 8.41/1.62  
% 8.41/1.62  % (18767)Memory used [KB]: 11897
% 8.41/1.62  % (18767)Time elapsed: 0.474 s
% 8.41/1.62  % (18767)Instructions burned: 923 (million)
% 8.41/1.62  % (18767)------------------------------
% 8.41/1.62  % (18767)------------------------------
% 8.41/1.63  % (18791)lrs+1010_1:128_au=on:cnfonf=lazy_pi_sigma_gen:hflw=4:hfsq=on:hfsqc=20:hfsql=off:i=253:si=on:rtra=on_0 on theBenchmark for (2987ds/253Mi)
% 8.41/1.63  % (18792)lrs+1002_1:14_au=on:bd=off:e2e=on:fde=unused:sac=on:sos=on:i=832:si=on:rtra=on_0 on theBenchmark for (2987ds/832Mi)
% 8.41/1.69  % (18772)Instruction limit reached!
% 8.41/1.69  % (18772)------------------------------
% 8.41/1.69  % (18772)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 8.41/1.69  % (18772)Termination reason: Unknown
% 8.41/1.69  % (18772)Termination phase: Saturation
% 8.41/1.69  
% 8.41/1.69  % (18772)Memory used [KB]: 11385
% 8.41/1.69  % (18772)Time elapsed: 0.501 s
% 8.41/1.69  % (18772)Instructions burned: 1021 (million)
% 8.41/1.69  % (18772)------------------------------
% 8.41/1.69  % (18772)------------------------------
% 10.99/1.71  % (18793)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=668:si=on:rtra=on_0 on theBenchmark for (2986ds/668Mi)
% 10.99/1.72  % (18791)Instruction limit reached!
% 10.99/1.72  % (18791)------------------------------
% 10.99/1.72  % (18791)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 10.99/1.72  % (18791)Termination reason: Unknown
% 10.99/1.72  % (18791)Termination phase: Saturation
% 10.99/1.72  
% 10.99/1.72  % (18791)Memory used [KB]: 6652
% 10.99/1.72  % (18791)Time elapsed: 0.100 s
% 10.99/1.72  % (18791)Instructions burned: 254 (million)
% 10.99/1.72  % (18791)------------------------------
% 10.99/1.72  % (18791)------------------------------
% 10.99/1.73  % (18792)Refutation not found, incomplete strategy
% 10.99/1.73  % (18792)------------------------------
% 10.99/1.73  % (18792)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 10.99/1.73  % (18792)Termination reason: Refutation not found, incomplete strategy
% 10.99/1.73  
% 10.99/1.73  
% 10.99/1.73  % (18792)Memory used [KB]: 8187
% 10.99/1.73  % (18792)Time elapsed: 0.103 s
% 10.99/1.73  % (18792)Instructions burned: 204 (million)
% 10.99/1.73  % (18792)------------------------------
% 10.99/1.73  % (18792)------------------------------
% 10.99/1.74  % (18794)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=40:si=on:rtra=on_0 on theBenchmark for (2985ds/40Mi)
% 10.99/1.75  % (18795)lrs+1010_1:1_cnfonf=lazy_pi_sigma_gen:fd=off:ntd=on:sd=1:sgt=32:sos=on:ss=axioms:i=294:si=on:rtra=on_0 on theBenchmark for (2985ds/294Mi)
% 10.99/1.76  % (18794)Instruction limit reached!
% 10.99/1.76  % (18794)------------------------------
% 10.99/1.76  % (18794)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 10.99/1.76  % (18794)Termination reason: Unknown
% 10.99/1.76  % (18794)Termination phase: Property scanning
% 10.99/1.76  
% 10.99/1.76  % (18794)Memory used [KB]: 1791
% 10.99/1.76  % (18794)Time elapsed: 0.020 s
% 10.99/1.76  % (18794)Instructions burned: 42 (million)
% 10.99/1.76  % (18794)------------------------------
% 10.99/1.76  % (18794)------------------------------
% 10.99/1.77  % (18796)dis+1010_1:1_avsq=on:fe=off:fsr=off:hud=10:plsq=on:plsqr=32,1:prag=on:i=187:si=on:rtra=on_0 on theBenchmark for (2985ds/187Mi)
% 10.99/1.78  % (18790)Instruction limit reached!
% 10.99/1.78  % (18790)------------------------------
% 10.99/1.78  % (18790)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 10.99/1.78  % (18790)Termination reason: Unknown
% 10.99/1.78  % (18790)Termination phase: Saturation
% 10.99/1.78  
% 10.99/1.78  % (18790)Memory used [KB]: 7547
% 10.99/1.78  % (18790)Time elapsed: 0.168 s
% 10.99/1.78  % (18790)Instructions burned: 374 (million)
% 10.99/1.78  % (18790)------------------------------
% 10.99/1.78  % (18790)------------------------------
% 11.51/1.79  % (18797)lrs+1010_2:3_au=on:fsr=off:sd=4:ss=axioms:st=1.5:i=371:si=on:rtra=on_0 on theBenchmark for (2985ds/371Mi)
% 11.59/1.85  % (18796)Instruction limit reached!
% 11.59/1.85  % (18796)------------------------------
% 11.59/1.85  % (18796)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.59/1.85  % (18796)Termination reason: Unknown
% 11.59/1.85  % (18796)Termination phase: Saturation
% 11.59/1.85  
% 11.59/1.85  % (18796)Memory used [KB]: 6652
% 11.59/1.85  % (18796)Time elapsed: 0.077 s
% 11.59/1.85  % (18796)Instructions burned: 187 (million)
% 11.59/1.85  % (18796)------------------------------
% 11.59/1.85  % (18796)------------------------------
% 11.59/1.86  % (18798)dis+1003_1:1_au=on:bd=preordered:fde=none:ixr=off:nwc=10.0:i=1827:si=on:rtra=on_0 on theBenchmark for (2984ds/1827Mi)
% 11.59/1.88  % (18795)Instruction limit reached!
% 11.59/1.88  % (18795)------------------------------
% 11.59/1.88  % (18795)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 11.59/1.88  % (18795)Termination reason: Unknown
% 11.59/1.88  % (18795)Termination phase: Saturation
% 11.59/1.88  
% 11.59/1.88  % (18795)Memory used [KB]: 7291
% 11.59/1.88  % (18795)Time elapsed: 0.136 s
% 11.59/1.88  % (18795)Instructions burned: 294 (million)
% 11.59/1.88  % (18795)------------------------------
% 11.59/1.88  % (18795)------------------------------
% 11.59/1.90  % (18799)lrs+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:tnu=1:i=70:si=on:rtra=on_0 on theBenchmark for (2984ds/70Mi)
% 12.20/1.92  % (18799)Instruction limit reached!
% 12.20/1.92  % (18799)------------------------------
% 12.20/1.92  % (18799)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.20/1.92  % (18799)Termination reason: Unknown
% 12.20/1.92  % (18799)Termination phase: Function definition elimination
% 12.20/1.92  
% 12.20/1.92  % (18799)Memory used [KB]: 1791
% 12.20/1.92  % (18799)Time elapsed: 0.032 s
% 12.20/1.92  % (18799)Instructions burned: 71 (million)
% 12.20/1.92  % (18799)------------------------------
% 12.20/1.92  % (18799)------------------------------
% 12.20/1.94  % (18800)lrs+10_1:20_bd=off:cnfonf=lazy_not_be_gen:fe=axiom:hud=10:ins=1:nm=20:prag=on:sos=on:i=316:si=on:rtra=on_0 on theBenchmark for (2984ds/316Mi)
% 12.20/1.96  % (18797)Instruction limit reached!
% 12.20/1.96  % (18797)------------------------------
% 12.20/1.96  % (18797)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.20/1.96  % (18797)Termination reason: Unknown
% 12.20/1.96  % (18797)Termination phase: Saturation
% 12.20/1.96  
% 12.20/1.96  % (18797)Memory used [KB]: 7675
% 12.20/1.96  % (18797)Time elapsed: 0.173 s
% 12.20/1.96  % (18797)Instructions burned: 371 (million)
% 12.20/1.96  % (18797)------------------------------
% 12.20/1.96  % (18797)------------------------------
% 12.20/1.98  % (18801)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=932:si=on:rtra=on_0 on theBenchmark for (2983ds/932Mi)
% 12.20/1.99  % (18793)Instruction limit reached!
% 12.20/1.99  % (18793)------------------------------
% 12.20/1.99  % (18793)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 12.20/1.99  % (18793)Termination reason: Unknown
% 12.20/1.99  % (18793)Termination phase: Saturation
% 12.20/1.99  
% 12.20/1.99  % (18793)Memory used [KB]: 12281
% 12.20/1.99  % (18793)Time elapsed: 0.283 s
% 12.20/1.99  % (18793)Instructions burned: 668 (million)
% 12.20/1.99  % (18793)------------------------------
% 12.20/1.99  % (18793)------------------------------
% 13.08/2.00  % (18778)Instruction limit reached!
% 13.08/2.00  % (18778)------------------------------
% 13.08/2.00  % (18778)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.08/2.00  % (18778)Termination reason: Unknown
% 13.08/2.00  % (18778)Termination phase: Saturation
% 13.08/2.00  
% 13.08/2.00  % (18778)Memory used [KB]: 9338
% 13.08/2.00  % (18778)Time elapsed: 0.737 s
% 13.08/2.00  % (18778)Instructions burned: 1539 (million)
% 13.08/2.00  % (18778)------------------------------
% 13.08/2.00  % (18778)------------------------------
% 13.08/2.00  % (18802)lrs+1010_1:128_au=on:bd=preordered:cnfonf=lazy_pi_sigma_gen:plsq=on:plsqc=1:plsqr=32,1:sos=all:sp=occurrence:i=4714:si=on:rtra=on_0 on theBenchmark for (2983ds/4714Mi)
% 13.08/2.01  % (18803)dis+10_1:1_au=on:e2e=on:fde=none:nwc=10.0:s2a=on:s2at=2.0:i=8250:si=on:rtra=on_0 on theBenchmark for (2983ds/8250Mi)
% 13.08/2.02  % (18789)Instruction limit reached!
% 13.08/2.02  % (18789)------------------------------
% 13.08/2.02  % (18789)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.08/2.02  % (18789)Termination reason: Unknown
% 13.08/2.02  % (18789)Termination phase: Saturation
% 13.08/2.02  
% 13.08/2.02  % (18789)Memory used [KB]: 7547
% 13.08/2.02  % (18789)Time elapsed: 0.448 s
% 13.08/2.02  % (18789)Instructions burned: 996 (million)
% 13.08/2.02  % (18789)------------------------------
% 13.08/2.02  % (18789)------------------------------
% 13.08/2.04  % (18804)lrs+1002_1:1_apa=on:cnfonf=off:fd=off:flr=on:hud=1:lcm=reverse:prag=on:sd=1:sos=on:ss=axioms:i=770:si=on:rtra=on_0 on theBenchmark for (2983ds/770Mi)
% 13.08/2.07  % (18800)Instruction limit reached!
% 13.08/2.07  % (18800)------------------------------
% 13.08/2.07  % (18800)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.08/2.07  % (18800)Termination reason: Unknown
% 13.08/2.07  % (18800)Termination phase: Saturation
% 13.08/2.07  
% 13.08/2.07  % (18800)Memory used [KB]: 6908
% 13.08/2.07  % (18800)Time elapsed: 0.129 s
% 13.08/2.07  % (18800)Instructions burned: 316 (million)
% 13.08/2.07  % (18800)------------------------------
% 13.08/2.07  % (18800)------------------------------
% 13.08/2.08  % (18805)ott+1010_5:1_av=off:fe=off:ins=1:kws=precedence:sp=reverse_arity:i=794:si=on:rtra=on_0 on theBenchmark for (2982ds/794Mi)
% 13.51/2.13  % (18805)Refutation not found, incomplete strategy
% 13.51/2.13  % (18805)------------------------------
% 13.51/2.13  % (18805)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.51/2.13  % (18805)Termination reason: Refutation not found, incomplete strategy
% 13.51/2.13  
% 13.51/2.13  
% 13.51/2.13  % (18805)Memory used [KB]: 2430
% 13.51/2.13  % (18805)Time elapsed: 0.055 s
% 13.51/2.13  % (18805)Instructions burned: 127 (million)
% 13.51/2.13  % (18805)------------------------------
% 13.51/2.13  % (18805)------------------------------
% 13.51/2.15  % (18806)dis+1002_1:1_au=on:avsq=on:avsqr=1,16:cond=on:sp=frequency:i=464:si=on:rtra=on_0 on theBenchmark for (2981ds/464Mi)
% 13.77/2.25  % (18804)Refutation not found, incomplete strategy
% 13.77/2.25  % (18804)------------------------------
% 13.77/2.25  % (18804)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.77/2.25  % (18804)Termination reason: Refutation not found, incomplete strategy
% 13.77/2.25  
% 13.77/2.25  
% 13.77/2.25  % (18804)Memory used [KB]: 7931
% 13.77/2.25  % (18804)Time elapsed: 0.214 s
% 13.77/2.25  % (18804)Instructions burned: 456 (million)
% 13.77/2.25  % (18804)------------------------------
% 13.77/2.25  % (18804)------------------------------
% 13.77/2.25  % (18781)Instruction limit reached!
% 13.77/2.25  % (18781)------------------------------
% 13.77/2.25  % (18781)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 13.77/2.25  % (18781)Termination reason: Unknown
% 13.77/2.25  % (18781)Termination phase: Saturation
% 13.77/2.25  
% 13.77/2.25  % (18781)Memory used [KB]: 4861
% 13.77/2.25  % (18781)Time elapsed: 0.930 s
% 13.77/2.25  % (18781)Instructions burned: 1914 (million)
% 13.77/2.25  % (18781)------------------------------
% 13.77/2.25  % (18781)------------------------------
% 13.77/2.26  % (18807)ott+21_1:3_avsq=on:bd=off:cnfonf=lazy_gen:fe=off:hud=10:ixr=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:tnu=1:i=1376:si=on:rtra=on_0 on theBenchmark for (2980ds/1376Mi)
% 13.77/2.27  % (18808)dis+10_1:1_etr=on:plsq=on:plsqc=1:plsqr=32,1:i=906:si=on:rtra=on_0 on theBenchmark for (2980ds/906Mi)
% 15.83/2.35  % (18806)Instruction limit reached!
% 15.83/2.35  % (18806)------------------------------
% 15.83/2.35  % (18806)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 15.83/2.35  % (18806)Termination reason: Unknown
% 15.83/2.35  % (18806)Termination phase: Saturation
% 15.83/2.35  
% 15.83/2.35  % (18806)Memory used [KB]: 7419
% 15.83/2.36  % (18806)Time elapsed: 0.210 s
% 15.83/2.36  % (18806)Instructions burned: 465 (million)
% 15.83/2.36  % (18806)------------------------------
% 15.83/2.36  % (18806)------------------------------
% 15.83/2.37  % (18809)lrs+1002_1:16_bd=off:e2e=on:fde=unused:kws=precedence:sac=on:sos=on:ss=axioms:i=434:si=on:rtra=on_0 on theBenchmark for (2979ds/434Mi)
% 16.51/2.40  % (18801)Instruction limit reached!
% 16.51/2.40  % (18801)------------------------------
% 16.51/2.40  % (18801)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 16.51/2.41  % (18801)Termination reason: Unknown
% 16.51/2.41  % (18801)Termination phase: Saturation
% 16.51/2.41  
% 16.51/2.41  % (18801)Memory used [KB]: 8571
% 16.51/2.41  % (18801)Time elapsed: 0.429 s
% 16.51/2.41  % (18801)Instructions burned: 933 (million)
% 16.51/2.41  % (18801)------------------------------
% 16.51/2.41  % (18801)------------------------------
% 16.55/2.42  % (18810)lrs+10_5:4_cnfonf=conj_eager:fe=axiom:hflw=5:hfsq=on:hfsqc=10:hfsql=off:hud=10:plsq=on:sgt=5:spb=goal_then_units:ss=axioms:i=865:si=on:rtra=on_0 on theBenchmark for (2979ds/865Mi)
% 17.10/2.57  % (18809)Instruction limit reached!
% 17.10/2.57  % (18809)------------------------------
% 17.10/2.57  % (18809)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 17.10/2.58  % (18809)Termination reason: Unknown
% 17.10/2.58  % (18809)Termination phase: Saturation
% 17.10/2.58  
% 17.10/2.58  % (18809)Memory used [KB]: 7931
% 17.10/2.58  % (18809)Time elapsed: 0.208 s
% 17.10/2.58  % (18809)Instructions burned: 435 (million)
% 17.10/2.58  % (18809)------------------------------
% 17.10/2.58  % (18809)------------------------------
% 17.85/2.59  % (18811)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=593:si=on:rtra=on_0 on theBenchmark for (2977ds/593Mi)
% 18.44/2.69  % (18808)Instruction limit reached!
% 18.44/2.69  % (18808)------------------------------
% 18.44/2.69  % (18808)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 18.44/2.69  % (18808)Termination reason: Unknown
% 18.44/2.69  % (18808)Termination phase: Saturation
% 18.44/2.69  
% 18.44/2.69  % (18808)Memory used [KB]: 9210
% 18.44/2.69  % (18808)Time elapsed: 0.427 s
% 18.44/2.69  % (18808)Instructions burned: 906 (million)
% 18.44/2.69  % (18808)------------------------------
% 18.44/2.69  % (18808)------------------------------
% 18.94/2.71  % (18812)dis+10_1:1_sd=2:sgt=20:slsq=on:ss=axioms:st=6.0:i=443:si=on:rtra=on_0 on theBenchmark for (2976ds/443Mi)
% 18.95/2.76  % (18798)Instruction limit reached!
% 18.95/2.76  % (18798)------------------------------
% 18.95/2.76  % (18798)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 18.95/2.76  % (18798)Termination reason: Unknown
% 18.95/2.76  % (18798)Termination phase: Saturation
% 18.95/2.76  
% 18.95/2.76  % (18798)Memory used [KB]: 14839
% 18.95/2.76  % (18798)Time elapsed: 0.903 s
% 18.95/2.76  % (18798)Instructions burned: 1827 (million)
% 18.95/2.76  % (18798)------------------------------
% 18.95/2.76  % (18798)------------------------------
% 18.95/2.78  % (18813)dis+10_1:1_atotf=0.1:cbe=off:sd=3:ss=axioms:st=2.0:i=594:si=on:rtra=on_0 on theBenchmark for (2975ds/594Mi)
% 19.38/2.83  % (18810)Instruction limit reached!
% 19.38/2.83  % (18810)------------------------------
% 19.38/2.83  % (18810)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.38/2.83  % (18810)Termination reason: Unknown
% 19.38/2.83  % (18810)Termination phase: Saturation
% 19.38/2.83  
% 19.38/2.83  % (18810)Memory used [KB]: 8699
% 19.38/2.83  % (18810)Time elapsed: 0.410 s
% 19.38/2.83  % (18810)Instructions burned: 866 (million)
% 19.38/2.83  % (18810)------------------------------
% 19.38/2.83  % (18810)------------------------------
% 19.38/2.84  % (18814)ott+10_1:1024_anc=none:bd=off:e2e=on:fde=none:fsr=off:hud=10:ixr=off:nm=4:nwc=5.0:spb=goal:i=327:si=on:rtra=on_0 on theBenchmark for (2975ds/327Mi)
% 19.38/2.85  % (18811)Instruction limit reached!
% 19.38/2.85  % (18811)------------------------------
% 19.38/2.85  % (18811)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 19.38/2.85  % (18811)Termination reason: Unknown
% 19.38/2.85  % (18811)Termination phase: Saturation
% 19.38/2.85  
% 19.38/2.85  % (18811)Memory used [KB]: 7547
% 19.38/2.85  % (18811)Time elapsed: 0.266 s
% 19.38/2.85  % (18811)Instructions burned: 593 (million)
% 19.38/2.85  % (18811)------------------------------
% 19.38/2.85  % (18811)------------------------------
% 19.38/2.87  % (18815)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=5411:si=on:rtra=on_0 on theBenchmark for (2974ds/5411Mi)
% 20.43/2.89  % (18815)Refutation not found, incomplete strategy
% 20.43/2.89  % (18815)------------------------------
% 20.43/2.89  % (18815)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 20.43/2.89  % (18815)Termination reason: Refutation not found, incomplete strategy
% 20.43/2.89  
% 20.43/2.89  
% 20.43/2.89  % (18815)Memory used [KB]: 6396
% 20.43/2.89  % (18815)Time elapsed: 0.028 s
% 20.43/2.89  % (18815)Instructions burned: 52 (million)
% 20.43/2.89  % (18815)------------------------------
% 20.43/2.89  % (18815)------------------------------
% 20.43/2.91  % (18812)Instruction limit reached!
% 20.43/2.91  % (18812)------------------------------
% 20.43/2.91  % (18812)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 20.43/2.91  % (18812)Termination reason: Unknown
% 20.43/2.91  % (18812)Termination phase: Saturation
% 20.43/2.91  
% 20.43/2.91  % (18812)Memory used [KB]: 7419
% 20.43/2.91  % (18812)Time elapsed: 0.203 s
% 20.43/2.91  % (18812)Instructions burned: 444 (million)
% 20.43/2.91  % (18812)------------------------------
% 20.43/2.91  % (18812)------------------------------
% 20.43/2.91  % (18816)lrs+10_1:20_au=on:c=on:cbe=off:cnfonf=lazy_gen:ins=1:plsq=on:plsqc=1:plsqr=46,31:sac=on:i=1762:si=on:rtra=on_0 on theBenchmark for (2974ds/1762Mi)
% 20.43/2.91  % (18807)Instruction limit reached!
% 20.43/2.91  % (18807)------------------------------
% 20.43/2.91  % (18807)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 20.43/2.91  % (18807)Termination reason: Unknown
% 20.43/2.91  % (18807)Termination phase: Saturation
% 20.43/2.91  
% 20.43/2.91  % (18807)Memory used [KB]: 9594
% 20.43/2.91  % (18807)Time elapsed: 0.663 s
% 20.43/2.91  % (18807)Instructions burned: 1377 (million)
% 20.43/2.91  % (18807)------------------------------
% 20.43/2.91  % (18807)------------------------------
% 20.43/2.92  % (18817)dis+1003_1:64_cha=on:cnfonf=lazy_gen:hud=9:nwc=8.0:prag=on:i=96:si=on:rtra=on_0 on theBenchmark for (2974ds/96Mi)
% 20.43/2.93  % (18818)lrs+21_1:1_hud=5:kws=inv_frequency:nm=16:nwc=2.0:prag=on:sos=on:ss=axioms:i=503:si=on:rtra=on_0 on theBenchmark for (2974ds/503Mi)
% 20.43/2.96  % (18817)Instruction limit reached!
% 20.43/2.96  % (18817)------------------------------
% 20.43/2.96  % (18817)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 20.43/2.96  % (18817)Termination reason: Unknown
% 20.43/2.96  % (18817)Termination phase: Saturation
% 20.43/2.96  
% 20.43/2.96  % (18817)Memory used [KB]: 6524
% 20.43/2.96  % (18817)Time elapsed: 0.040 s
% 20.43/2.96  % (18817)Instructions burned: 96 (million)
% 20.43/2.96  % (18817)------------------------------
% 20.43/2.96  % (18817)------------------------------
% 20.43/2.97  % (18819)lrs+1002_1:1024_au=on:cond=fast:ntd=on:piset=and:plsq=on:plsqc=1:plsqr=183491,1048576:sac=on:tgt=ground:i=90:si=on:rtra=on_0 on theBenchmark for (2973ds/90Mi)
% 21.74/3.01  % (18819)Instruction limit reached!
% 21.74/3.01  % (18819)------------------------------
% 21.74/3.01  % (18819)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.74/3.01  % (18819)Termination reason: Unknown
% 21.74/3.01  % (18819)Termination phase: Twee Goal Transformation
% 21.74/3.01  
% 21.74/3.01  % (18819)Memory used [KB]: 2174
% 21.74/3.01  % (18819)Time elapsed: 0.040 s
% 21.74/3.01  % (18819)Instructions burned: 92 (million)
% 21.74/3.01  % (18819)------------------------------
% 21.74/3.01  % (18819)------------------------------
% 21.74/3.01  % (18814)Instruction limit reached!
% 21.74/3.01  % (18814)------------------------------
% 21.74/3.01  % (18814)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.74/3.01  % (18814)Termination reason: Unknown
% 21.74/3.01  % (18814)Termination phase: Saturation
% 21.74/3.01  
% 21.74/3.01  % (18814)Memory used [KB]: 9978
% 21.74/3.01  % (18814)Time elapsed: 0.172 s
% 21.74/3.01  % (18814)Instructions burned: 327 (million)
% 21.74/3.01  % (18814)------------------------------
% 21.74/3.01  % (18814)------------------------------
% 21.83/3.02  % (18820)lrs+10_1:64_hud=5:plsq=on:plsqr=2011171,524288:i=593:si=on:rtra=on_0 on theBenchmark for (2973ds/593Mi)
% 21.83/3.03  % (18821)dis-1002_1:1_alpa=false:apa=on:au=on:bd=off:cnfonf=off:e2e=on:er=filter:fde=unused:plsq=on:plsqr=9699663,1048576:s2a=on:sos=on:sp=unary_first:i=1512:si=on:rtra=on_0 on theBenchmark for (2973ds/1512Mi)
% 21.90/3.05  % (18813)Instruction limit reached!
% 21.90/3.05  % (18813)------------------------------
% 21.90/3.05  % (18813)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 21.90/3.05  % (18813)Termination reason: Unknown
% 21.90/3.05  % (18813)Termination phase: Saturation
% 21.90/3.05  
% 21.90/3.05  % (18813)Memory used [KB]: 7419
% 21.90/3.05  % (18813)Time elapsed: 0.279 s
% 21.90/3.05  % (18813)Instructions burned: 595 (million)
% 21.90/3.05  % (18813)------------------------------
% 21.90/3.05  % (18813)------------------------------
% 21.90/3.07  % (18822)lrs+1002_1:128_cbe=off:cnfonf=lazy_not_gen_be_off:ins=1:i=569:si=on:rtra=on_0 on theBenchmark for (2972ds/569Mi)
% 22.33/3.14  % (18821)Refutation not found, incomplete strategy
% 22.33/3.14  % (18821)------------------------------
% 22.33/3.14  % (18821)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.33/3.14  % (18821)Termination reason: Refutation not found, incomplete strategy
% 22.33/3.14  
% 22.33/3.14  
% 22.33/3.14  % (18821)Memory used [KB]: 8315
% 22.33/3.14  % (18821)Time elapsed: 0.115 s
% 22.33/3.14  % (18821)Instructions burned: 235 (million)
% 22.33/3.14  % (18821)------------------------------
% 22.33/3.14  % (18821)------------------------------
% 22.33/3.15  % (18823)ott+1002_1:1_bd=off:cnfonf=off:e2e=on:fd=off:fe=axiom:hud=5:prag=on:sos=on:i=501:si=on:rtra=on_0 on theBenchmark for (2971ds/501Mi)
% 22.33/3.16  % (18818)Refutation not found, non-redundant clauses discarded% (18818)------------------------------
% 22.33/3.16  % (18818)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 22.33/3.16  % (18818)Termination reason: Refutation not found, non-redundant clauses discarded
% 22.33/3.16  
% 22.33/3.16  % (18818)Memory used [KB]: 7419
% 22.33/3.16  % (18818)Time elapsed: 0.251 s
% 22.33/3.16  % (18818)Instructions burned: 479 (million)
% 22.33/3.16  % (18818)------------------------------
% 22.33/3.16  % (18818)------------------------------
% 22.78/3.18  % (18824)lrs+1010_1:3_cnfonf=conj_eager:fsr=off:prag=on:sd=4:sgt=10:ss=axioms:i=562:si=on:rtra=on_0 on theBenchmark for (2971ds/562Mi)
% 23.23/3.30  % (18820)Instruction limit reached!
% 23.23/3.30  % (18820)------------------------------
% 23.23/3.30  % (18820)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.23/3.30  % (18820)Termination reason: Unknown
% 23.23/3.30  % (18820)Termination phase: Saturation
% 23.23/3.30  
% 23.23/3.30  % (18820)Memory used [KB]: 7931
% 23.23/3.30  % (18820)Time elapsed: 0.275 s
% 23.23/3.30  % (18820)Instructions burned: 593 (million)
% 23.23/3.30  % (18820)------------------------------
% 23.23/3.30  % (18820)------------------------------
% 23.23/3.31  % (18822)Instruction limit reached!
% 23.23/3.31  % (18822)------------------------------
% 23.23/3.31  % (18822)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.23/3.31  % (18822)Termination reason: Unknown
% 23.23/3.31  % (18822)Termination phase: Saturation
% 23.23/3.31  
% 23.23/3.31  % (18822)Memory used [KB]: 7547
% 23.23/3.31  % (18822)Time elapsed: 0.242 s
% 23.23/3.31  % (18822)Instructions burned: 570 (million)
% 23.23/3.31  % (18822)------------------------------
% 23.23/3.31  % (18822)------------------------------
% 23.23/3.31  % (18825)lrs+10_1:1_au=on:cnfonf=off:fde=unused:kws=precedence:tgt=full:i=406:si=on:rtra=on_0 on theBenchmark for (2970ds/406Mi)
% 23.90/3.32  % (18826)dis+1004_1:128_au=on:cbe=off:e2e=on:sac=on:i=582:si=on:rtra=on_0 on theBenchmark for (2970ds/582Mi)
% 23.95/3.37  % (18825)Refutation not found, incomplete strategy
% 23.95/3.37  % (18825)------------------------------
% 23.95/3.37  % (18825)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.95/3.37  % (18825)Termination reason: Refutation not found, incomplete strategy
% 23.95/3.37  
% 23.95/3.37  
% 23.95/3.37  % (18825)Memory used [KB]: 6652
% 23.95/3.37  % (18825)Time elapsed: 0.062 s
% 23.95/3.37  % (18825)Instructions burned: 131 (million)
% 23.95/3.37  % (18825)------------------------------
% 23.95/3.37  % (18825)------------------------------
% 23.95/3.38  % (18824)Refutation not found, non-redundant clauses discarded% (18824)------------------------------
% 23.95/3.38  % (18824)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.95/3.38  % (18824)Termination reason: Refutation not found, non-redundant clauses discarded
% 23.95/3.38  
% 23.95/3.38  % (18824)Memory used [KB]: 7291
% 23.95/3.38  % (18824)Time elapsed: 0.223 s
% 23.95/3.38  % (18824)Instructions burned: 459 (million)
% 23.95/3.38  % (18824)------------------------------
% 23.95/3.38  % (18824)------------------------------
% 23.95/3.39  % (18827)lrs+2_1:1_au=on:bd=off:bsr=unit_only:sd=2:sgt=32:sos=all:ss=axioms:i=456:si=on:rtra=on_0 on theBenchmark for (2969ds/456Mi)
% 23.95/3.39  % (18823)Instruction limit reached!
% 23.95/3.39  % (18823)------------------------------
% 23.95/3.39  % (18823)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 23.95/3.39  % (18823)Termination reason: Unknown
% 23.95/3.39  % (18823)Termination phase: Saturation
% 23.95/3.39  
% 23.95/3.39  % (18823)Memory used [KB]: 9722
% 23.95/3.39  % (18823)Time elapsed: 0.241 s
% 23.95/3.39  % (18823)Instructions burned: 502 (million)
% 23.95/3.39  % (18823)------------------------------
% 23.95/3.39  % (18823)------------------------------
% 23.95/3.39  % (18828)lrs+1010_1:1_au=on:cbe=off:cnfonf=conj_eager:tgt=ground:i=393:si=on:rtra=on_0 on theBenchmark for (2969ds/393Mi)
% 23.95/3.41  % (18829)lrs+1010_1:6_au=on:cnfonf=conj_eager:nwc=10.0:pe=on:prag=on:s2a=on:ss=axioms:st=1.5:i=1335:si=on:rtra=on_0 on theBenchmark for (2969ds/1335Mi)
% 25.07/3.58  % (18816)Instruction limit reached!
% 25.07/3.58  % (18816)------------------------------
% 25.07/3.58  % (18816)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 25.07/3.58  % (18816)Termination reason: Unknown
% 25.07/3.58  % (18816)Termination phase: Saturation
% 25.07/3.58  
% 25.07/3.58  % (18816)Memory used [KB]: 7291
% 25.07/3.58  % (18816)Time elapsed: 0.670 s
% 25.07/3.58  % (18816)Instructions burned: 1762 (million)
% 25.07/3.58  % (18816)------------------------------
% 25.07/3.58  % (18816)------------------------------
% 26.36/3.59  % (18830)dis+1010_16:1_acc=model:au=on:avsq=on:cond=fast:plsq=on:plsqc=2:plsqr=9267,262144:i=3373:si=on:rtra=on_0 on theBenchmark for (2967ds/3373Mi)
% 26.36/3.60  % (18827)Instruction limit reached!
% 26.36/3.60  % (18827)------------------------------
% 26.36/3.60  % (18827)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.36/3.60  % (18827)Termination reason: Unknown
% 26.36/3.60  % (18827)Termination phase: Saturation
% 26.36/3.60  
% 26.36/3.60  % (18827)Memory used [KB]: 7419
% 26.36/3.60  % (18827)Time elapsed: 0.211 s
% 26.36/3.60  % (18827)Instructions burned: 456 (million)
% 26.36/3.60  % (18827)------------------------------
% 26.36/3.60  % (18827)------------------------------
% 26.51/3.61  % (18831)dis+10_1:1024_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=32,1:spb=goal_then_units:i=474:si=on:rtra=on_0 on theBenchmark for (2967ds/474Mi)
% 26.51/3.61  % (18828)Instruction limit reached!
% 26.51/3.61  % (18828)------------------------------
% 26.51/3.61  % (18828)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.51/3.61  % (18828)Termination reason: Unknown
% 26.51/3.61  % (18828)Termination phase: Saturation
% 26.51/3.61  
% 26.51/3.61  % (18828)Memory used [KB]: 8315
% 26.51/3.61  % (18828)Time elapsed: 0.206 s
% 26.51/3.61  % (18828)Instructions burned: 394 (million)
% 26.51/3.61  % (18828)------------------------------
% 26.51/3.61  % (18828)------------------------------
% 26.51/3.62  % (18826)Instruction limit reached!
% 26.51/3.62  % (18826)------------------------------
% 26.51/3.62  % (18826)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.51/3.62  % (18826)Termination reason: Unknown
% 26.51/3.62  % (18826)Termination phase: Saturation
% 26.51/3.62  
% 26.51/3.62  % (18826)Memory used [KB]: 8955
% 26.51/3.62  % (18826)Time elapsed: 0.303 s
% 26.51/3.62  % (18826)Instructions burned: 582 (million)
% 26.51/3.62  % (18826)------------------------------
% 26.51/3.62  % (18826)------------------------------
% 26.51/3.63  % (18832)lrs+1002_1:16_amm=sco:cnfonf=lazy_pi_sigma_gen:fe=off:nm=60:piset=all_but_not_eq:plsq=on:plsqc=1:plsqr=2,1:rawr=on:sp=occurrence:ss=included:st=-1.0:i=157:si=on:rtra=on_0 on theBenchmark for (2967ds/157Mi)
% 26.51/3.64  % (18833)dis+1010_1:1_amm=off:cs=on:kws=precedence:nwc=10.0:piset=all:s2a=on:sac=on:sp=unary_frequency:spb=goal:ss=axioms:st=3.0:i=590:si=on:rtra=on_0 on theBenchmark for (2967ds/590Mi)
% 26.67/3.69  % (18832)Instruction limit reached!
% 26.67/3.69  % (18832)------------------------------
% 26.67/3.69  % (18832)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.67/3.69  % (18832)Termination reason: Unknown
% 26.67/3.69  % (18832)Termination phase: Saturation
% 26.67/3.69  
% 26.67/3.69  % (18832)Memory used [KB]: 6524
% 26.67/3.69  % (18832)Time elapsed: 0.063 s
% 26.67/3.69  % (18832)Instructions burned: 157 (million)
% 26.67/3.69  % (18832)------------------------------
% 26.67/3.69  % (18832)------------------------------
% 26.67/3.70  % (18834)dis+10_1:1024_kws=precedence:prag=on:rawr=on:sos=all:sp=unary_first:i=104:si=on:rtra=on_0 on theBenchmark for (2966ds/104Mi)
% 26.67/3.71  % (18780)Instruction limit reached!
% 26.67/3.71  % (18780)------------------------------
% 26.67/3.71  % (18780)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 26.67/3.71  % (18780)Termination reason: Unknown
% 26.67/3.71  % (18780)Termination phase: Saturation
% 26.67/3.71  
% 26.67/3.71  % (18780)Memory used [KB]: 20212
% 26.67/3.71  % (18780)Time elapsed: 2.408 s
% 26.67/3.71  % (18780)Instructions burned: 5206 (million)
% 26.67/3.71  % (18780)------------------------------
% 26.67/3.71  % (18780)------------------------------
% 27.08/3.73  % (18835)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=414:si=on:rtra=on_0 on theBenchmark for (2966ds/414Mi)
% 27.08/3.74  % (18834)Instruction limit reached!
% 27.08/3.74  % (18834)------------------------------
% 27.08/3.74  % (18834)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.08/3.74  % (18834)Termination reason: Unknown
% 27.08/3.74  % (18834)Termination phase: Saturation
% 27.08/3.74  
% 27.08/3.74  % (18834)Memory used [KB]: 6524
% 27.08/3.74  % (18834)Time elapsed: 0.045 s
% 27.08/3.74  % (18834)Instructions burned: 105 (million)
% 27.08/3.74  % (18834)------------------------------
% 27.08/3.74  % (18834)------------------------------
% 27.08/3.76  % (18836)dis+10_1:1_av=off:bsd=on:bsr=unit_only:fd=off:hud=8:nm=16:prag=on:i=715:si=on:rtra=on_0 on theBenchmark for (2965ds/715Mi)
% 27.31/3.82  % (18831)Instruction limit reached!
% 27.31/3.82  % (18831)------------------------------
% 27.31/3.82  % (18831)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.31/3.82  % (18831)Termination reason: Unknown
% 27.31/3.82  % (18831)Termination phase: Saturation
% 27.31/3.82  
% 27.31/3.82  % (18831)Memory used [KB]: 7291
% 27.31/3.82  % (18831)Time elapsed: 0.209 s
% 27.31/3.82  % (18831)Instructions burned: 474 (million)
% 27.31/3.82  % (18831)------------------------------
% 27.31/3.82  % (18831)------------------------------
% 27.31/3.83  % (18833)Instruction limit reached!
% 27.31/3.83  % (18833)------------------------------
% 27.31/3.83  % (18833)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 27.31/3.83  % (18833)Termination reason: Unknown
% 27.31/3.83  % (18833)Termination phase: Saturation
% 27.31/3.83  
% 27.31/3.83  % (18833)Memory used [KB]: 7164
% 27.31/3.83  % (18833)Time elapsed: 0.197 s
% 27.31/3.83  % (18833)Instructions burned: 590 (million)
% 27.31/3.83  % (18833)------------------------------
% 27.31/3.83  % (18833)------------------------------
% 27.31/3.83  % (18837)dis+21_1:5_au=on:ntd=on:nwc=5.0:s2a=on:ss=axioms:st=5.0:i=961:si=on:rtra=on_0 on theBenchmark for (2965ds/961Mi)
% 27.31/3.84  % (18838)lrs-1002_1:128_abs=on:bd=preordered:cbe=off:e2e=on:fde=unused:fe=off:tgt=full:i=1213:si=on:rtra=on_0 on theBenchmark for (2964ds/1213Mi)
% 28.13/3.91  % (18835)Instruction limit reached!
% 28.13/3.91  % (18835)------------------------------
% 28.13/3.91  % (18835)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 28.13/3.91  % (18835)Termination reason: Unknown
% 28.13/3.91  % (18835)Termination phase: Saturation
% 28.13/3.91  
% 28.13/3.91  % (18835)Memory used [KB]: 7291
% 28.13/3.91  % (18835)Time elapsed: 0.182 s
% 28.13/3.91  % (18835)Instructions burned: 415 (million)
% 28.13/3.91  % (18835)------------------------------
% 28.13/3.91  % (18835)------------------------------
% 28.13/3.92  % (18839)lrs+1002_1:12_bd=off:hud=1:ntd=on:piset=equals:prag=on:i=1979:si=on:rtra=on_0 on theBenchmark for (2964ds/1979Mi)
% 28.68/4.04  % (18829)Refutation not found, non-redundant clauses discarded% (18829)------------------------------
% 28.68/4.04  % (18829)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 28.68/4.04  % (18829)Termination reason: Refutation not found, non-redundant clauses discarded
% 28.68/4.04  
% 28.68/4.04  % (18829)Memory used [KB]: 8443
% 28.68/4.04  % (18829)Time elapsed: 0.636 s
% 28.68/4.04  % (18829)Instructions burned: 1281 (million)
% 28.68/4.04  % (18829)------------------------------
% 28.68/4.04  % (18829)------------------------------
% 28.68/4.06  % (18840)dis+1002_1:1_amm=off:au=on:bsd=on:cbe=off:cnfonf=lazy_gen:sp=unary_frequency:i=481:si=on:rtra=on_0 on theBenchmark for (2962ds/481Mi)
% 28.82/4.09  % (18836)Instruction limit reached!
% 28.82/4.09  % (18836)------------------------------
% 28.82/4.09  % (18836)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 28.82/4.09  % (18836)Termination reason: Unknown
% 28.82/4.09  % (18836)Termination phase: Saturation
% 28.82/4.09  
% 28.82/4.09  % (18836)Memory used [KB]: 4221
% 28.82/4.09  % (18836)Time elapsed: 0.332 s
% 28.82/4.09  % (18836)Instructions burned: 716 (million)
% 28.82/4.09  % (18836)------------------------------
% 28.82/4.09  % (18836)------------------------------
% 28.82/4.10  % (18841)dis+10_8:1_apa=on:cnfonf=off:e2e=on:plsq=on:plsqc=1:plsqr=32,1:ss=axioms:i=783:si=on:rtra=on_0 on theBenchmark for (2962ds/783Mi)
% 31.13/4.20  % (18802)Instruction limit reached!
% 31.13/4.20  % (18802)------------------------------
% 31.13/4.20  % (18802)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.13/4.20  % (18802)Termination reason: Unknown
% 31.13/4.20  % (18802)Termination phase: Saturation
% 31.13/4.20  
% 31.13/4.20  % (18802)Memory used [KB]: 18038
% 31.13/4.20  % (18802)Time elapsed: 2.201 s
% 31.13/4.20  % (18802)Instructions burned: 4715 (million)
% 31.13/4.20  % (18802)------------------------------
% 31.13/4.20  % (18802)------------------------------
% 31.13/4.22  % (18842)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=432:si=on:rtra=on_0 on theBenchmark for (2961ds/432Mi)
% 31.56/4.24  % (18840)Instruction limit reached!
% 31.56/4.24  % (18840)------------------------------
% 31.56/4.24  % (18840)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.56/4.24  % (18840)Termination reason: Unknown
% 31.56/4.24  % (18840)Termination phase: Saturation
% 31.56/4.24  
% 31.56/4.24  % (18840)Memory used [KB]: 6908
% 31.56/4.24  % (18840)Time elapsed: 0.190 s
% 31.56/4.24  % (18840)Instructions burned: 482 (million)
% 31.56/4.24  % (18840)------------------------------
% 31.56/4.24  % (18840)------------------------------
% 31.56/4.25  % (18842)Refutation not found, incomplete strategy
% 31.56/4.25  % (18842)------------------------------
% 31.56/4.25  % (18842)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.56/4.25  % (18842)Termination reason: Refutation not found, incomplete strategy
% 31.56/4.25  
% 31.56/4.25  
% 31.56/4.25  % (18842)Memory used [KB]: 6268
% 31.56/4.25  % (18842)Time elapsed: 0.027 s
% 31.56/4.25  % (18842)Instructions burned: 56 (million)
% 31.56/4.25  % (18842)------------------------------
% 31.56/4.25  % (18842)------------------------------
% 31.56/4.26  % (18843)lrs+1010_1:1_atotf=0.5:au=on:cbe=off:cnfonf=lazy_not_be_gen:fe=off:nwc=5.0:spb=units:i=1670:si=on:rtra=on_0 on theBenchmark for (2960ds/1670Mi)
% 31.56/4.26  % (18844)dis+2_1:1_au=on:hfaw=0:hfsq=on:sp=weighted_frequency:i=90:si=on:rtra=on_0 on theBenchmark for (2960ds/90Mi)
% 31.56/4.28  % (18837)Instruction limit reached!
% 31.56/4.28  % (18837)------------------------------
% 31.56/4.28  % (18837)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.56/4.28  % (18837)Termination reason: Unknown
% 31.56/4.28  % (18837)Termination phase: Saturation
% 31.56/4.28  
% 31.56/4.28  % (18837)Memory used [KB]: 8187
% 31.56/4.28  % (18837)Time elapsed: 0.456 s
% 31.56/4.28  % (18837)Instructions burned: 961 (million)
% 31.56/4.28  % (18837)------------------------------
% 31.56/4.28  % (18837)------------------------------
% 31.56/4.30  % (18844)Instruction limit reached!
% 31.56/4.30  % (18844)------------------------------
% 31.56/4.30  % (18844)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 31.56/4.30  % (18844)Termination reason: Unknown
% 31.56/4.30  % (18844)Termination phase: Saturation
% 31.56/4.30  
% 31.56/4.30  % (18844)Memory used [KB]: 6524
% 31.56/4.30  % (18844)Time elapsed: 0.039 s
% 31.56/4.30  % (18844)Instructions burned: 91 (million)
% 31.56/4.30  % (18844)------------------------------
% 31.56/4.30  % (18844)------------------------------
% 31.56/4.30  % (18845)dis+10_1:1_au=on:cnfonf=lazy_gen:ixr=off:plsq=on:plsqc=1:plsqr=32,1:i=346:si=on:rtra=on_0 on theBenchmark for (2960ds/346Mi)
% 32.03/4.31  % (18846)dis+1002_1:1_cnfonf=lazy_not_gen:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=401:si=on:rtra=on_0 on theBenchmark for (2960ds/401Mi)
% 32.28/4.43  % (18845)Instruction limit reached!
% 32.28/4.43  % (18845)------------------------------
% 32.28/4.43  % (18845)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.28/4.43  % (18845)Termination reason: Unknown
% 32.28/4.43  % (18845)Termination phase: Saturation
% 32.28/4.43  
% 32.28/4.43  % (18845)Memory used [KB]: 6908
% 32.28/4.43  % (18845)Time elapsed: 0.134 s
% 32.28/4.43  % (18845)Instructions burned: 346 (million)
% 32.28/4.43  % (18845)------------------------------
% 32.28/4.43  % (18845)------------------------------
% 32.28/4.44  % (18838)Instruction limit reached!
% 32.28/4.44  % (18838)------------------------------
% 32.28/4.44  % (18838)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.28/4.44  % (18838)Termination reason: Unknown
% 32.28/4.44  % (18838)Termination phase: Saturation
% 32.28/4.44  
% 32.28/4.44  % (18838)Memory used [KB]: 12281
% 32.28/4.44  % (18838)Time elapsed: 0.593 s
% 32.28/4.44  % (18838)Instructions burned: 1214 (million)
% 32.28/4.44  % (18838)------------------------------
% 32.28/4.44  % (18838)------------------------------
% 32.28/4.44  % (18847)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=6454:si=on:rtra=on_0 on theBenchmark for (2959ds/6454Mi)
% 32.28/4.45  % (18848)dis+1010_1:1_avsq=on:fe=off:fsr=off:hud=10:kws=arity:prag=on:i=283:si=on:rtra=on_0 on theBenchmark for (2959ds/283Mi)
% 32.89/4.47  % (18847)Refutation not found, incomplete strategy
% 32.89/4.47  % (18847)------------------------------
% 32.89/4.47  % (18847)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.89/4.47  % (18847)Termination reason: Refutation not found, incomplete strategy
% 32.89/4.47  
% 32.89/4.47  
% 32.89/4.47  % (18847)Memory used [KB]: 6268
% 32.89/4.47  % (18847)Time elapsed: 0.029 s
% 32.89/4.47  % (18847)Instructions burned: 62 (million)
% 32.89/4.47  % (18847)------------------------------
% 32.89/4.47  % (18847)------------------------------
% 32.89/4.48  % (18846)Instruction limit reached!
% 32.89/4.48  % (18846)------------------------------
% 32.89/4.48  % (18846)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 32.89/4.48  % (18846)Termination reason: Unknown
% 32.89/4.48  % (18846)Termination phase: Saturation
% 32.89/4.48  
% 32.89/4.48  % (18846)Memory used [KB]: 7291
% 32.89/4.48  % (18846)Time elapsed: 0.173 s
% 32.89/4.48  % (18846)Instructions burned: 402 (million)
% 32.89/4.48  % (18846)------------------------------
% 32.89/4.48  % (18846)------------------------------
% 33.25/4.49  % (18849)ott+10_1:1_aac=none:apa=on:au=on:cnfonf=off:ntd=on:nwc=12.0:sos=on:i=865:si=on:rtra=on_0 on theBenchmark for (2958ds/865Mi)
% 33.25/4.50  % (18850)lrs+1002_3:4_au=on:av=off:cnfonf=off:fd=off:fsr=off:ins=2:sd=1:sos=on:ss=axioms:i=4528:si=on:rtra=on_0 on theBenchmark for (2958ds/4528Mi)
% 33.25/4.51  % (18841)Instruction limit reached!
% 33.25/4.51  % (18841)------------------------------
% 33.25/4.51  % (18841)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 33.25/4.51  % (18841)Termination reason: Unknown
% 33.25/4.51  % (18841)Termination phase: Saturation
% 33.25/4.51  
% 33.25/4.51  % (18841)Memory used [KB]: 11001
% 33.25/4.51  % (18841)Time elapsed: 0.421 s
% 33.25/4.51  % (18841)Instructions burned: 783 (million)
% 33.25/4.51  % (18841)------------------------------
% 33.25/4.51  % (18841)------------------------------
% 33.25/4.52  % (18850)Refutation not found, incomplete strategy
% 33.25/4.52  % (18850)------------------------------
% 33.25/4.52  % (18850)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 33.25/4.52  % (18850)Termination reason: Refutation not found, incomplete strategy
% 33.25/4.52  
% 33.25/4.52  
% 33.25/4.52  % (18850)Memory used [KB]: 1918
% 33.25/4.52  % (18850)Time elapsed: 0.049 s
% 33.25/4.52  % (18850)Instructions burned: 52 (million)
% 33.25/4.52  % (18850)------------------------------
% 33.25/4.52  % (18850)------------------------------
% 33.25/4.53  % (18851)dis+1002_1:1_cbe=off:hud=5:nm=4:plsq=on:plsqr=7,1:prag=on:sp=const_max:tnu=1:i=1001:si=on:rtra=on_0 on theBenchmark for (2958ds/1001Mi)
% 33.47/4.53  % (18852)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=102:si=on:rtra=on_0 on theBenchmark for (2958ds/102Mi)
% 33.50/4.57  % (18848)Instruction limit reached!
% 33.50/4.57  % (18848)------------------------------
% 33.50/4.57  % (18848)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 33.50/4.57  % (18848)Termination reason: Unknown
% 33.50/4.57  % (18848)Termination phase: Saturation
% 33.50/4.57  
% 33.50/4.57  % (18848)Memory used [KB]: 7164
% 33.50/4.57  % (18848)Time elapsed: 0.143 s
% 33.50/4.57  % (18848)Instructions burned: 283 (million)
% 33.50/4.57  % (18848)------------------------------
% 33.50/4.57  % (18848)------------------------------
% 33.50/4.57  % (18852)Instruction limit reached!
% 33.50/4.57  % (18852)------------------------------
% 33.50/4.57  % (18852)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 33.50/4.57  % (18852)Termination reason: Unknown
% 33.50/4.57  % (18852)Termination phase: Saturation
% 33.50/4.57  
% 33.50/4.57  % (18852)Memory used [KB]: 6524
% 33.50/4.57  % (18852)Time elapsed: 0.043 s
% 33.50/4.57  % (18852)Instructions burned: 102 (million)
% 33.50/4.57  % (18852)------------------------------
% 33.50/4.57  % (18852)------------------------------
% 33.50/4.58  % (18853)ott+1010_3:1_nm=20:s2a=on:s2at=3.0:sp=const_frequency:i=952:si=on:rtra=on_0 on theBenchmark for (2957ds/952Mi)
% 33.50/4.59  % (18854)lrs+1010_1:1024_add=large:c=on:cbe=off:cnfonf=lazy_gen:fde=none:nm=30:piset=and:sac=on:uhcvi=on:i=578:si=on:rtra=on_0 on theBenchmark for (2957ds/578Mi)
% 36.28/4.85  % (18849)Instruction limit reached!
% 36.28/4.85  % (18849)------------------------------
% 36.28/4.85  % (18849)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 36.28/4.85  % (18849)Termination reason: Unknown
% 36.28/4.85  % (18849)Termination phase: Saturation
% 36.28/4.85  
% 36.28/4.85  % (18849)Memory used [KB]: 7291
% 36.28/4.85  % (18849)Time elapsed: 0.361 s
% 36.28/4.85  % (18849)Instructions burned: 865 (million)
% 36.28/4.85  % (18849)------------------------------
% 36.28/4.85  % (18849)------------------------------
% 36.28/4.86  % (18855)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=643:si=on:rtra=on_0 on theBenchmark for (2954ds/643Mi)
% 36.28/4.86  % (18854)Instruction limit reached!
% 36.28/4.86  % (18854)------------------------------
% 36.28/4.86  % (18854)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 36.28/4.86  % (18854)Termination reason: Unknown
% 36.28/4.86  % (18854)Termination phase: Saturation
% 36.28/4.86  
% 36.28/4.86  % (18854)Memory used [KB]: 7675
% 36.28/4.86  % (18854)Time elapsed: 0.278 s
% 36.28/4.86  % (18854)Instructions burned: 578 (million)
% 36.28/4.86  % (18854)------------------------------
% 36.28/4.86  % (18854)------------------------------
% 36.28/4.88  % (18856)lrs+1010_1:1_cnfonf=off:ntd=on:nwc=3.0:s2a=on:sp=const_frequency:i=865:si=on:rtra=on_0 on theBenchmark for (2954ds/865Mi)
% 36.28/4.90  % (18839)Instruction limit reached!
% 36.28/4.90  % (18839)------------------------------
% 36.28/4.90  % (18839)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 36.28/4.90  % (18839)Termination reason: Unknown
% 36.28/4.90  % (18839)Termination phase: Saturation
% 36.28/4.90  
% 36.28/4.90  % (18839)Memory used [KB]: 9338
% 36.28/4.90  % (18839)Time elapsed: 0.982 s
% 36.28/4.90  % (18839)Instructions burned: 1979 (million)
% 36.28/4.90  % (18839)------------------------------
% 36.28/4.90  % (18839)------------------------------
% 36.85/4.92  % (18857)lrs+10_1:1_au=on:erd=off:s2a=on:s2at=3.0:sos=all:i=1174:si=on:rtra=on_0 on theBenchmark for (2954ds/1174Mi)
% 36.85/4.93  % (18856)Refutation not found, incomplete strategy
% 36.85/4.93  % (18856)------------------------------
% 36.85/4.93  % (18856)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 36.85/4.93  % (18856)Termination reason: Refutation not found, incomplete strategy
% 36.85/4.93  
% 36.85/4.93  
% 36.85/4.93  % (18856)Memory used [KB]: 6780
% 36.85/4.93  % (18856)Time elapsed: 0.049 s
% 36.85/4.93  % (18856)Instructions burned: 114 (million)
% 36.85/4.93  % (18856)------------------------------
% 36.85/4.93  % (18856)------------------------------
% 36.85/4.94  % (18858)ott+1010_1:32_apa=on:atotf=0.3:au=on:c=on:cnfonf=off:fe=off:fsr=off:nm=6:piset=or:sac=on:sos=on:i=644:si=on:rtra=on_0 on theBenchmark for (2953ds/644Mi)
% 36.85/4.98  % (18851)Instruction limit reached!
% 36.85/4.98  % (18851)------------------------------
% 36.85/4.98  % (18851)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 36.85/4.98  % (18851)Termination reason: Unknown
% 36.85/4.98  % (18851)Termination phase: Saturation
% 36.85/4.98  
% 36.85/4.98  % (18851)Memory used [KB]: 8955
% 36.85/4.98  % (18851)Time elapsed: 0.462 s
% 36.85/4.98  % (18851)Instructions burned: 1002 (million)
% 36.85/4.98  % (18851)------------------------------
% 36.85/4.98  % (18851)------------------------------
% 37.24/4.99  % (18859)lrs+10_1:1_alpa=true:au=on:cs=on:tgt=ground:i=1201:si=on:rtra=on_0 on theBenchmark for (2953ds/1201Mi)
% 37.24/5.01  % (18843)Instruction limit reached!
% 37.24/5.01  % (18843)------------------------------
% 37.24/5.01  % (18843)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.24/5.01  % (18843)Termination reason: Unknown
% 37.24/5.01  % (18843)Termination phase: Saturation
% 37.24/5.01  
% 37.24/5.01  % (18843)Memory used [KB]: 9594
% 37.24/5.01  % (18843)Time elapsed: 0.759 s
% 37.24/5.01  % (18843)Instructions burned: 1670 (million)
% 37.24/5.01  % (18843)------------------------------
% 37.24/5.01  % (18843)------------------------------
% 37.24/5.03  % (18860)lrs+1666_1:64_cnfonf=lazy_simp:hud=5:plsq=on:plsql=on:plsqr=152565,524288:tnu=2:i=1046:si=on:rtra=on_0 on theBenchmark for (2953ds/1046Mi)
% 37.24/5.04  % (18853)Instruction limit reached!
% 37.24/5.04  % (18853)------------------------------
% 37.24/5.04  % (18853)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.24/5.04  % (18853)Termination reason: Unknown
% 37.24/5.04  % (18853)Termination phase: Saturation
% 37.24/5.04  
% 37.24/5.04  % (18853)Memory used [KB]: 9850
% 37.24/5.04  % (18853)Time elapsed: 0.459 s
% 37.24/5.04  % (18853)Instructions burned: 952 (million)
% 37.24/5.04  % (18853)------------------------------
% 37.24/5.04  % (18853)------------------------------
% 37.24/5.06  % (18861)lrs+1010_1:1_c=on:cnfonf=lazy_simp:fsr=off:hud=5:kws=arity:nm=32:plsq=on:plsqc=1:plsqr=642,29:prag=on:i=222:si=on:rtra=on_0 on theBenchmark for (2952ds/222Mi)
% 37.61/5.12  % (18855)Instruction limit reached!
% 37.61/5.12  % (18855)------------------------------
% 37.61/5.12  % (18855)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.61/5.12  % (18855)Termination reason: Unknown
% 37.61/5.12  % (18855)Termination phase: Saturation
% 37.61/5.12  
% 37.61/5.12  % (18855)Memory used [KB]: 7419
% 37.61/5.12  % (18855)Time elapsed: 0.261 s
% 37.61/5.12  % (18855)Instructions burned: 643 (million)
% 37.61/5.12  % (18855)------------------------------
% 37.61/5.12  % (18855)------------------------------
% 37.92/5.13  % (18862)ott+1010_1:4_cbe=off:chr=on:hfsq=on:hfsqr=1,16:hud=3:sac=on:sp=unary_frequency:ss=axioms:st=5.0:tnu=2:i=68:si=on:rtra=on_0 on theBenchmark for (2952ds/68Mi)
% 37.92/5.14  % (18861)Instruction limit reached!
% 37.92/5.14  % (18861)------------------------------
% 37.92/5.14  % (18861)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.92/5.14  % (18861)Termination reason: Unknown
% 37.92/5.14  % (18861)Termination phase: Saturation
% 37.92/5.14  
% 37.92/5.14  % (18861)Memory used [KB]: 6652
% 37.92/5.14  % (18861)Time elapsed: 0.089 s
% 37.92/5.14  % (18861)Instructions burned: 222 (million)
% 37.92/5.14  % (18861)------------------------------
% 37.92/5.14  % (18861)------------------------------
% 37.92/5.16  % (18863)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=454:si=on:rtra=on_0 on theBenchmark for (2951ds/454Mi)
% 37.92/5.16  % (18862)Instruction limit reached!
% 37.92/5.16  % (18862)------------------------------
% 37.92/5.16  % (18862)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.92/5.16  % (18862)Termination reason: Unknown
% 37.92/5.16  % (18862)Termination phase: Property scanning
% 37.92/5.16  
% 37.92/5.16  % (18862)Memory used [KB]: 1791
% 37.92/5.16  % (18862)Time elapsed: 0.031 s
% 37.92/5.16  % (18862)Instructions burned: 68 (million)
% 37.92/5.16  % (18862)------------------------------
% 37.92/5.16  % (18862)------------------------------
% 37.92/5.17  % (18864)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=360:si=on:rtra=on_0 on theBenchmark for (2951ds/360Mi)
% 37.92/5.20  % (18830)Instruction limit reached!
% 37.92/5.20  % (18830)------------------------------
% 37.92/5.20  % (18830)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.92/5.20  % (18830)Termination reason: Unknown
% 37.92/5.20  % (18830)Termination phase: Saturation
% 37.92/5.20  
% 37.92/5.20  % (18830)Memory used [KB]: 10234
% 37.92/5.20  % (18830)Time elapsed: 1.611 s
% 37.92/5.20  % (18830)Instructions burned: 3374 (million)
% 37.92/5.20  % (18830)------------------------------
% 37.92/5.20  % (18830)------------------------------
% 37.92/5.21  % (18858)Instruction limit reached!
% 37.92/5.21  % (18858)------------------------------
% 37.92/5.21  % (18858)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 37.92/5.21  % (18858)Termination reason: Unknown
% 37.92/5.21  % (18858)Termination phase: Saturation
% 37.92/5.21  
% 37.92/5.21  % (18858)Memory used [KB]: 7419
% 37.92/5.21  % (18858)Time elapsed: 0.269 s
% 37.92/5.21  % (18858)Instructions burned: 644 (million)
% 37.92/5.21  % (18858)------------------------------
% 37.92/5.21  % (18858)------------------------------
% 37.92/5.21  % (18865)lrs+1002_1:16_amm=sco:cnfonf=lazy_pi_sigma_gen:fe=off:nm=60:piset=all_but_not_eq:plsq=on:plsqc=1:plsqr=2,1:rawr=on:sp=occurrence:ss=included:st=-1.0:i=157:si=on:rtra=on_0 on theBenchmark for (2951ds/157Mi)
% 38.52/5.22  % (18866)ott+1004_1:24_anc=none:cbe=off:cnfonf=lazy_not_gen:fe=off:piset=not:prag=on:rp=on:i=5061:si=on:rtra=on_0 on theBenchmark for (2951ds/5061Mi)
% 38.52/5.27  % (18865)Instruction limit reached!
% 38.52/5.27  % (18865)------------------------------
% 38.52/5.27  % (18865)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 38.52/5.27  % (18865)Termination reason: Unknown
% 38.52/5.27  % (18865)Termination phase: Saturation
% 38.52/5.27  
% 38.52/5.27  % (18865)Memory used [KB]: 6524
% 38.52/5.27  % (18865)Time elapsed: 0.063 s
% 38.52/5.27  % (18865)Instructions burned: 158 (million)
% 38.52/5.27  % (18865)------------------------------
% 38.52/5.27  % (18865)------------------------------
% 38.52/5.29  % (18867)lrs+1002_1:8_av=off:fd=off:hud=5:tnu=1:i=2401:si=on:rtra=on_0 on theBenchmark for (2950ds/2401Mi)
% 40.00/5.32  % (18864)Instruction limit reached!
% 40.00/5.32  % (18864)------------------------------
% 40.00/5.32  % (18864)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 40.00/5.32  % (18864)Termination reason: Unknown
% 40.00/5.32  % (18864)Termination phase: Saturation
% 40.00/5.33  
% 40.00/5.33  % (18864)Memory used [KB]: 7164
% 40.00/5.33  % (18864)Time elapsed: 0.152 s
% 40.00/5.33  % (18864)Instructions burned: 361 (million)
% 40.00/5.33  % (18864)------------------------------
% 40.00/5.33  % (18864)------------------------------
% 40.00/5.34  % (18863)Instruction limit reached!
% 40.00/5.34  % (18863)------------------------------
% 40.00/5.34  % (18863)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 40.00/5.34  % (18863)Termination reason: Unknown
% 40.00/5.34  % (18863)Termination phase: Saturation
% 40.00/5.34  
% 40.00/5.34  % (18863)Memory used [KB]: 12025
% 40.00/5.34  % (18863)Time elapsed: 0.184 s
% 40.00/5.34  % (18863)Instructions burned: 454 (million)
% 40.00/5.34  % (18863)------------------------------
% 40.00/5.34  % (18863)------------------------------
% 40.00/5.34  % (18868)dis+10_1:1_av=off:e2e=on:nm=4:s2a=on:i=5798:si=on:rtra=on_0 on theBenchmark for (2950ds/5798Mi)
% 40.00/5.35  % (18869)dis+10_1:1_au=on:cnfonf=lazy_gen:ixr=off:plsq=on:plsqc=1:plsqr=32,1:i=346:si=on:rtra=on_0 on theBenchmark for (2949ds/346Mi)
% 40.74/5.47  % (18857)Instruction limit reached!
% 40.74/5.47  % (18857)------------------------------
% 40.74/5.47  % (18857)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 40.74/5.47  % (18857)Termination reason: Unknown
% 40.74/5.47  % (18857)Termination phase: Saturation
% 40.74/5.47  
% 40.74/5.47  % (18857)Memory used [KB]: 8571
% 40.74/5.47  % (18857)Time elapsed: 0.557 s
% 40.74/5.47  % (18857)Instructions burned: 1174 (million)
% 40.74/5.47  % (18857)------------------------------
% 40.74/5.47  % (18857)------------------------------
% 40.74/5.49  % (18869)Instruction limit reached!
% 40.74/5.49  % (18869)------------------------------
% 40.74/5.49  % (18869)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 40.74/5.49  % (18869)Termination reason: Unknown
% 40.74/5.49  % (18869)Termination phase: Saturation
% 40.74/5.49  
% 40.74/5.49  % (18869)Memory used [KB]: 6908
% 40.74/5.49  % (18869)Time elapsed: 0.137 s
% 40.74/5.49  % (18869)Instructions burned: 346 (million)
% 40.74/5.49  % (18869)------------------------------
% 40.74/5.49  % (18869)------------------------------
% 40.74/5.49  % (18870)lrs+1002_1:1_av=off:bd=off:bet=on:e2e=on:fde=unused:fe=off:plsq=on:prag=on:sos=on:i=1321:si=on:rtra=on_0 on theBenchmark for (2948ds/1321Mi)
% 41.39/5.50  % (18871)lrs+10_1:1_cnfonf=lazy_gen:kws=inv_precedence:nwc=10.0:i=1312:si=on:rtra=on_0 on theBenchmark for (2948ds/1312Mi)
% 41.39/5.52  % (18860)Instruction limit reached!
% 41.39/5.52  % (18860)------------------------------
% 41.39/5.52  % (18860)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 41.39/5.52  % (18860)Termination reason: Unknown
% 41.39/5.52  % (18860)Termination phase: Saturation
% 41.39/5.52  
% 41.39/5.52  % (18860)Memory used [KB]: 8571
% 41.39/5.52  % (18860)Time elapsed: 0.490 s
% 41.39/5.52  % (18860)Instructions burned: 1046 (million)
% 41.39/5.52  % (18860)------------------------------
% 41.39/5.52  % (18860)------------------------------
% 41.39/5.53  % (18872)ott+2_8:1_add=large:c=on:cnfonf=off:e2e=on:er=filter:hud=5:plsq=on:plsqr=1,1:ss=axioms:i=672:si=on:rtra=on_0 on theBenchmark for (2948ds/672Mi)
% 41.39/5.54  % (18859)Instruction limit reached!
% 41.39/5.54  % (18859)------------------------------
% 41.39/5.54  % (18859)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 41.39/5.54  % (18859)Termination reason: Unknown
% 41.39/5.54  % (18859)Termination phase: Saturation
% 41.39/5.54  
% 41.39/5.54  % (18859)Memory used [KB]: 8955
% 41.39/5.54  % (18859)Time elapsed: 0.531 s
% 41.39/5.54  % (18859)Instructions burned: 1202 (million)
% 41.39/5.54  % (18859)------------------------------
% 41.39/5.54  % (18859)------------------------------
% 41.39/5.55  % (18873)dis+10_1:1_au=on:c=on:e2e=on:fsr=off:sos=all:sp=const_frequency:ss=axioms:i=1897:si=on:rtra=on_0 on theBenchmark for (2947ds/1897Mi)
% 44.09/5.87  % (18872)Instruction limit reached!
% 44.09/5.87  % (18872)------------------------------
% 44.09/5.87  % (18872)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 44.09/5.87  % (18872)Termination reason: Unknown
% 44.09/5.87  % (18872)Termination phase: Saturation
% 44.09/5.87  
% 44.09/5.87  % (18872)Memory used [KB]: 9978
% 44.09/5.87  % (18872)Time elapsed: 0.337 s
% 44.09/5.87  % (18872)Instructions burned: 673 (million)
% 44.09/5.87  % (18872)------------------------------
% 44.09/5.87  % (18872)------------------------------
% 44.09/5.88  % (18874)lrs+10_1:40_av=off:fde=unused:ntd=on:plsq=on:plsqc=2:plsqr=411915,1048576:sp=unary_frequency:tgt=full:i=1202:si=on:rtra=on_0 on theBenchmark for (2944ds/1202Mi)
% 45.47/6.02  % (18871)Instruction limit reached!
% 45.47/6.02  % (18871)------------------------------
% 45.47/6.02  % (18871)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 45.47/6.02  % (18871)Termination reason: Unknown
% 45.47/6.02  % (18871)Termination phase: Saturation
% 45.47/6.02  
% 45.47/6.02  % (18871)Memory used [KB]: 7036
% 45.47/6.02  % (18871)Time elapsed: 0.519 s
% 45.47/6.02  % (18871)Instructions burned: 1312 (million)
% 45.47/6.02  % (18871)------------------------------
% 45.47/6.02  % (18871)------------------------------
% 45.47/6.03  % (18875)dis+21_1:1_au=on:cnfonf=lazy_pi_sigma_gen:hfsq=on:hfsqc=40:hfsqr=8,1:ntd=on:sos=on:sp=occurrence:ss=axioms:i=1493:si=on:rtra=on_0 on theBenchmark for (2943ds/1493Mi)
% 45.47/6.09  % (18803)Instruction limit reached!
% 45.47/6.09  % (18803)------------------------------
% 45.47/6.09  % (18803)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 45.47/6.09  % (18803)Termination reason: Unknown
% 45.47/6.09  % (18803)Termination phase: Saturation
% 45.47/6.09  
% 45.47/6.09  % (18803)Memory used [KB]: 21492
% 45.47/6.09  % (18803)Time elapsed: 4.080 s
% 45.47/6.09  % (18803)Instructions burned: 8251 (million)
% 45.47/6.09  % (18803)------------------------------
% 45.47/6.09  % (18803)------------------------------
% 46.05/6.11  % (18870)Instruction limit reached!
% 46.05/6.11  % (18870)------------------------------
% 46.05/6.11  % (18870)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 46.05/6.11  % (18870)Termination reason: Unknown
% 46.05/6.11  % (18870)Termination phase: Saturation
% 46.05/6.11  
% 46.05/6.11  % (18870)Memory used [KB]: 7931
% 46.05/6.11  % (18870)Time elapsed: 0.621 s
% 46.05/6.11  % (18870)Instructions burned: 1322 (million)
% 46.05/6.11  % (18870)------------------------------
% 46.05/6.11  % (18870)------------------------------
% 46.05/6.11  % (18876)dis+1010_3:1_av=off:fde=unused:hud=10:nwc=10.0:s2a=on:ss=axioms:i=7679:si=on:rtra=on_0 on theBenchmark for (2942ds/7679Mi)
% 46.05/6.12  % (18877)lrs+2_1:1024_anc=all:cnfonf=off:cs=on:e2e=on:nm=20:s2at=1.5:slsq=on:slsqr=1,2:spb=goal:i=340:si=on:rtra=on_0 on theBenchmark for (2942ds/340Mi)
% 46.85/6.29  % (18877)Instruction limit reached!
% 46.85/6.29  % (18877)------------------------------
% 46.85/6.29  % (18877)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 46.85/6.29  % (18877)Termination reason: Unknown
% 46.85/6.29  % (18877)Termination phase: Saturation
% 46.85/6.29  
% 46.85/6.29  % (18877)Memory used [KB]: 10106
% 46.85/6.29  % (18877)Time elapsed: 0.170 s
% 46.85/6.29  % (18877)Instructions burned: 341 (million)
% 46.85/6.29  % (18877)------------------------------
% 46.85/6.29  % (18877)------------------------------
% 47.07/6.30  % (18878)dis+1002_1:1_acc=model:au=on:nwc=5.0:sd=5:ss=axioms:st=2.5:i=3672:si=on:rtra=on_0 on theBenchmark for (2940ds/3672Mi)
% 47.50/6.47  % (18867)Instruction limit reached!
% 47.50/6.47  % (18867)------------------------------
% 47.50/6.47  % (18867)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 47.50/6.47  % (18867)Termination reason: Unknown
% 47.50/6.47  % (18867)Termination phase: Saturation
% 47.50/6.47  
% 47.50/6.47  % (18867)Memory used [KB]: 12281
% 47.50/6.47  % (18867)Time elapsed: 1.179 s
% 47.50/6.47  % (18867)Instructions burned: 2403 (million)
% 47.50/6.47  % (18867)------------------------------
% 47.50/6.47  % (18867)------------------------------
% 47.50/6.48  % (18874)Instruction limit reached!
% 47.50/6.48  % (18874)------------------------------
% 47.50/6.48  % (18874)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 47.50/6.48  % (18874)Termination reason: Unknown
% 47.50/6.48  % (18874)Termination phase: Saturation
% 47.50/6.48  
% 47.50/6.48  % (18874)Memory used [KB]: 4989
% 47.50/6.48  % (18874)Time elapsed: 0.623 s
% 47.50/6.48  % (18874)Instructions burned: 1202 (million)
% 47.50/6.48  % (18874)------------------------------
% 47.50/6.48  % (18874)------------------------------
% 47.50/6.48  % (18879)dis-1002_3:1_acc=model:bd=off:bsd=on:bsdmm=1:cnfonf=lazy_not_be_gen:fd=off:fe=off:ntd=on:nwc=10.0:piset=equals:plsq=on:plsqc=1:plsqr=32,1:sp=const_max:uhcvi=on:i=1535:si=on:rtra=on_0 on theBenchmark for (2938ds/1535Mi)
% 47.50/6.49  % (18880)dis+10_16:1_hud=1:plsq=on:plsqc=1:plsqr=32,1:prag=on:sd=1:sgt=64:ss=axioms:i=4637:si=on:rtra=on_0 on theBenchmark for (2938ds/4637Mi)
% 48.45/6.52  % (18880)Refutation not found, incomplete strategy
% 48.45/6.52  % (18880)------------------------------
% 48.45/6.52  % (18880)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 48.45/6.52  % (18880)Termination reason: Refutation not found, incomplete strategy
% 48.45/6.52  
% 48.45/6.52  
% 48.45/6.52  % (18880)Memory used [KB]: 6268
% 48.45/6.52  % (18880)Time elapsed: 0.028 s
% 48.45/6.52  % (18880)Instructions burned: 57 (million)
% 48.45/6.52  % (18880)------------------------------
% 48.45/6.52  % (18880)------------------------------
% 48.45/6.53  % (18881)lrs+10_1:1_fde=unused:prag=on:sd=2:sgt=32:ss=axioms:i=3174:si=on:rtra=on_0 on theBenchmark for (2938ds/3174Mi)
% 48.45/6.54  % (18873)Instruction limit reached!
% 48.45/6.54  % (18873)------------------------------
% 48.45/6.54  % (18873)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 48.45/6.54  % (18873)Termination reason: Unknown
% 48.45/6.54  % (18873)Termination phase: Saturation
% 48.45/6.54  
% 48.45/6.54  % (18873)Memory used [KB]: 11257
% 48.45/6.54  % (18873)Time elapsed: 1.002 s
% 48.45/6.54  % (18873)Instructions burned: 1897 (million)
% 48.45/6.54  % (18873)------------------------------
% 48.45/6.54  % (18873)------------------------------
% 48.45/6.55  % (18882)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=307:si=on:rtra=on_0 on theBenchmark for (2937ds/307Mi)
% 50.54/6.70  % (18882)Instruction limit reached!
% 50.54/6.70  % (18882)------------------------------
% 50.54/6.70  % (18882)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 50.54/6.70  % (18882)Termination reason: Unknown
% 50.54/6.70  % (18882)Termination phase: Saturation
% 50.54/6.70  
% 50.54/6.70  % (18882)Memory used [KB]: 6780
% 50.54/6.70  % (18882)Time elapsed: 0.136 s
% 50.54/6.70  % (18882)Instructions burned: 308 (million)
% 50.54/6.70  % (18882)------------------------------
% 50.54/6.70  % (18882)------------------------------
% 51.20/6.71  % (18883)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=3619:si=on:rtra=on_0 on theBenchmark for (2936ds/3619Mi)
% 51.20/6.73  % (18875)Instruction limit reached!
% 51.20/6.73  % (18875)------------------------------
% 51.20/6.73  % (18875)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 51.20/6.73  % (18875)Termination reason: Unknown
% 51.20/6.73  % (18875)Termination phase: Saturation
% 51.20/6.73  
% 51.20/6.73  % (18875)Memory used [KB]: 9210
% 51.20/6.73  % (18875)Time elapsed: 0.696 s
% 51.20/6.73  % (18875)Instructions burned: 1495 (million)
% 51.20/6.73  % (18875)------------------------------
% 51.20/6.73  % (18875)------------------------------
% 51.20/6.74  % (18884)lrs+1002_1:1_au=on:cbe=off:fde=none:ins=1:sp=const_max:i=2325:si=on:rtra=on_0 on theBenchmark for (2936ds/2325Mi)
% 53.03/7.05  % (18879)Instruction limit reached!
% 53.03/7.05  % (18879)------------------------------
% 53.03/7.05  % (18879)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 53.03/7.05  % (18879)Termination reason: Unknown
% 53.03/7.05  % (18879)Termination phase: Saturation
% 53.03/7.05  
% 53.03/7.05  % (18879)Memory used [KB]: 10106
% 53.03/7.05  % (18879)Time elapsed: 0.568 s
% 53.03/7.05  % (18879)Instructions burned: 1535 (million)
% 53.03/7.05  % (18879)------------------------------
% 53.03/7.05  % (18879)------------------------------
% 53.03/7.06  % (18885)dis+1002_1:1_au=on:sac=on:sd=5:slsq=on:slsqr=1,4:ss=axioms:st=2.0:i=2341:si=on:rtra=on_0 on theBenchmark for (2932ds/2341Mi)
% 58.53/7.68  % (18868)Instruction limit reached!
% 58.53/7.68  % (18868)------------------------------
% 58.53/7.68  % (18868)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 58.53/7.68  % (18868)Termination reason: Unknown
% 58.53/7.68  % (18868)Termination phase: Saturation
% 58.53/7.68  
% 58.53/7.68  % (18868)Memory used [KB]: 8187
% 58.53/7.68  % (18868)Time elapsed: 2.343 s
% 58.53/7.68  % (18868)Instructions burned: 5800 (million)
% 58.53/7.68  % (18868)------------------------------
% 58.53/7.68  % (18868)------------------------------
% 59.01/7.69  % (18866)Instruction limit reached!
% 59.01/7.69  % (18866)------------------------------
% 59.01/7.69  % (18866)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 59.01/7.69  % (18866)Termination reason: Unknown
% 59.01/7.69  % (18866)Termination phase: Saturation
% 59.01/7.69  
% 59.01/7.69  % (18866)Memory used [KB]: 13048
% 59.01/7.69  % (18866)Time elapsed: 2.472 s
% 59.01/7.69  % (18866)Instructions burned: 5063 (million)
% 59.01/7.69  % (18866)------------------------------
% 59.01/7.69  % (18866)------------------------------
% 59.01/7.69  % (18886)lrs+1010_1:16_apa=on:bsd=on:cnfonf=off:hud=10:sac=on:sos=on:ss=axioms:i=7257:si=on:rtra=on_0 on theBenchmark for (2926ds/7257Mi)
% 59.01/7.71  % (18887)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=3710:si=on:rtra=on_0 on theBenchmark for (2926ds/3710Mi)
% 60.73/7.91  % (18884)Instruction limit reached!
% 60.73/7.91  % (18884)------------------------------
% 60.73/7.91  % (18884)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 60.73/7.91  % (18884)Termination reason: Unknown
% 60.73/7.91  % (18884)Termination phase: Saturation
% 60.73/7.91  
% 60.73/7.91  % (18884)Memory used [KB]: 15863
% 60.73/7.91  % (18884)Time elapsed: 1.172 s
% 60.73/7.91  % (18884)Instructions burned: 2326 (million)
% 60.73/7.91  % (18884)------------------------------
% 60.73/7.91  % (18884)------------------------------
% 60.73/7.93  % (18888)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=326:si=on:rtra=on_0 on theBenchmark for (2924ds/326Mi)
% 60.73/7.95  % (18888)Refutation not found, incomplete strategy
% 60.73/7.95  % (18888)------------------------------
% 60.73/7.95  % (18888)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 60.73/7.95  % (18888)Termination reason: Refutation not found, incomplete strategy
% 60.73/7.95  
% 60.73/7.95  
% 60.73/7.95  % (18888)Memory used [KB]: 6268
% 60.73/7.95  % (18888)Time elapsed: 0.027 s
% 60.73/7.95  % (18888)Instructions burned: 55 (million)
% 60.73/7.95  % (18888)------------------------------
% 60.73/7.95  % (18888)------------------------------
% 61.21/7.97  % (18889)lrs+1010_1:64_au=on:c=on:e2e=on:flr=on:hfsq=on:hfsql=off:hfsqr=4,1:ins=1:ntd=on:sp=occurrence:i=1100:si=on:rtra=on_0 on theBenchmark for (2923ds/1100Mi)
% 61.85/8.08  % (18878)Instruction limit reached!
% 61.85/8.08  % (18878)------------------------------
% 61.85/8.08  % (18878)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 61.85/8.08  % (18878)Termination reason: Unknown
% 61.85/8.08  % (18878)Termination phase: Saturation
% 61.85/8.08  
% 61.85/8.08  % (18878)Memory used [KB]: 11769
% 61.85/8.08  % (18878)Time elapsed: 1.779 s
% 61.85/8.08  % (18878)Instructions burned: 3672 (million)
% 61.85/8.08  % (18878)------------------------------
% 61.85/8.08  % (18878)------------------------------
% 62.10/8.10  % (18890)lrs+10_1:1_au=on:cnfonf=off:fde=unused:kws=precedence:tgt=full:i=406:si=on:rtra=on_0 on theBenchmark for (2922ds/406Mi)
% 62.10/8.13  % (18881)Instruction limit reached!
% 62.10/8.13  % (18881)------------------------------
% 62.10/8.13  % (18881)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 62.10/8.13  % (18881)Termination reason: Unknown
% 62.10/8.13  % (18881)Termination phase: Saturation
% 62.10/8.13  
% 62.10/8.13  % (18881)Memory used [KB]: 14583
% 62.10/8.13  % (18881)Time elapsed: 1.594 s
% 62.10/8.13  % (18881)Instructions burned: 3175 (million)
% 62.10/8.13  % (18881)------------------------------
% 62.10/8.13  % (18881)------------------------------
% 62.37/8.14  % (18891)dis+1010_1:1_aac=none:bd=preordered:e2e=on:fde=none:fe=axiom:nm=16:nwc=10.0:prag=on:i=1871:si=on:rtra=on_0 on theBenchmark for (2922ds/1871Mi)
% 62.37/8.16  % (18890)Refutation not found, incomplete strategy
% 62.37/8.16  % (18890)------------------------------
% 62.37/8.16  % (18890)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 62.37/8.16  % (18890)Termination reason: Refutation not found, incomplete strategy
% 62.37/8.16  
% 62.37/8.16  
% 62.37/8.16  % (18890)Memory used [KB]: 6780
% 62.37/8.16  % (18890)Time elapsed: 0.065 s
% 62.37/8.16  % (18890)Instructions burned: 133 (million)
% 62.37/8.16  % (18890)------------------------------
% 62.37/8.16  % (18890)------------------------------
% 62.37/8.17  % (18892)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=1194:si=on:rtra=on_0 on theBenchmark for (2921ds/1194Mi)
% 62.80/8.20  % (18885)Instruction limit reached!
% 62.80/8.20  % (18885)------------------------------
% 62.80/8.20  % (18885)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 62.80/8.20  % (18885)Termination reason: Unknown
% 62.80/8.20  % (18885)Termination phase: Saturation
% 62.80/8.20  
% 62.80/8.20  % (18885)Memory used [KB]: 9594
% 62.80/8.20  % (18885)Time elapsed: 1.146 s
% 62.80/8.20  % (18885)Instructions burned: 2341 (million)
% 62.80/8.20  % (18885)------------------------------
% 62.80/8.20  % (18885)------------------------------
% 62.80/8.22  % (18893)dis+10_1:1024_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=32,1:spb=goal_then_units:i=474:si=on:rtra=on_0 on theBenchmark for (2921ds/474Mi)
% 64.90/8.43  % (18893)Instruction limit reached!
% 64.90/8.43  % (18893)------------------------------
% 64.90/8.43  % (18893)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 64.90/8.43  % (18893)Termination reason: Unknown
% 64.90/8.43  % (18893)Termination phase: Saturation
% 64.90/8.43  
% 64.90/8.43  % (18893)Memory used [KB]: 7291
% 64.90/8.43  % (18893)Time elapsed: 0.214 s
% 64.90/8.43  % (18893)Instructions burned: 474 (million)
% 64.90/8.43  % (18893)------------------------------
% 64.90/8.43  % (18893)------------------------------
% 64.90/8.45  % (18894)dis+1010_1:1_au=on:cnfonf=lazy_gen:ins=3:plsq=on:plsqc=1:plsqr=15142123,262144:sp=reverse_arity:i=3115:si=on:rtra=on_0 on theBenchmark for (2919ds/3115Mi)
% 64.90/8.48  % (18886)Refutation not found, incomplete strategy
% 64.90/8.48  % (18886)------------------------------
% 64.90/8.48  % (18886)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 64.90/8.48  % (18886)Termination reason: Refutation not found, incomplete strategy
% 64.90/8.48  
% 64.90/8.48  
% 64.90/8.48  % (18886)Memory used [KB]: 7931
% 64.90/8.48  % (18886)Time elapsed: 0.788 s
% 64.90/8.48  % (18886)Instructions burned: 1883 (million)
% 64.90/8.48  % (18886)------------------------------
% 64.90/8.48  % (18886)------------------------------
% 64.90/8.50  % (18895)dis+10_1:1024_kws=precedence:prag=on:rawr=on:sos=all:sp=unary_first:i=831:si=on:rtra=on_0 on theBenchmark for (2918ds/831Mi)
% 64.90/8.50  % (18883)Instruction limit reached!
% 64.90/8.50  % (18883)------------------------------
% 64.90/8.50  % (18883)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 64.90/8.50  % (18883)Termination reason: Unknown
% 64.90/8.50  % (18883)Termination phase: Saturation
% 64.90/8.50  
% 64.90/8.50  % (18883)Memory used [KB]: 26865
% 64.90/8.50  % (18883)Time elapsed: 1.794 s
% 64.90/8.50  % (18883)Instructions burned: 3620 (million)
% 64.90/8.50  % (18883)------------------------------
% 64.90/8.50  % (18883)------------------------------
% 64.90/8.51  % (18896)dis+1666_14:1_cnfonf=lazy_gen:fe=off:hud=10:piset=all_but_not_eq:prag=on:sp=const_max:i=1188:si=on:rtra=on_0 on theBenchmark for (2918ds/1188Mi)
% 65.51/8.55  % (18889)Instruction limit reached!
% 65.51/8.55  % (18889)------------------------------
% 65.51/8.55  % (18889)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 65.51/8.55  % (18889)Termination reason: Unknown
% 65.51/8.55  % (18889)Termination phase: Saturation
% 65.51/8.55  
% 65.51/8.55  % (18889)Memory used [KB]: 17014
% 65.51/8.55  % (18889)Time elapsed: 0.583 s
% 65.51/8.55  % (18889)Instructions burned: 1100 (million)
% 65.51/8.55  % (18889)------------------------------
% 65.51/8.55  % (18889)------------------------------
% 65.51/8.56  % (18897)ott+1010_1:20_cnfonf=lazy_pi_sigma_gen:fe=axiom:plsq=on:plsqc=2:plsqr=32,1:sac=on:sos=all:i=2868:si=on:rtra=on_0 on theBenchmark for (2917ds/2868Mi)
% 66.40/8.75  % (18892)Instruction limit reached!
% 66.40/8.75  % (18892)------------------------------
% 66.40/8.75  % (18892)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 66.40/8.75  % (18892)Termination reason: Unknown
% 66.40/8.75  % (18892)Termination phase: Saturation
% 66.40/8.75  
% 66.40/8.75  % (18892)Memory used [KB]: 11769
% 66.40/8.75  % (18892)Time elapsed: 0.580 s
% 66.40/8.75  % (18892)Instructions burned: 1194 (million)
% 66.40/8.75  % (18892)------------------------------
% 66.40/8.75  % (18892)------------------------------
% 66.40/8.77  % (18898)dis+10_1:4_atotf=0.1:avsq=on:bsr=unit_only:e2e=on:sd=1:sp=const_max:ss=axioms:i=1516:si=on:rtra=on_0 on theBenchmark for (2915ds/1516Mi)
% 66.40/8.78  % (18898)Refutation not found, incomplete strategy
% 66.40/8.78  % (18898)------------------------------
% 66.40/8.78  % (18898)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 66.40/8.78  % (18898)Termination reason: Refutation not found, incomplete strategy
% 66.40/8.78  
% 66.40/8.78  
% 66.40/8.78  % (18898)Memory used [KB]: 6268
% 66.40/8.78  % (18898)Time elapsed: 0.038 s
% 66.40/8.78  % (18898)Instructions burned: 29 (million)
% 66.40/8.78  % (18898)------------------------------
% 66.40/8.78  % (18898)------------------------------
% 66.40/8.79  % (18899)lrs+1002_1:20_afp=1000:au=on:bsd=on:cnfonf=lazy_not_gen_be_off:sos=all:sp=const_max:i=2321:si=on:rtra=on_0 on theBenchmark for (2915ds/2321Mi)
% 66.73/8.89  % (18895)Instruction limit reached!
% 66.73/8.89  % (18895)------------------------------
% 66.73/8.89  % (18895)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 66.73/8.89  % (18895)Termination reason: Unknown
% 66.73/8.89  % (18895)Termination phase: Saturation
% 66.73/8.89  
% 66.73/8.89  % (18895)Memory used [KB]: 7931
% 66.73/8.89  % (18895)Time elapsed: 0.395 s
% 66.73/8.89  % (18895)Instructions burned: 832 (million)
% 66.73/8.89  % (18895)------------------------------
% 66.73/8.89  % (18895)------------------------------
% 68.65/8.90  % (18900)dis+1010_1:1_au=on:bd=off:bsd=on:ixr=off:sp=const_max:i=2812:si=on:rtra=on_0 on theBenchmark for (2914ds/2812Mi)
% 69.31/9.00  % (18896)Instruction limit reached!
% 69.31/9.00  % (18896)------------------------------
% 69.31/9.00  % (18896)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.31/9.00  % (18896)Termination reason: Unknown
% 69.31/9.00  % (18896)Termination phase: Saturation
% 69.31/9.00  
% 69.31/9.00  % (18896)Memory used [KB]: 7419
% 69.31/9.00  % (18896)Time elapsed: 0.498 s
% 69.31/9.00  % (18896)Instructions burned: 1188 (million)
% 69.31/9.00  % (18896)------------------------------
% 69.31/9.00  % (18896)------------------------------
% 69.43/9.02  % (18901)dis+1002_8:1_bd=off:sd=1:sgt=16:ss=axioms:i=4604:si=on:rtra=on_0 on theBenchmark for (2913ds/4604Mi)
% 69.43/9.04  % (18901)Refutation not found, incomplete strategy
% 69.43/9.04  % (18901)------------------------------
% 69.43/9.04  % (18901)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.43/9.04  % (18901)Termination reason: Refutation not found, incomplete strategy
% 69.43/9.04  
% 69.43/9.04  
% 69.43/9.04  % (18901)Memory used [KB]: 6268
% 69.43/9.04  % (18901)Time elapsed: 0.027 s
% 69.43/9.04  % (18901)Instructions burned: 57 (million)
% 69.43/9.04  % (18901)------------------------------
% 69.43/9.04  % (18901)------------------------------
% 69.43/9.06  % (18902)ott+1002_1:4_c=on:chr=on:cnfonf=lazy_not_be_gen:hud=10:nm=10:piset=all_but_not_eq:rp=on:spb=goal:uhcvi=on:i=2678:si=on:rtra=on_0 on theBenchmark for (2912ds/2678Mi)
% 69.43/9.08  % (18891)Instruction limit reached!
% 69.43/9.08  % (18891)------------------------------
% 69.43/9.08  % (18891)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 69.43/9.08  % (18891)Termination reason: Unknown
% 69.43/9.08  % (18891)Termination phase: Saturation
% 69.43/9.08  
% 69.43/9.08  % (18891)Memory used [KB]: 17526
% 69.43/9.08  % (18891)Time elapsed: 0.943 s
% 69.43/9.08  % (18891)Instructions burned: 1871 (million)
% 69.43/9.08  % (18891)------------------------------
% 69.43/9.08  % (18891)------------------------------
% 69.99/9.10  % (18903)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=643:si=on:rtra=on_0 on theBenchmark for (2912ds/643Mi)
% 70.41/9.20  % (18876)Instruction limit reached!
% 70.41/9.20  % (18876)------------------------------
% 70.41/9.20  % (18876)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.41/9.20  % (18876)Termination reason: Unknown
% 70.41/9.20  % (18876)Termination phase: Saturation
% 70.41/9.20  
% 70.41/9.20  % (18876)Memory used [KB]: 13176
% 70.41/9.20  % (18876)Time elapsed: 3.091 s
% 70.41/9.20  % (18876)Instructions burned: 7680 (million)
% 70.41/9.20  % (18876)------------------------------
% 70.41/9.20  % (18876)------------------------------
% 70.41/9.21  % (18904)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=458:si=on:rtra=on_0 on theBenchmark for (2911ds/458Mi)
% 70.98/9.36  % (18903)Instruction limit reached!
% 70.98/9.36  % (18903)------------------------------
% 70.98/9.36  % (18903)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.98/9.36  % (18903)Termination reason: Unknown
% 70.98/9.36  % (18903)Termination phase: Saturation
% 70.98/9.36  
% 70.98/9.36  % (18903)Memory used [KB]: 7419
% 70.98/9.36  % (18903)Time elapsed: 0.264 s
% 70.98/9.36  % (18903)Instructions burned: 644 (million)
% 70.98/9.36  % (18903)------------------------------
% 70.98/9.36  % (18903)------------------------------
% 70.98/9.37  % (18905)lrs+1010_1:1_anc=all_dependent:apa=on:au=on:bd=off:c=on:cnfonf=off:ntd=on:i=2546:si=on:rtra=on_0 on theBenchmark for (2909ds/2546Mi)
% 70.98/9.39  % (18904)Instruction limit reached!
% 70.98/9.39  % (18904)------------------------------
% 70.98/9.39  % (18904)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 70.98/9.39  % (18904)Termination reason: Unknown
% 70.98/9.39  % (18904)Termination phase: Saturation
% 70.98/9.39  
% 70.98/9.39  % (18904)Memory used [KB]: 7164
% 70.98/9.39  % (18904)Time elapsed: 0.178 s
% 70.98/9.39  % (18904)Instructions burned: 459 (million)
% 70.98/9.39  % (18904)------------------------------
% 70.98/9.39  % (18904)------------------------------
% 70.98/9.40  % (18906)dis+21_1:1_acc=model:au=on:cnfonf=lazy_gen:ins=2:plsq=on:plsqc=1:plsqr=32,1:i=1432:si=on:rtra=on_0 on theBenchmark for (2909ds/1432Mi)
% 73.48/9.57  % (18887)Instruction limit reached!
% 73.48/9.57  % (18887)------------------------------
% 73.48/9.57  % (18887)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 73.48/9.57  % (18887)Termination reason: Unknown
% 73.48/9.57  % (18887)Termination phase: Saturation
% 73.48/9.57  
% 73.48/9.57  % (18887)Memory used [KB]: 16502
% 73.48/9.57  % (18887)Time elapsed: 1.867 s
% 73.48/9.57  % (18887)Instructions burned: 3711 (million)
% 73.48/9.57  % (18887)------------------------------
% 73.48/9.57  % (18887)------------------------------
% 73.48/9.59  % (18907)dis+1002_1:1_cnfonf=lazy_not_gen:hud=10:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=386:si=on:rtra=on_0 on theBenchmark for (2907ds/386Mi)
% 74.87/9.72  % (18894)Instruction limit reached!
% 74.87/9.72  % (18894)------------------------------
% 74.87/9.72  % (18894)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 74.87/9.72  % (18894)Termination reason: Unknown
% 74.87/9.72  % (18894)Termination phase: Saturation
% 74.87/9.72  
% 74.87/9.72  % (18894)Memory used [KB]: 9722
% 74.87/9.72  % (18894)Time elapsed: 1.275 s
% 74.87/9.72  % (18894)Instructions burned: 3115 (million)
% 74.87/9.72  % (18894)------------------------------
% 74.87/9.72  % (18894)------------------------------
% 74.87/9.73  % (18908)dis+1002_1:1_cnfonf=lazy_simp:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=360:si=on:rtra=on_0 on theBenchmark for (2906ds/360Mi)
% 74.87/9.75  % (18907)Instruction limit reached!
% 74.87/9.75  % (18907)------------------------------
% 74.87/9.75  % (18907)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 74.87/9.75  % (18907)Termination reason: Unknown
% 74.87/9.75  % (18907)Termination phase: Saturation
% 74.87/9.75  
% 74.87/9.75  % (18907)Memory used [KB]: 7291
% 74.87/9.75  % (18907)Time elapsed: 0.166 s
% 74.87/9.75  % (18907)Instructions burned: 386 (million)
% 74.87/9.75  % (18907)------------------------------
% 74.87/9.75  % (18907)------------------------------
% 74.87/9.76  % (18909)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=5446:si=on:rtra=on_0 on theBenchmark for (2905ds/5446Mi)
% 75.74/9.87  % (18899)Instruction limit reached!
% 75.74/9.87  % (18899)------------------------------
% 75.74/9.87  % (18899)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 75.74/9.87  % (18899)Termination reason: Unknown
% 75.74/9.87  % (18899)Termination phase: Saturation
% 75.74/9.87  
% 75.74/9.87  % (18899)Memory used [KB]: 9083
% 75.74/9.87  % (18899)Time elapsed: 1.103 s
% 75.74/9.87  % (18899)Instructions burned: 2322 (million)
% 75.74/9.87  % (18899)------------------------------
% 75.74/9.87  % (18899)------------------------------
% 75.74/9.88  % (18908)Instruction limit reached!
% 75.74/9.88  % (18908)------------------------------
% 75.74/9.88  % (18908)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 75.74/9.88  % (18908)Termination reason: Unknown
% 75.74/9.88  % (18908)Termination phase: Saturation
% 75.74/9.88  
% 75.74/9.88  % (18908)Memory used [KB]: 7164
% 75.74/9.88  % (18908)Time elapsed: 0.151 s
% 75.74/9.88  % (18908)Instructions burned: 360 (million)
% 75.74/9.88  % (18908)------------------------------
% 75.74/9.88  % (18908)------------------------------
% 75.74/9.89  % (18910)dis+10_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=2573:si=on:rtra=on_0 on theBenchmark for (2904ds/2573Mi)
% 75.74/9.90  % (18911)lrs+10_1:1_av=off:bd=off:cnfonf=lazy_gen:fe=off:hud=10:plsq=on:plsqc=1:plsqr=32,1:tnu=1:i=2655:si=on:rtra=on_0 on theBenchmark for (2904ds/2655Mi)
% 76.49/9.92  % (18906)Instruction limit reached!
% 76.49/9.92  % (18906)------------------------------
% 76.49/9.92  % (18906)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 76.49/9.92  % (18906)Termination reason: Unknown
% 76.49/9.92  % (18906)Termination phase: Saturation
% 76.49/9.92  
% 76.49/9.92  % (18906)Memory used [KB]: 8827
% 76.49/9.92  % (18906)Time elapsed: 0.519 s
% 76.49/9.92  % (18906)Instructions burned: 1434 (million)
% 76.49/9.92  % (18906)------------------------------
% 76.49/9.92  % (18906)------------------------------
% 76.49/9.94  % (18912)dis+1002_16:1_apa=on:au=on:av=off:cnfonf=off:e2e=on:nm=0:nwc=10.0:i=2781:si=on:rtra=on_0 on theBenchmark for (2904ds/2781Mi)
% 76.49/9.95  % (18897)Instruction limit reached!
% 76.49/9.95  % (18897)------------------------------
% 76.49/9.95  % (18897)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 76.49/9.95  % (18897)Termination reason: Unknown
% 76.49/9.95  % (18897)Termination phase: Saturation
% 76.49/9.95  
% 76.49/9.95  % (18897)Memory used [KB]: 10874
% 76.49/9.95  % (18897)Time elapsed: 1.408 s
% 76.49/9.95  % (18897)Instructions burned: 2868 (million)
% 76.49/9.95  % (18897)------------------------------
% 76.49/9.95  % (18897)------------------------------
% 76.49/9.96  % (18913)lrs+1010_1:10_au=on:bd=off:cnfonf=lazy_pi_sigma_gen:sp=occurrence:i=307:si=on:rtra=on_0 on theBenchmark for (2903ds/307Mi)
% 77.11/10.09  % (18913)Instruction limit reached!
% 77.11/10.09  % (18913)------------------------------
% 77.11/10.09  % (18913)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 77.11/10.09  % (18913)Termination reason: Unknown
% 77.11/10.09  % (18913)Termination phase: Saturation
% 77.11/10.09  
% 77.11/10.09  % (18913)Memory used [KB]: 6780
% 77.11/10.09  % (18913)Time elapsed: 0.130 s
% 77.11/10.09  % (18913)Instructions burned: 309 (million)
% 77.11/10.09  % (18913)------------------------------
% 77.11/10.09  % (18913)------------------------------
% 77.11/10.10  % (18914)lrs+1010_1:1_avsq=on:avsqr=1,16:kws=inv_arity:nwc=5.0:sd=1:ss=axioms:i=1548:si=on:rtra=on_0 on theBenchmark for (2902ds/1548Mi)
% 78.39/10.12  % (18902)Instruction limit reached!
% 78.39/10.12  % (18902)------------------------------
% 78.39/10.12  % (18902)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.39/10.12  % (18902)Termination reason: Unknown
% 78.39/10.12  % (18902)Termination phase: Saturation
% 78.39/10.12  
% 78.39/10.12  % (18902)Memory used [KB]: 8187
% 78.39/10.12  % (18902)Time elapsed: 1.037 s
% 78.39/10.12  % (18902)Instructions burned: 2679 (million)
% 78.39/10.12  % (18902)------------------------------
% 78.39/10.12  % (18902)------------------------------
% 78.39/10.13  % (18914)Refutation not found, incomplete strategy
% 78.39/10.13  % (18914)------------------------------
% 78.39/10.13  % (18914)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.39/10.13  % (18914)Termination reason: Refutation not found, incomplete strategy
% 78.39/10.13  
% 78.39/10.13  
% 78.39/10.13  % (18914)Memory used [KB]: 6268
% 78.39/10.13  % (18914)Time elapsed: 0.027 s
% 78.39/10.13  % (18914)Instructions burned: 56 (million)
% 78.39/10.13  % (18914)------------------------------
% 78.39/10.13  % (18914)------------------------------
% 78.45/10.14  % (18915)lrs+10_1:3_alpa=true:hud=3:ins=1:ntd=on:plsq=on:plsqc=1:plsqr=32,1:prag=on:s2a=on:s2agt=10:i=5214:si=on:rtra=on_0 on theBenchmark for (2902ds/5214Mi)
% 78.45/10.14  % (18916)dis+21_1:1_aac=none:bsr=on:nwc=3.0:s2a=on:i=3201:si=on:rtra=on_0 on theBenchmark for (2902ds/3201Mi)
% 78.90/10.24  % (18900)Instruction limit reached!
% 78.90/10.24  % (18900)------------------------------
% 78.90/10.24  % (18900)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 78.90/10.24  % (18900)Termination reason: Unknown
% 78.90/10.24  % (18900)Termination phase: Saturation
% 78.90/10.24  
% 78.90/10.24  % (18900)Memory used [KB]: 11257
% 78.90/10.24  % (18900)Time elapsed: 1.336 s
% 78.90/10.24  % (18900)Instructions burned: 2812 (million)
% 78.90/10.24  % (18900)------------------------------
% 78.90/10.24  % (18900)------------------------------
% 78.90/10.25  % (18917)lrs+1010_1:1_chr=on:cnfonf=lazy_not_be_gen:gs=on:hud=5:plsq=on:plsqc=1:plsqr=5,1:prag=on:rawr=on:i=454:si=on:rtra=on_0 on theBenchmark for (2900ds/454Mi)
% 79.30/10.30  % (18905)Instruction limit reached!
% 79.30/10.30  % (18905)------------------------------
% 79.30/10.30  % (18905)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 79.30/10.30  % (18905)Termination reason: Unknown
% 79.30/10.30  % (18905)Termination phase: Saturation
% 79.30/10.30  
% 79.30/10.30  % (18905)Memory used [KB]: 7675
% 79.30/10.30  % (18905)Time elapsed: 0.930 s
% 79.30/10.30  % (18905)Instructions burned: 2546 (million)
% 79.30/10.30  % (18905)------------------------------
% 79.30/10.30  % (18905)------------------------------
% 79.30/10.32  % (18918)lrs+1002_1:32_au=on:ins=2:nm=16:ntd=on:piset=all_but_not_eq:sp=occurrence:i=3049:si=on:rtra=on_0 on theBenchmark for (2900ds/3049Mi)
% 79.70/10.36  % (18918)Refutation not found, incomplete strategy
% 79.70/10.36  % (18918)------------------------------
% 79.70/10.36  % (18918)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 79.70/10.36  % (18918)Termination reason: Refutation not found, incomplete strategy
% 79.70/10.36  
% 79.70/10.36  
% 79.70/10.36  % (18918)Memory used [KB]: 6780
% 79.70/10.36  % (18918)Time elapsed: 0.050 s
% 79.70/10.36  % (18918)Instructions burned: 116 (million)
% 79.70/10.36  % (18918)------------------------------
% 79.70/10.36  % (18918)------------------------------
% 79.70/10.38  % (18919)lrs+1010_1:1_bd=preordered:cnfonf=off:e2e=on:kws=inv_precedence:lwlo=on:sd=2:ss=axioms:i=7311:si=on:rtra=on_0 on theBenchmark for (2899ds/7311Mi)
% 80.01/10.43  % (18917)Instruction limit reached!
% 80.01/10.43  % (18917)------------------------------
% 80.01/10.43  % (18917)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 80.01/10.43  % (18917)Termination reason: Unknown
% 80.01/10.43  % (18917)Termination phase: Saturation
% 80.01/10.43  
% 80.01/10.43  % (18917)Memory used [KB]: 12025
% 80.01/10.43  % (18917)Time elapsed: 0.185 s
% 80.01/10.43  % (18917)Instructions burned: 455 (million)
% 80.01/10.43  % (18917)------------------------------
% 80.01/10.43  % (18917)------------------------------
% 80.01/10.45  % (18920)lrs+1002_1:14_au=on:bd=off:e2e=on:fde=unused:sac=on:sos=on:i=6804:si=on:rtra=on_0 on theBenchmark for (2898ds/6804Mi)
% 80.53/10.55  % (18920)Refutation not found, incomplete strategy
% 80.53/10.55  % (18920)------------------------------
% 80.53/10.55  % (18920)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 80.53/10.55  % (18920)Termination reason: Refutation not found, incomplete strategy
% 80.53/10.55  
% 80.53/10.55  
% 80.53/10.55  % (18920)Memory used [KB]: 8315
% 80.53/10.55  % (18920)Time elapsed: 0.107 s
% 80.53/10.55  % (18920)Instructions burned: 214 (million)
% 80.53/10.55  % (18920)------------------------------
% 80.53/10.55  % (18920)------------------------------
% 80.53/10.57  % (18921)dis+1003_1:1_au=on:bd=preordered:fde=none:ixr=off:nwc=10.0:i=1683:si=on:rtra=on_0 on theBenchmark for (2897ds/1683Mi)
% 85.10/10.99  % (18910)Instruction limit reached!
% 85.10/10.99  % (18910)------------------------------
% 85.10/10.99  % (18910)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 85.10/10.99  % (18910)Termination reason: Unknown
% 85.10/10.99  % (18910)Termination phase: Saturation
% 85.10/10.99  
% 85.10/10.99  % (18910)Memory used [KB]: 9850
% 85.10/10.99  % (18910)Time elapsed: 1.102 s
% 85.10/10.99  % (18910)Instructions burned: 2573 (million)
% 85.10/10.99  % (18910)------------------------------
% 85.10/10.99  % (18910)------------------------------
% 85.10/11.00  % (18922)lrs+10_8:1_au=on:av=off:bd=off:cs=on:e2e=on:hfsq=on:hfsqc=50:hfsql=off:nm=0:i=4688:si=on:rtra=on_0 on theBenchmark for (2893ds/4688Mi)
% 85.63/11.12  % (18911)Instruction limit reached!
% 85.63/11.12  % (18911)------------------------------
% 85.63/11.12  % (18911)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 85.63/11.12  % (18911)Termination reason: Unknown
% 85.63/11.12  % (18911)Termination phase: Saturation
% 85.63/11.12  
% 85.63/11.12  % (18911)Memory used [KB]: 12153
% 85.63/11.12  % (18911)Time elapsed: 1.225 s
% 85.63/11.12  % (18911)Instructions burned: 2657 (million)
% 85.63/11.12  % (18911)------------------------------
% 85.63/11.12  % (18911)------------------------------
% 86.28/11.13  % (18923)dis-1_1:1_amm=off:au=on:cbe=off:spb=intro:i=2207:si=on:rtra=on_0 on theBenchmark for (2892ds/2207Mi)
% 87.63/11.31  % (18912)Instruction limit reached!
% 87.63/11.31  % (18912)------------------------------
% 87.63/11.31  % (18912)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 87.63/11.31  % (18912)Termination reason: Unknown
% 87.63/11.31  % (18912)Termination phase: Saturation
% 87.63/11.31  
% 87.63/11.31  % (18912)Memory used [KB]: 6780
% 87.63/11.31  % (18912)Time elapsed: 1.375 s
% 87.63/11.31  % (18912)Instructions burned: 2781 (million)
% 87.63/11.31  % (18912)------------------------------
% 87.63/11.31  % (18912)------------------------------
% 87.95/11.32  % (18924)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=8216:si=on:rtra=on_0 on theBenchmark for (2890ds/8216Mi)
% 88.03/11.39  % (18921)Instruction limit reached!
% 88.03/11.39  % (18921)------------------------------
% 88.03/11.39  % (18921)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 88.03/11.39  % (18921)Termination reason: Unknown
% 88.03/11.39  % (18921)Termination phase: Saturation
% 88.03/11.39  
% 88.03/11.39  % (18921)Memory used [KB]: 13432
% 88.03/11.39  % (18921)Time elapsed: 0.825 s
% 88.03/11.39  % (18921)Instructions burned: 1683 (million)
% 88.03/11.39  % (18921)------------------------------
% 88.03/11.39  % (18921)------------------------------
% 88.03/11.41  % (18925)lrs+1010_1:1_atotf=0.5:au=on:cbe=off:cnfonf=lazy_not_be_gen:fe=off:nwc=5.0:spb=units:i=430:si=on:rtra=on_0 on theBenchmark for (2889ds/430Mi)
% 89.58/11.58  % (18925)Instruction limit reached!
% 89.58/11.58  % (18925)------------------------------
% 89.58/11.58  % (18925)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 89.58/11.58  % (18925)Termination reason: Unknown
% 89.58/11.58  % (18925)Termination phase: Saturation
% 89.58/11.58  
% 89.58/11.58  % (18925)Memory used [KB]: 7419
% 89.58/11.58  % (18925)Time elapsed: 0.180 s
% 89.58/11.58  % (18925)Instructions burned: 430 (million)
% 89.58/11.58  % (18925)------------------------------
% 89.58/11.58  % (18925)------------------------------
% 89.58/11.60  % (18926)lrs+1004_1:1_cnfonf=lazy_pi_sigma_gen:fe=off:gs=on:hud=10:prag=on:tnu=1:i=2012:si=on:rtra=on_0 on theBenchmark for (2887ds/2012Mi)
% 90.08/11.68  % (18916)Instruction limit reached!
% 90.08/11.68  % (18916)------------------------------
% 90.08/11.68  % (18916)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 90.08/11.68  % (18916)Termination reason: Unknown
% 90.08/11.68  % (18916)Termination phase: Saturation
% 90.08/11.68  
% 90.08/11.68  % (18916)Memory used [KB]: 12025
% 90.08/11.68  % (18916)Time elapsed: 1.543 s
% 90.08/11.68  % (18916)Instructions burned: 3201 (million)
% 90.08/11.68  % (18916)------------------------------
% 90.08/11.68  % (18916)------------------------------
% 90.08/11.70  % (18927)ott+1010_1:32_apa=on:atotf=0.3:au=on:c=on:cnfonf=off:fe=off:fsr=off:nm=6:piset=or:sac=on:sos=on:i=631:si=on:rtra=on_0 on theBenchmark for (2886ds/631Mi)
% 92.71/11.96  % (18927)Instruction limit reached!
% 92.71/11.96  % (18927)------------------------------
% 92.71/11.96  % (18927)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 92.71/11.96  % (18927)Termination reason: Unknown
% 92.71/11.96  % (18927)Termination phase: Saturation
% 92.71/11.96  
% 92.71/11.96  % (18927)Memory used [KB]: 7291
% 92.71/11.96  % (18927)Time elapsed: 0.269 s
% 92.71/11.96  % (18927)Instructions burned: 632 (million)
% 92.71/11.96  % (18927)------------------------------
% 92.71/11.96  % (18927)------------------------------
% 92.71/11.98  % (18928)dis+2_1:1_bd=off:e2e=on:hud=1:nm=3:piset=or:prag=on:s2a=on:sp=const_max:i=8785:si=on:rtra=on_0 on theBenchmark for (2883ds/8785Mi)
% 94.51/12.18  % (18923)Instruction limit reached!
% 94.51/12.18  % (18923)------------------------------
% 94.51/12.18  % (18923)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 94.51/12.18  % (18923)Termination reason: Unknown
% 94.51/12.18  % (18923)Termination phase: Saturation
% 94.51/12.18  
% 94.51/12.18  % (18923)Memory used [KB]: 9722
% 94.51/12.18  % (18923)Time elapsed: 1.046 s
% 94.51/12.18  % (18923)Instructions burned: 2208 (million)
% 94.51/12.18  % (18923)------------------------------
% 94.51/12.18  % (18923)------------------------------
% 94.61/12.19  % (18929)lrs-1002_1:128_abs=on:bd=preordered:cbe=off:e2e=on:fde=unused:fe=off:tgt=full:i=739:si=on:rtra=on_0 on theBenchmark for (2881ds/739Mi)
% 95.38/12.40  % (18909)Instruction limit reached!
% 95.38/12.40  % (18909)------------------------------
% 95.38/12.40  % (18909)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 95.38/12.40  % (18909)Termination reason: Unknown
% 95.38/12.40  % (18909)Termination phase: Saturation
% 95.38/12.40  
% 95.38/12.40  % (18909)Memory used [KB]: 17654
% 95.38/12.40  % (18909)Time elapsed: 2.643 s
% 95.38/12.40  % (18909)Instructions burned: 5446 (million)
% 95.38/12.40  % (18909)------------------------------
% 95.38/12.40  % (18909)------------------------------
% 96.61/12.42  % (18930)dis+1002_1:1024_fe=off:hud=5:prag=on:i=5473:si=on:rtra=on_0 on theBenchmark for (2879ds/5473Mi)
% 97.29/12.53  % (18926)Instruction limit reached!
% 97.29/12.53  % (18926)------------------------------
% 97.29/12.53  % (18926)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 97.29/12.53  % (18926)Termination reason: Unknown
% 97.29/12.53  % (18926)Termination phase: Saturation
% 97.29/12.53  
% 97.29/12.53  % (18926)Memory used [KB]: 24178
% 97.29/12.53  % (18926)Time elapsed: 0.938 s
% 97.29/12.53  % (18926)Instructions burned: 2012 (million)
% 97.29/12.53  % (18926)------------------------------
% 97.29/12.53  % (18926)------------------------------
% 97.29/12.55  % (18931)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=43570:si=on:rtra=on_0 on theBenchmark for (2878ds/43570Mi)
% 97.29/12.56  % (18929)Instruction limit reached!
% 97.29/12.56  % (18929)------------------------------
% 97.29/12.56  % (18929)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 97.29/12.56  % (18929)Termination reason: Unknown
% 97.29/12.56  % (18929)Termination phase: Saturation
% 97.29/12.56  
% 97.29/12.56  % (18929)Memory used [KB]: 10746
% 97.29/12.56  % (18929)Time elapsed: 0.370 s
% 97.29/12.56  % (18929)Instructions burned: 740 (million)
% 97.29/12.56  % (18929)------------------------------
% 97.29/12.56  % (18929)------------------------------
% 97.29/12.57  % (18931)Refutation not found, incomplete strategy
% 97.29/12.57  % (18931)------------------------------
% 97.29/12.57  % (18931)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 97.29/12.57  % (18931)Termination reason: Refutation not found, incomplete strategy
% 97.29/12.57  
% 97.29/12.57  
% 97.29/12.57  % (18931)Memory used [KB]: 6396
% 97.29/12.57  % (18931)Time elapsed: 0.027 s
% 97.29/12.57  % (18931)Instructions burned: 52 (million)
% 97.29/12.57  % (18931)------------------------------
% 97.29/12.57  % (18931)------------------------------
% 97.29/12.58  % (18932)dis+1010_2:3_amm=off:fd=preordered:ixr=off:nm=0:pe=on:piset=equals:prag=on:sac=on:tgt=ground:i=8382:si=on:rtra=on_0 on theBenchmark for (2877ds/8382Mi)
% 97.29/12.59  % (18933)dis-30_1:1_acc=on:bd=off:fsr=off:plsq=on:plsqr=32,1:i=407:si=on:rtra=on_0 on theBenchmark for (2877ds/407Mi)
% 98.37/12.76  % (18915)Instruction limit reached!
% 98.37/12.76  % (18915)------------------------------
% 98.37/12.76  % (18915)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 98.37/12.76  % (18915)Termination reason: Unknown
% 98.37/12.76  % (18915)Termination phase: Saturation
% 98.37/12.76  
% 98.37/12.76  % (18915)Memory used [KB]: 13944
% 98.37/12.76  % (18915)Time elapsed: 2.631 s
% 98.37/12.76  % (18915)Instructions burned: 5214 (million)
% 98.37/12.76  % (18915)------------------------------
% 98.37/12.76  % (18915)------------------------------
% 98.37/12.76  % (18933)Instruction limit reached!
% 98.37/12.76  % (18933)------------------------------
% 98.37/12.76  % (18933)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 98.37/12.76  % (18933)Termination reason: Unknown
% 98.37/12.76  % (18933)Termination phase: Saturation
% 98.37/12.76  
% 98.37/12.76  % (18933)Memory used [KB]: 7291
% 98.37/12.76  % (18933)Time elapsed: 0.193 s
% 98.37/12.76  % (18933)Instructions burned: 408 (million)
% 98.37/12.76  % (18933)------------------------------
% 98.37/12.76  % (18933)------------------------------
% 98.37/12.77  % (18934)lrs+10_1:50_cbe=off:cnfonf=lazy_pi_sigma_gen:fe=off:hud=5:plsq=on:plsqr=1,32:sos=all:i=2971:si=on:rtra=on_0 on theBenchmark for (2875ds/2971Mi)
% 98.37/12.77  % (18935)lrs+1002_1:1_aac=none:bd=off:e2e=on:fde=none:fe=off:piset=or:prag=on:rawr=on:sos=on:updr=off:i=9822:si=on:rtra=on_0 on theBenchmark for (2875ds/9822Mi)
% 102.96/13.28  % (18922)Instruction limit reached!
% 102.96/13.28  % (18922)------------------------------
% 102.96/13.28  % (18922)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 102.96/13.28  % (18922)Termination reason: Unknown
% 102.96/13.28  % (18922)Termination phase: Saturation
% 102.96/13.28  
% 102.96/13.28  % (18922)Memory used [KB]: 6524
% 102.96/13.28  % (18922)Time elapsed: 2.277 s
% 102.96/13.28  % (18922)Instructions burned: 4688 (million)
% 102.96/13.28  % (18922)------------------------------
% 102.96/13.28  % (18922)------------------------------
% 103.59/13.29  % (18936)dis+10_5:1_av=off:ntd=on:s2a=on:s2at=3.0:sgt=16:sp=unary_frequency:ss=axioms:i=8425:si=on:rtra=on_0 on theBenchmark for (2870ds/8425Mi)
% 105.69/13.60  % (18919)Instruction limit reached!
% 105.69/13.60  % (18919)------------------------------
% 105.69/13.60  % (18919)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 105.69/13.60  % (18919)Termination reason: Unknown
% 105.69/13.60  % (18919)Termination phase: Saturation
% 105.69/13.60  
% 105.69/13.60  % (18919)Memory used [KB]: 18677
% 105.69/13.60  % (18919)Time elapsed: 3.225 s
% 105.69/13.60  % (18919)Instructions burned: 7312 (million)
% 105.69/13.60  % (18919)------------------------------
% 105.69/13.60  % (18919)------------------------------
% 105.69/13.62  % (18937)lrs+30_1:1_aac=none:au=on:cbe=off:cs=on:nm=2:rawr=on:sos=on:i=3107:si=on:rtra=on_0 on theBenchmark for (2867ds/3107Mi)
% 110.79/14.20  % (18934)Instruction limit reached!
% 110.79/14.20  % (18934)------------------------------
% 110.79/14.20  % (18934)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 110.79/14.20  % (18934)Termination reason: Unknown
% 110.79/14.20  % (18934)Termination phase: Saturation
% 110.79/14.20  
% 110.79/14.20  % (18934)Memory used [KB]: 11897
% 110.79/14.20  % (18934)Time elapsed: 1.445 s
% 110.79/14.20  % (18934)Instructions burned: 2972 (million)
% 110.79/14.20  % (18934)------------------------------
% 110.79/14.20  % (18934)------------------------------
% 110.79/14.21  % (18938)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=7967:si=on:rtra=on_0 on theBenchmark for (2861ds/7967Mi)
% 115.54/14.79  % (18937)Instruction limit reached!
% 115.54/14.79  % (18937)------------------------------
% 115.54/14.79  % (18937)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 115.54/14.79  % (18937)Termination reason: Unknown
% 115.54/14.79  % (18937)Termination phase: Saturation
% 115.54/14.79  
% 115.54/14.79  % (18937)Memory used [KB]: 10106
% 115.54/14.79  % (18937)Time elapsed: 1.177 s
% 115.54/14.79  % (18937)Instructions burned: 3107 (million)
% 115.54/14.79  % (18937)------------------------------
% 115.54/14.79  % (18937)------------------------------
% 115.54/14.81  % (18939)lrs+1010_10:959_abs=on:acc=on:bd=off:ccuc=small_ones:cha=on:cnfonf=lazy_simp:fd=preordered:fe=off:hud=3:ile=on:kws=inv_frequency:nm=2:piset=and:sd=5:sp=frequency:spb=goal_then_units:ss=axioms:st=4.5:i=3629:si=on:rtra=on_0 on theBenchmark for (2855ds/3629Mi)
% 117.61/15.11  % (18930)Instruction limit reached!
% 117.61/15.11  % (18930)------------------------------
% 117.61/15.11  % (18930)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 117.61/15.11  % (18930)Termination reason: Unknown
% 117.61/15.11  % (18930)Termination phase: Saturation
% 117.61/15.11  
% 117.61/15.11  % (18930)Memory used [KB]: 12537
% 117.61/15.11  % (18930)Time elapsed: 2.710 s
% 117.61/15.11  % (18930)Instructions burned: 5473 (million)
% 117.61/15.11  % (18930)------------------------------
% 117.61/15.11  % (18930)------------------------------
% 117.61/15.12  % (18940)lrs+1010_1:1024_au=on:fe=axiom:lwlo=on:nm=0:ntd=on:nwc=10.0:spb=non_intro:uhcvi=on:i=939:si=on:rtra=on_0 on theBenchmark for (2852ds/939Mi)
% 119.02/15.31  % (18924)Instruction limit reached!
% 119.02/15.31  % (18924)------------------------------
% 119.02/15.31  % (18924)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 119.02/15.31  % (18924)Termination reason: Unknown
% 119.02/15.31  % (18924)Termination phase: Saturation
% 119.02/15.31  
% 119.02/15.31  % (18924)Memory used [KB]: 14711
% 119.02/15.31  % (18924)Time elapsed: 3.990 s
% 119.02/15.31  % (18924)Instructions burned: 8217 (million)
% 119.02/15.31  % (18924)------------------------------
% 119.02/15.31  % (18924)------------------------------
% 119.02/15.33  % (18941)dis+1666_14:1_cnfonf=lazy_gen:fe=off:hud=10:piset=all_but_not_eq:prag=on:sp=const_max:i=1188:si=on:rtra=on_0 on theBenchmark for (2850ds/1188Mi)
% 121.30/15.58  % (18940)Instruction limit reached!
% 121.30/15.58  % (18940)------------------------------
% 121.30/15.58  % (18940)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 121.30/15.58  % (18940)Termination reason: Unknown
% 121.30/15.58  % (18940)Termination phase: Saturation
% 121.30/15.58  
% 121.30/15.58  % (18940)Memory used [KB]: 8443
% 121.30/15.58  % (18940)Time elapsed: 0.461 s
% 121.30/15.58  % (18940)Instructions burned: 939 (million)
% 121.30/15.58  % (18940)------------------------------
% 121.30/15.58  % (18940)------------------------------
% 121.30/15.59  % (18942)dis+21_3:2_avsq=on:cbe=off:e2e=on:flr=on:ile=on:nwc=5.0:piset=or:rawr=on:sp=occurrence:i=3205:si=on:rtra=on_0 on theBenchmark for (2847ds/3205Mi)
% 123.37/15.80  % (18941)Instruction limit reached!
% 123.37/15.80  % (18941)------------------------------
% 123.37/15.80  % (18941)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 123.37/15.80  % (18941)Termination reason: Unknown
% 123.37/15.80  % (18941)Termination phase: Saturation
% 123.37/15.80  
% 123.37/15.80  % (18941)Memory used [KB]: 7419
% 123.37/15.80  % (18941)Time elapsed: 0.478 s
% 123.37/15.80  % (18941)Instructions burned: 1189 (million)
% 123.37/15.80  % (18941)------------------------------
% 123.37/15.80  % (18941)------------------------------
% 123.49/15.82  % (18943)lrs+1010_1:1_cnfonf=off:ntd=on:nwc=3.0:s2a=on:sp=const_frequency:i=865:si=on:rtra=on_0 on theBenchmark for (2845ds/865Mi)
% 123.49/15.87  % (18943)Refutation not found, incomplete strategy
% 123.49/15.87  % (18943)------------------------------
% 123.49/15.87  % (18943)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 123.49/15.87  % (18943)Termination reason: Refutation not found, incomplete strategy
% 123.49/15.87  
% 123.49/15.87  
% 123.49/15.87  % (18943)Memory used [KB]: 6780
% 123.49/15.87  % (18943)Time elapsed: 0.049 s
% 123.49/15.87  % (18943)Instructions burned: 117 (million)
% 123.49/15.87  % (18943)------------------------------
% 123.49/15.87  % (18943)------------------------------
% 123.49/15.88  % (18944)ott+1002_1:1_au=on:bd=off:cbe=off:cha=on:cnfonf=lazy_pi_sigma_gen:fd=off:fe=off:ntd=on:sp=const_frequency:i=7469:si=on:rtra=on_0 on theBenchmark for (2844ds/7469Mi)
% 126.11/16.19  % (18928)Instruction limit reached!
% 126.11/16.19  % (18928)------------------------------
% 126.11/16.19  % (18928)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 126.11/16.19  % (18928)Termination reason: Unknown
% 126.11/16.19  % (18928)Termination phase: Saturation
% 126.11/16.19  
% 126.11/16.19  % (18928)Memory used [KB]: 22515
% 126.11/16.19  % (18928)Time elapsed: 4.218 s
% 126.11/16.19  % (18928)Instructions burned: 8786 (million)
% 126.11/16.19  % (18928)------------------------------
% 126.11/16.19  % (18928)------------------------------
% 126.86/16.22  % (18945)dis+10_1:10_bd=preordered:e2e=on:fde=none:fe=axiom:hud=3:kws=precedence:nwc=3.0:prag=on:sp=const_max:tgt=full:i=4165:si=on:rtra=on_0 on theBenchmark for (2841ds/4165Mi)
% 128.95/16.52  % (18939)Instruction limit reached!
% 128.95/16.52  % (18939)------------------------------
% 128.95/16.52  % (18939)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 128.95/16.52  % (18939)Termination reason: Unknown
% 128.95/16.52  % (18939)Termination phase: Saturation
% 128.95/16.52  
% 128.95/16.52  % (18939)Memory used [KB]: 10234
% 128.95/16.52  % (18939)Time elapsed: 1.715 s
% 128.95/16.52  % (18939)Instructions burned: 3630 (million)
% 128.95/16.52  % (18939)------------------------------
% 128.95/16.52  % (18939)------------------------------
% 128.95/16.54  % (18946)dis+1010_1:1_au=on:avsq=on:cnfonf=lazy_simp:fsr=off:ntd=on:nwc=10.0:sp=reverse_frequency:ss=axioms:st=1.5:i=13468:si=on:rtra=on_0 on theBenchmark for (2838ds/13468Mi)
% 128.95/16.59  % (18932)Instruction limit reached!
% 128.95/16.59  % (18932)------------------------------
% 128.95/16.59  % (18932)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 128.95/16.59  % (18932)Termination reason: Unknown
% 128.95/16.59  % (18932)Termination phase: Saturation
% 128.95/16.59  
% 128.95/16.59  % (18932)Memory used [KB]: 20468
% 128.95/16.59  % (18932)Time elapsed: 4.035 s
% 128.95/16.59  % (18932)Instructions burned: 8382 (million)
% 128.95/16.59  % (18932)------------------------------
% 128.95/16.59  % (18932)------------------------------
% 129.45/16.60  % (18947)dis+1002_1:1_au=on:bsr=unit_only:cbe=off:fe=off:fsr=off:nm=10:nwc=6.0:plsq=on:plsqc=1:plsqr=32,1:sos=all:i=2635:si=on:rtra=on_0 on theBenchmark for (2837ds/2635Mi)
% 131.64/16.87  % (18942)Instruction limit reached!
% 131.64/16.87  % (18942)------------------------------
% 131.64/16.87  % (18942)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 131.64/16.87  % (18942)Termination reason: Unknown
% 131.64/16.87  % (18942)Termination phase: Saturation
% 131.64/16.87  
% 131.64/16.87  % (18942)Memory used [KB]: 18805
% 131.64/16.87  % (18942)Time elapsed: 1.293 s
% 131.64/16.87  % (18942)Instructions burned: 3205 (million)
% 131.64/16.87  % (18942)------------------------------
% 131.64/16.87  % (18942)------------------------------
% 131.64/16.89  % (18948)dis+1010_1:4_avsq=on:avsqr=16,1:bet=on:cbe=off:cnfonf=lazy_not_be_gen:hud=5:plsq=on:plsqc=1:plsqr=32,1:prag=on:i=631:si=on:rtra=on_0 on theBenchmark for (2834ds/631Mi)
% 132.24/16.95  % (18935)Instruction limit reached!
% 132.24/16.95  % (18935)------------------------------
% 132.24/16.95  % (18935)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 132.24/16.95  % (18935)Termination reason: Unknown
% 132.24/16.95  % (18935)Termination phase: Saturation
% 132.24/16.95  
% 132.24/16.95  % (18935)Memory used [KB]: 23283
% 132.24/16.95  % (18935)Time elapsed: 4.181 s
% 132.24/16.95  % (18935)Instructions burned: 9823 (million)
% 132.24/16.95  % (18935)------------------------------
% 132.24/16.95  % (18935)------------------------------
% 132.24/16.97  % (18949)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=15557:si=on:rtra=on_0 on theBenchmark for (2833ds/15557Mi)
% 133.66/17.12  % (18948)Instruction limit reached!
% 133.66/17.12  % (18948)------------------------------
% 133.66/17.12  % (18948)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 133.66/17.12  % (18948)Termination reason: Unknown
% 133.66/17.12  % (18948)Termination phase: Saturation
% 133.66/17.12  
% 133.66/17.12  % (18948)Memory used [KB]: 7419
% 133.66/17.12  % (18948)Time elapsed: 0.234 s
% 133.66/17.12  % (18948)Instructions burned: 633 (million)
% 133.66/17.12  % (18948)------------------------------
% 133.66/17.12  % (18948)------------------------------
% 133.66/17.13  % (18950)dis+1002_1:1_au=on:sac=on:sd=5:slsq=on:slsqr=1,4:ss=axioms:st=2.0:i=2142:si=on:rtra=on_0 on theBenchmark for (2832ds/2142Mi)
% 133.66/17.16  % (18936)Instruction limit reached!
% 133.66/17.16  % (18936)------------------------------
% 133.66/17.16  % (18936)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 133.66/17.16  % (18936)Termination reason: Unknown
% 133.66/17.16  % (18936)Termination phase: Saturation
% 133.66/17.16  
% 133.66/17.16  % (18936)Memory used [KB]: 12409
% 133.66/17.16  % (18936)Time elapsed: 3.872 s
% 133.66/17.16  % (18936)Instructions burned: 8425 (million)
% 133.66/17.16  % (18936)------------------------------
% 133.66/17.16  % (18936)------------------------------
% 133.66/17.18  % (18951)dis+1002_1:1_aac=none:au=on:bd=off:cnfonf=conj_eager:nwc=5.0:sgt=5:sp=reverse_arity:ss=axioms:i=5624:si=on:rtra=on_0 on theBenchmark for (2831ds/5624Mi)
% 136.95/17.51  % (18947)Instruction limit reached!
% 136.95/17.51  % (18947)------------------------------
% 136.95/17.51  % (18947)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 136.95/17.51  % (18947)Termination reason: Unknown
% 136.95/17.51  % (18947)Termination phase: Saturation
% 136.95/17.51  
% 136.95/17.51  % (18947)Memory used [KB]: 11769
% 136.95/17.51  % (18947)Time elapsed: 0.897 s
% 136.95/17.51  % (18947)Instructions burned: 2635 (million)
% 136.95/17.51  % (18947)------------------------------
% 136.95/17.51  % (18947)------------------------------
% 136.95/17.52  % (18952)lrs+1010_1:1_au=on:cbe=off:cnfonf=lazy_not_be_gen:ntd=on:pe=on:i=1665:si=on:rtra=on_0 on theBenchmark for (2828ds/1665Mi)
% 138.56/17.75  % (18938)Refutation not found, non-redundant clauses discarded% (18938)------------------------------
% 138.56/17.75  % (18938)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 138.56/17.75  % (18938)Termination reason: Refutation not found, non-redundant clauses discarded
% 138.56/17.75  
% 138.56/17.75  % (18938)Memory used [KB]: 12025
% 138.56/17.75  % (18938)Time elapsed: 3.536 s
% 138.56/17.75  % (18938)Instructions burned: 7889 (million)
% 138.56/17.75  % (18938)------------------------------
% 138.56/17.75  % (18938)------------------------------
% 138.56/17.76  % (18953)dis+1002_1:1_av=off:prag=on:sd=1:sos=on:sp=occurrence:ss=axioms:i=64912:si=on:rtra=on_0 on theBenchmark for (2825ds/64912Mi)
% 138.56/17.77  % (18953)Refutation not found, incomplete strategy
% 138.56/17.77  % (18953)------------------------------
% 138.56/17.77  % (18953)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 138.56/17.77  % (18953)Termination reason: Refutation not found, incomplete strategy
% 138.56/17.77  
% 138.56/17.77  
% 138.56/17.77  % (18953)Memory used [KB]: 1791
% 138.56/17.77  % (18953)Time elapsed: 0.016 s
% 138.56/17.77  % (18953)Instructions burned: 55 (million)
% 138.56/17.77  % (18953)------------------------------
% 138.56/17.77  % (18953)------------------------------
% 138.56/17.78  % (18960)lrs+10_1:32_atotf=0.1:avsq=on:bsr=on:cnfonf=lazy_gen:fde=unused:i=7801:si=on:rtra=on_0 on theBenchmark for (2825ds/7801Mi)
% 139.42/17.81  % (18952)Refutation not found, non-redundant clauses discarded% (18952)------------------------------
% 139.42/17.81  % (18952)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 139.42/17.81  % (18952)Termination reason: Refutation not found, non-redundant clauses discarded
% 139.42/17.81  
% 139.42/17.81  % (18952)Memory used [KB]: 7675
% 139.42/17.81  % (18952)Time elapsed: 0.288 s
% 139.42/17.81  % (18952)Instructions burned: 1096 (million)
% 139.42/17.81  % (18952)------------------------------
% 139.42/17.81  % (18952)------------------------------
% 139.42/17.82  % (18950)Instruction limit reached!
% 139.42/17.82  % (18950)------------------------------
% 139.42/17.82  % (18950)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 139.42/17.82  % (18950)Termination reason: Unknown
% 139.42/17.82  % (18950)Termination phase: Saturation
% 139.42/17.82  
% 139.42/17.82  % (18950)Memory used [KB]: 9466
% 139.42/17.82  % (18950)Time elapsed: 0.694 s
% 139.42/17.82  % (18950)Instructions burned: 2143 (million)
% 139.42/17.82  % (18950)------------------------------
% 139.42/17.82  % (18950)------------------------------
% 139.42/17.82  % (18979)ott+2_1:1_au=on:hfsq=on:hfsqc=5:hfsql=off:nwc=5.0:sd=3:ss=axioms:st=5.0:i=15194:si=on:rtra=on_0 on theBenchmark for (2825ds/15194Mi)
% 139.42/17.83  % (18945)Instruction limit reached!
% 139.42/17.83  % (18945)------------------------------
% 139.42/17.83  % (18945)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 139.42/17.83  % (18945)Termination reason: Unknown
% 139.42/17.83  % (18945)Termination phase: Saturation
% 139.42/17.83  
% 139.42/17.83  % (18945)Memory used [KB]: 23027
% 139.42/17.83  % (18945)Time elapsed: 1.643 s
% 139.42/17.83  % (18945)Instructions burned: 4165 (million)
% 139.42/17.83  % (18945)------------------------------
% 139.42/17.83  % (18945)------------------------------
% 139.42/17.83  % (18983)dis-1002_1:1_alpa=false:apa=on:au=on:bd=off:cnfonf=off:e2e=on:er=filter:fde=unused:plsq=on:plsqr=9699663,1048576:s2a=on:sos=on:sp=unary_first:i=6753:si=on:rtra=on_0 on theBenchmark for (2825ds/6753Mi)
% 139.42/17.84  % (18990)lrs+1002_1:28_bd=off:cnfonf=lazy_simp:plsq=on:plsqr=1,1:prag=on:i=1003:si=on:rtra=on_0 on theBenchmark for (2824ds/1003Mi)
% 140.02/17.90  % (18983)Refutation not found, incomplete strategy
% 140.02/17.90  % (18983)------------------------------
% 140.02/17.90  % (18983)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 140.02/17.90  % (18983)Termination reason: Refutation not found, incomplete strategy
% 140.02/17.90  
% 140.02/17.90  
% 140.02/17.90  % (18983)Memory used [KB]: 8315
% 140.02/17.90  % (18983)Time elapsed: 0.072 s
% 140.02/17.90  % (18983)Instructions burned: 239 (million)
% 140.02/17.90  % (18983)------------------------------
% 140.02/17.90  % (18983)------------------------------
% 140.09/17.91  % (19022)ott-21_5:4_atotf=0.3:e2e=on:hud=15:ins=1:plsq=on:plsqc=1:plsqr=32,1:sp=unary_frequency:tnu=2:i=13018:si=on:rtra=on_0 on theBenchmark for (2824ds/13018Mi)
% 141.13/18.13  % (18990)Instruction limit reached!
% 141.13/18.13  % (18990)------------------------------
% 141.13/18.13  % (18990)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 141.13/18.13  % (18990)Termination reason: Unknown
% 141.13/18.13  % (18990)Termination phase: Saturation
% 141.13/18.13  
% 141.13/18.13  % (18990)Memory used [KB]: 8059
% 141.13/18.13  % (18990)Time elapsed: 0.299 s
% 141.13/18.13  % (18990)Instructions burned: 1004 (million)
% 141.13/18.13  % (18990)------------------------------
% 141.13/18.13  % (18990)------------------------------
% 141.13/18.14  % (19130)dis+10_1:4_atotf=0.1:avsq=on:bsr=unit_only:e2e=on:sd=1:sp=const_max:ss=axioms:i=1267:si=on:rtra=on_0 on theBenchmark for (2821ds/1267Mi)
% 141.13/18.15  % (19130)Refutation not found, incomplete strategy
% 141.13/18.15  % (19130)------------------------------
% 141.13/18.15  % (19130)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 141.13/18.15  % (19130)Termination reason: Refutation not found, incomplete strategy
% 141.13/18.15  
% 141.13/18.15  
% 141.13/18.15  % (19130)Memory used [KB]: 6268
% 141.13/18.15  % (19130)Time elapsed: 0.011 s
% 141.13/18.15  % (19130)Instructions burned: 29 (million)
% 141.13/18.15  % (19130)------------------------------
% 141.13/18.15  % (19130)------------------------------
% 141.13/18.16  % (19137)lrs+10_1:20_au=on:c=on:cbe=off:cnfonf=lazy_gen:ins=1:plsq=on:plsqc=1:plsqr=46,31:sac=on:i=2570:si=on:rtra=on_0 on theBenchmark for (2821ds/2570Mi)
% 146.60/18.78  % (19137)Instruction limit reached!
% 146.60/18.78  % (19137)------------------------------
% 146.60/18.78  % (19137)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 146.60/18.78  % (19137)Termination reason: Unknown
% 146.60/18.78  % (19137)Termination phase: Saturation
% 146.60/18.78  
% 146.60/18.78  % (19137)Memory used [KB]: 7803
% 146.60/18.78  % (19137)Time elapsed: 0.617 s
% 146.60/18.78  % (19137)Instructions burned: 2572 (million)
% 146.60/18.78  % (19137)------------------------------
% 146.60/18.78  % (19137)------------------------------
% 146.60/18.78  % (18944)Instruction limit reached!
% 146.60/18.78  % (18944)------------------------------
% 146.60/18.78  % (18944)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 146.60/18.78  % (18944)Termination reason: Unknown
% 146.60/18.78  % (18944)Termination phase: Saturation
% 146.60/18.78  
% 146.60/18.78  % (18944)Memory used [KB]: 24818
% 146.60/18.78  % (18944)Time elapsed: 2.923 s
% 146.60/18.78  % (18944)Instructions burned: 7469 (million)
% 146.60/18.78  % (18944)------------------------------
% 146.60/18.78  % (18944)------------------------------
% 146.60/18.78  % (19186)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=13163:si=on:rtra=on_0 on theBenchmark for (2815ds/13163Mi)
% 147.43/18.79  % (19187)lrs+1666_1:1_au=on:s2a=on:sd=2:ss=axioms:st=5.0:i=5087:si=on:rtra=on_0 on theBenchmark for (2815ds/5087Mi)
% 148.33/18.94  % (18951)Instruction limit reached!
% 148.33/18.94  % (18951)------------------------------
% 148.33/18.94  % (18951)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 148.33/18.94  % (18951)Termination reason: Unknown
% 148.33/18.94  % (18951)Termination phase: Saturation
% 148.33/18.94  
% 148.33/18.94  % (18951)Memory used [KB]: 13560
% 148.33/18.94  % (18951)Time elapsed: 1.767 s
% 148.33/18.94  % (18951)Instructions burned: 5624 (million)
% 148.33/18.94  % (18951)------------------------------
% 148.33/18.94  % (18951)------------------------------
% 148.33/18.95  % (19188)lrs+1002_1:1_aac=none:au=on:bd=off:cnfonf=lazy_pi_sigma_gen:s2a=on:sac=on:sd=1:sgt=20:ss=axioms:i=10380:si=on:rtra=on_0 on theBenchmark for (2813ds/10380Mi)
% 148.33/18.98  % (19188)Refutation not found, incomplete strategy
% 148.33/18.98  % (19188)------------------------------
% 148.33/18.98  % (19188)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 148.33/18.98  % (19188)Termination reason: Refutation not found, incomplete strategy
% 148.33/18.98  
% 148.33/18.98  
% 148.33/18.98  % (19188)Memory used [KB]: 6524
% 148.33/18.98  % (19188)Time elapsed: 0.029 s
% 148.33/18.98  % (19188)Instructions burned: 103 (million)
% 148.33/18.98  % (19188)------------------------------
% 148.33/18.98  % (19188)------------------------------
% 148.33/18.99  % (19189)lrs+2_1:1_bd=off:cbe=off:piset=equals:sd=1:sgt=20:sos=all:ss=axioms:i=4218:si=on:rtra=on_0 on theBenchmark for (2813ds/4218Mi)
% 148.33/19.00  % (19189)Refutation not found, incomplete strategy
% 148.33/19.00  % (19189)------------------------------
% 148.33/19.00  % (19189)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 148.33/19.00  % (19189)Termination reason: Refutation not found, incomplete strategy
% 148.33/19.00  
% 148.33/19.00  
% 148.33/19.00  % (19189)Memory used [KB]: 6268
% 148.33/19.00  % (19189)Time elapsed: 0.016 s
% 148.33/19.00  % (19189)Instructions burned: 54 (million)
% 148.33/19.00  % (19189)------------------------------
% 148.33/19.00  % (19189)------------------------------
% 149.09/19.01  % (19190)ott+1666_1:1_hfaw=0:hfsq=on:hfsql=off:hfsqr=1,16:hud=15:slsq=on:slsqr=1,2:tnu=2:i=3971:si=on:rtra=on_0 on theBenchmark for (2813ds/3971Mi)
% 157.07/20.04  % (18960)Instruction limit reached!
% 157.07/20.04  % (18960)------------------------------
% 157.07/20.04  % (18960)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 157.07/20.04  % (18960)Termination reason: Unknown
% 157.07/20.04  % (18960)Termination phase: Saturation
% 157.07/20.04  
% 157.07/20.04  % (18960)Memory used [KB]: 12153
% 157.07/20.04  % (18960)Time elapsed: 2.263 s
% 157.07/20.04  % (18960)Instructions burned: 7801 (million)
% 157.07/20.04  % (18960)------------------------------
% 157.07/20.04  % (18960)------------------------------
% 157.07/20.05  % (19191)dis+1010_1:1_anc=all_dependent:au=on:bs=on:sd=5:sp=occurrence:ss=axioms:st=2.0:i=14014:si=on:rtra=on_0 on theBenchmark for (2802ds/14014Mi)
% 158.77/20.26  % (19190)Instruction limit reached!
% 158.77/20.26  % (19190)------------------------------
% 158.77/20.26  % (19190)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 158.77/20.26  % (19190)Termination reason: Unknown
% 158.77/20.26  % (19190)Termination phase: Saturation
% 158.77/20.26  
% 158.77/20.26  % (19190)Memory used [KB]: 17782
% 158.77/20.26  % (19190)Time elapsed: 1.254 s
% 158.77/20.26  % (19190)Instructions burned: 3972 (million)
% 158.77/20.26  % (19190)------------------------------
% 158.77/20.26  % (19190)------------------------------
% 158.77/20.27  % (19192)lrs+10_1:1_ins=1:sgt=8:ss=axioms:i=8517:si=on:rtra=on_0 on theBenchmark for (2800ds/8517Mi)
% 160.08/20.47  % (19187)Instruction limit reached!
% 160.08/20.47  % (19187)------------------------------
% 160.08/20.47  % (19187)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 160.08/20.47  % (19187)Termination reason: Unknown
% 160.08/20.47  % (19187)Termination phase: Saturation
% 160.08/20.47  
% 160.08/20.47  % (19187)Memory used [KB]: 14200
% 160.08/20.47  % (19187)Time elapsed: 1.676 s
% 160.08/20.47  % (19187)Instructions burned: 5089 (million)
% 160.08/20.47  % (19187)------------------------------
% 160.08/20.47  % (19187)------------------------------
% 160.65/20.48  % (19193)dis+10_1:1_av=off:e2e=on:nm=4:s2a=on:i=10148:si=on:rtra=on_0 on theBenchmark for (2798ds/10148Mi)
% 164.25/20.97  % (18946)Instruction limit reached!
% 164.25/20.97  % (18946)------------------------------
% 164.25/20.97  % (18946)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 164.25/20.97  % (18946)Termination reason: Unknown
% 164.25/20.97  % (18946)Termination phase: Saturation
% 164.25/20.97  
% 164.25/20.97  % (18946)Memory used [KB]: 21364
% 164.25/20.97  % (18946)Time elapsed: 4.453 s
% 164.25/20.97  % (18946)Instructions burned: 13471 (million)
% 164.25/20.97  % (18946)------------------------------
% 164.25/20.97  % (18946)------------------------------
% 164.25/20.98  % (19194)lrs+10_1:2_ntd=on:nwc=10.0:plsq=on:plsqc=1:plsqr=2,1:ss=axioms:i=9078:si=on:rtra=on_0 on theBenchmark for (2793ds/9078Mi)
% 169.06/21.55  % (18979)Instruction limit reached!
% 169.06/21.55  % (18979)------------------------------
% 169.06/21.55  % (18979)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 169.06/21.55  % (18979)Termination reason: Unknown
% 169.06/21.55  % (18979)Termination phase: Saturation
% 169.06/21.55  
% 169.06/21.55  % (18979)Memory used [KB]: 14711
% 169.06/21.55  % (18979)Time elapsed: 3.731 s
% 169.06/21.55  % (18979)Instructions burned: 15195 (million)
% 169.06/21.55  % (18979)------------------------------
% 169.06/21.55  % (18979)------------------------------
% 169.06/21.56  % (19195)lrs+2_1:1_bet=on:bsr=on:cnfonf=lazy_pi_sigma_gen:er=filter:kws=inv_frequency:ntd=on:sd=3:ss=axioms:i=16164:si=on:rtra=on_0 on theBenchmark for (2787ds/16164Mi)
% 170.55/21.80  % (19022)Instruction limit reached!
% 170.55/21.80  % (19022)------------------------------
% 170.55/21.80  % (19022)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 170.55/21.80  % (19022)Termination reason: Unknown
% 170.55/21.80  % (19022)Termination phase: Saturation
% 170.55/21.80  
% 170.55/21.80  % (19022)Memory used [KB]: 47589
% 170.55/21.80  % (19022)Time elapsed: 3.890 s
% 170.55/21.80  % (19022)Instructions burned: 13019 (million)
% 170.55/21.80  % (19022)------------------------------
% 170.55/21.80  % (19022)------------------------------
% 171.23/21.81  % (18949)Instruction limit reached!
% 171.23/21.81  % (18949)------------------------------
% 171.23/21.81  % (18949)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 171.23/21.81  % (18949)Termination reason: Unknown
% 171.23/21.81  % (18949)Termination phase: Saturation
% 171.23/21.81  
% 171.23/21.81  % (18949)Memory used [KB]: 40169
% 171.23/21.81  % (18949)Time elapsed: 4.840 s
% 171.23/21.81  % (18949)Instructions burned: 15560 (million)
% 171.23/21.81  % (18949)------------------------------
% 171.23/21.81  % (18949)------------------------------
% 171.23/21.81  % (19196)lrs+32_1:1_au=on:bet=on:cbe=off:cs=on:ins=3:i=6102:si=on:rtra=on_0 on theBenchmark for (2785ds/6102Mi)
% 171.23/21.82  % (19197)lrs+1010_1:1_au=on:bd=off:e2e=on:fde=unused:nm=4:s2a=on:sos=all:sp=const_frequency:i=10308:si=on:rtra=on_0 on theBenchmark for (2785ds/10308Mi)
% 179.28/22.85  % (19192)Instruction limit reached!
% 179.28/22.85  % (19192)------------------------------
% 179.28/22.85  % (19192)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 179.28/22.85  % (19192)Termination reason: Unknown
% 179.28/22.85  % (19192)Termination phase: Saturation
% 179.28/22.85  
% 179.28/22.85  % (19192)Memory used [KB]: 19701
% 179.28/22.85  % (19192)Time elapsed: 2.581 s
% 179.28/22.85  % (19192)Instructions burned: 8519 (million)
% 179.28/22.85  % (19192)------------------------------
% 179.28/22.85  % (19192)------------------------------
% 179.28/22.86  % (19198)dis+1010_1:1_au=on:avsq=on:bd=off:cbe=off:cnfonf=off:cs=on:hud=5:nm=0:plsq=on:plsqc=1:plsqr=7,1:ss=axioms:tgt=full:i=4041:si=on:rtra=on_0 on theBenchmark for (2774ds/4041Mi)
% 180.85/23.05  % (19186)Instruction limit reached!
% 180.85/23.05  % (19186)------------------------------
% 180.85/23.05  % (19186)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 180.85/23.05  % (19186)Termination reason: Unknown
% 180.85/23.05  % (19186)Termination phase: Saturation
% 180.85/23.05  
% 180.85/23.05  % (19186)Memory used [KB]: 29167
% 180.85/23.05  % (19186)Time elapsed: 4.272 s
% 180.85/23.05  % (19186)Instructions burned: 13164 (million)
% 180.85/23.05  % (19186)------------------------------
% 180.85/23.05  % (19186)------------------------------
% 180.85/23.06  % (19199)dis+1002_1:1_acc=model:au=on:nwc=5.0:sd=5:ss=axioms:st=2.5:i=6901:si=on:rtra=on_0 on theBenchmark for (2772ds/6901Mi)
% 181.50/23.14  % (19193)Instruction limit reached!
% 181.50/23.14  % (19193)------------------------------
% 181.50/23.14  % (19193)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 181.50/23.14  % (19193)Termination reason: Unknown
% 181.50/23.14  % (19193)Termination phase: Saturation
% 181.50/23.14  
% 181.50/23.14  % (19193)Memory used [KB]: 12281
% 181.50/23.14  % (19193)Time elapsed: 2.688 s
% 181.50/23.14  % (19193)Instructions burned: 10150 (million)
% 181.50/23.14  % (19193)------------------------------
% 181.50/23.14  % (19193)------------------------------
% 181.50/23.15  % (19201)lrs-1_1:1_au=on:cbe=off:ntd=on:i=5576:si=on:rtra=on_0 on theBenchmark for (2771ds/5576Mi)
% 183.47/23.34  % (19196)Instruction limit reached!
% 183.47/23.34  % (19196)------------------------------
% 183.47/23.34  % (19196)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 183.47/23.34  % (19196)Termination reason: Unknown
% 183.47/23.34  % (19196)Termination phase: Saturation
% 183.47/23.34  
% 183.47/23.34  % (19196)Memory used [KB]: 13176
% 183.47/23.34  % (19196)Time elapsed: 1.537 s
% 183.47/23.34  % (19196)Instructions burned: 6105 (million)
% 183.47/23.34  % (19196)------------------------------
% 183.47/23.34  % (19196)------------------------------
% 183.47/23.35  % (19202)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=2014:si=on:rtra=on_0 on theBenchmark for (2769ds/2014Mi)
% 186.26/23.72  % (19194)Instruction limit reached!
% 186.26/23.72  % (19194)------------------------------
% 186.26/23.72  % (19194)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 186.26/23.72  % (19194)Termination reason: Unknown
% 186.26/23.72  % (19194)Termination phase: Saturation
% 186.26/23.72  
% 186.26/23.72  % (19194)Memory used [KB]: 19189
% 186.26/23.72  % (19194)Time elapsed: 2.769 s
% 186.26/23.72  % (19194)Instructions burned: 9078 (million)
% 186.26/23.72  % (19194)------------------------------
% 186.26/23.72  % (19194)------------------------------
% 186.26/23.73  % (19204)ott+1010_1:1_cnfonf=lazy_gen:fe=off:plsq=on:plsqc=1:plsqr=3548551,65536:s2a=on:i=5115:si=on:rtra=on_0 on theBenchmark for (2766ds/5115Mi)
% 188.28/23.98  % (19198)Instruction limit reached!
% 188.28/23.98  % (19198)------------------------------
% 188.28/23.98  % (19198)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 188.28/23.98  % (19198)Termination reason: Unknown
% 188.28/23.98  % (19198)Termination phase: Saturation
% 188.28/23.98  
% 188.28/23.98  % (19198)Memory used [KB]: 12025
% 188.28/23.98  % (19198)Time elapsed: 1.119 s
% 188.28/23.98  % (19198)Instructions burned: 4042 (million)
% 188.28/23.98  % (19198)------------------------------
% 188.28/23.98  % (19198)------------------------------
% 188.28/23.99  % (19202)Instruction limit reached!
% 188.28/23.99  % (19202)------------------------------
% 188.28/23.99  % (19202)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 188.28/23.99  % (19202)Termination reason: Unknown
% 188.28/23.99  % (19202)Termination phase: Saturation
% 188.28/23.99  
% 188.28/23.99  % (19202)Memory used [KB]: 16119
% 188.28/23.99  % (19202)Time elapsed: 0.641 s
% 188.28/23.99  % (19202)Instructions burned: 2015 (million)
% 188.28/23.99  % (19202)------------------------------
% 188.28/23.99  % (19202)------------------------------
% 188.28/23.99  % (19205)lrs+2_1:1_au=on:cnfonf=lazy_pi_sigma_gen:sos=on:ss=axioms:i=13001:si=on:rtra=on_0 on theBenchmark for (2763ds/13001Mi)
% 188.28/24.00  % (19206)dis+10_1:2_aac=none:acc=on:atotf=0.1:au=on:fde=none:ins=1:ixr=off:nwc=5.0:i=11105:si=on:rtra=on_0 on theBenchmark for (2763ds/11105Mi)
% 191.32/24.41  % (19197)Refutation not found, non-redundant clauses discarded% (19197)------------------------------
% 191.32/24.41  % (19197)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 191.32/24.41  % (19197)Termination reason: Refutation not found, non-redundant clauses discarded
% 191.32/24.41  
% 191.32/24.41  % (19197)Memory used [KB]: 15735
% 191.32/24.41  % (19197)Time elapsed: 2.598 s
% 191.32/24.41  % (19197)Instructions burned: 10234 (million)
% 191.32/24.41  % (19197)------------------------------
% 191.32/24.41  % (19197)------------------------------
% 191.32/24.42  % (19207)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=13832:si=on:rtra=on_0 on theBenchmark for (2759ds/13832Mi)
% 191.32/24.49  % (19191)Instruction limit reached!
% 191.32/24.49  % (19191)------------------------------
% 191.32/24.49  % (19191)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 191.32/24.49  % (19191)Termination reason: Unknown
% 191.32/24.49  % (19191)Termination phase: Saturation
% 191.32/24.49  
% 191.32/24.49  % (19191)Memory used [KB]: 22515
% 191.32/24.49  % (19191)Time elapsed: 4.435 s
% 191.32/24.49  % (19191)Instructions burned: 14016 (million)
% 191.32/24.49  % (19191)------------------------------
% 191.32/24.49  % (19191)------------------------------
% 192.89/24.49  % (19208)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=32887:si=on:rtra=on_0 on theBenchmark for (2758ds/32887Mi)
% 193.03/24.51  % (19208)Refutation not found, incomplete strategy
% 193.03/24.51  % (19208)------------------------------
% 193.03/24.51  % (19208)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 193.03/24.51  % (19208)Termination reason: Refutation not found, incomplete strategy
% 193.03/24.51  
% 193.03/24.51  
% 193.03/24.51  % (19208)Memory used [KB]: 6268
% 193.03/24.51  % (19208)Time elapsed: 0.018 s
% 193.03/24.51  % (19208)Instructions burned: 60 (million)
% 193.03/24.51  % (19208)------------------------------
% 193.03/24.51  % (19208)------------------------------
% 193.09/24.52  % (19209)dis+1010_2:1_avsq=on:fde=unused:prag=on:i=3362:si=on:rtra=on_0 on theBenchmark for (2758ds/3362Mi)
% 195.76/24.92  % (19201)Instruction limit reached!
% 195.76/24.92  % (19201)------------------------------
% 195.76/24.92  % (19201)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 195.76/24.92  % (19201)Termination reason: Unknown
% 195.76/24.92  % (19201)Termination phase: Saturation
% 195.76/24.92  
% 195.76/24.92  % (19201)Memory used [KB]: 14328
% 195.76/24.92  % (19201)Time elapsed: 1.770 s
% 195.76/24.92  % (19201)Instructions burned: 5576 (million)
% 195.76/24.92  % (19201)------------------------------
% 195.76/24.92  % (19201)------------------------------
% 195.76/24.93  % (19210)ott+1002_1:1_au=on:cnfonf=lazy_simp:nwc=5.0:sgt=5:ss=axioms:st=1.5:i=24965:si=on:rtra=on_0 on theBenchmark for (2754ds/24965Mi)
% 198.59/25.22  % (19199)Instruction limit reached!
% 198.59/25.22  % (19199)------------------------------
% 198.59/25.22  % (19199)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 198.59/25.22  % (19199)Termination reason: Unknown
% 198.59/25.22  % (19199)Termination phase: Saturation
% 198.59/25.22  
% 198.59/25.22  % (19199)Memory used [KB]: 16630
% 198.59/25.22  % (19199)Time elapsed: 2.156 s
% 198.59/25.22  % (19199)Instructions burned: 6903 (million)
% 198.59/25.22  % (19199)------------------------------
% 198.59/25.22  % (19199)------------------------------
% 198.59/25.23  % (19211)lrs+1010_2:1_amm=off:avsq=on:c=on:cbe=off:e2e=on:fsr=off:ins=3:s2a=on:s2at=-1.0:i=15705:si=on:rtra=on_0 on theBenchmark for (2751ds/15705Mi)
% 199.18/25.38  % (19204)Instruction limit reached!
% 199.18/25.38  % (19204)------------------------------
% 199.18/25.38  % (19204)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 199.18/25.38  % (19204)Termination reason: Unknown
% 199.18/25.38  % (19204)Termination phase: Saturation
% 199.18/25.38  
% 199.18/25.38  % (19204)Memory used [KB]: 17654
% 199.18/25.38  % (19204)Time elapsed: 1.649 s
% 199.18/25.38  % (19204)Instructions burned: 5115 (million)
% 199.18/25.38  % (19204)------------------------------
% 199.18/25.38  % (19204)------------------------------
% 199.88/25.39  % (19212)lrs+1010_1:6_au=on:cnfonf=conj_eager:nwc=10.0:pe=on:prag=on:s2a=on:ss=axioms:st=1.5:i=1536:si=on:rtra=on_0 on theBenchmark for (2749ds/1536Mi)
% 200.61/25.51  % (19209)Instruction limit reached!
% 200.61/25.51  % (19209)------------------------------
% 200.61/25.51  % (19209)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 200.61/25.51  % (19209)Termination reason: Unknown
% 200.61/25.51  % (19209)Termination phase: Saturation
% 200.61/25.51  
% 200.61/25.51  % (19209)Memory used [KB]: 13176
% 200.61/25.51  % (19209)Time elapsed: 0.990 s
% 200.61/25.51  % (19209)Instructions burned: 3362 (million)
% 200.61/25.51  % (19209)------------------------------
% 200.61/25.51  % (19209)------------------------------
% 200.61/25.52  % (19213)dis+10_1:1_fde=none:kws=precedence:piset=not:prag=on:slsq=on:slsqc=1:sp=unary_frequency:i=23684:si=on:rtra=on_0 on theBenchmark for (2748ds/23684Mi)
% 203.31/25.86  % (19212)Instruction limit reached!
% 203.31/25.86  % (19212)------------------------------
% 203.31/25.86  % (19212)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 203.31/25.86  % (19212)Termination reason: Unknown
% 203.31/25.86  % (19212)Termination phase: Saturation
% 203.31/25.86  
% 203.31/25.86  % (19212)Memory used [KB]: 8827
% 203.31/25.86  % (19212)Time elapsed: 0.473 s
% 203.31/25.86  % (19212)Instructions burned: 1537 (million)
% 203.31/25.86  % (19212)------------------------------
% 203.31/25.86  % (19212)------------------------------
% 203.31/25.87  % (19214)ott+1004_1:24_anc=none:cbe=off:cnfonf=lazy_not_gen:fe=off:piset=not:prag=on:rp=on:i=4925:si=on:rtra=on_0 on theBenchmark for (2744ds/4925Mi)
% 209.71/26.66  % (19195)Instruction limit reached!
% 209.71/26.66  % (19195)------------------------------
% 209.71/26.66  % (19195)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 209.71/26.66  % (19195)Termination reason: Unknown
% 209.71/26.66  % (19195)Termination phase: Saturation
% 209.71/26.66  
% 209.71/26.66  % (19195)Memory used [KB]: 29040
% 209.71/26.66  % (19195)Time elapsed: 5.105 s
% 209.71/26.66  % (19195)Instructions burned: 16164 (million)
% 209.71/26.66  % (19195)------------------------------
% 209.71/26.66  % (19195)------------------------------
% 209.71/26.67  % (19215)lrs-1010_1:50_au=on:awrs=converge:awrsf=430:bet=on:cbe=off:cha=on:nm=20:sac=on:i=14666:si=on:rtra=on_0 on theBenchmark for (2736ds/14666Mi)
% 214.38/27.20  % (19207)First to succeed.
% 214.55/27.27  % (19207)Refutation found. Thanks to Tanya!
% 214.55/27.27  % SZS status Theorem for theBenchmark
% 214.55/27.27  % SZS output start Proof for theBenchmark
% See solution above
% 214.55/27.28  % (19207)------------------------------
% 214.55/27.28  % (19207)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 214.55/27.28  % (19207)Termination reason: Refutation
% 214.55/27.28  
% 214.55/27.28  % (19207)Memory used [KB]: 51427
% 214.55/27.28  % (19207)Time elapsed: 2.852 s
% 214.55/27.28  % (19207)Instructions burned: 10077 (million)
% 214.55/27.28  % (19207)------------------------------
% 214.55/27.28  % (19207)------------------------------
% 214.55/27.28  % (18680)Success in time 26.944 s
% 214.55/27.28  % Vampire---4.8 exiting
%------------------------------------------------------------------------------