↑ Up

Leo-III---1.8.0.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Leo-III---1.8.0
% Problem  : ALG267^1 : TPTP v9.3.1. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39

% Computer : n008.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Sep 30 07:45:05 AM UTC 2026

% Result   : Theorem 12.36s 3.71s
% Output   : Refutation 14.36s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :   88
% Syntax   : Number of formulae    :   99 (  96 unt;   0 typ;  87 def)
%            Number of atoms       :  460 ( 258 equ;   0 cnn)
%            Maximal formula atoms :  106 (   4 avg)
%            Number of connectives : 3014 ( 172   ~; 126   |;  82   &;2306   @)
%                                         (   0 <=>; 328  =>;   0  <=;   0 <~>)
%            Maximal formula depth :  163 (   4 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :  197 ( 197   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  105 ( 103 usr;  43 con; 0-4 aty)
%            Number of variables   :  647 (  60   ^; 523   !;  18   ?; 647   :)
%                                         (   0  !>;   0  ?*;   0  @-;  46  @+)

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

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

thf(one_decl,type,
    one: term ).

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

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

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

thf(id_decl,type,
    id: subst ).

thf(sh_decl,type,
    sh: subst ).

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

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

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

thf(axmap_decl,type,
    axmap: $o ).

thf(shinj_decl,type,
    shinj: $o ).

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

thf(induction2lem_decl,type,
    induction2lem: $o ).

thf(axvarshift_decl,type,
    axvarshift: $o ).

thf(hoasapinj2_decl,type,
    hoasapinj2: $o ).

thf(hoasapinj1_decl,type,
    hoasapinj1: $o ).

thf(ulamvar1_decl,type,
    ulamvar1: $o ).

thf(apnotvar_decl,type,
    apnotvar: $o ).

thf(hoaslaminj_decl,type,
    hoaslaminj: $o ).

thf(hoasinduction_lem2_decl,type,
    hoasinduction_lem2: $o ).

thf(hoasinduction_lem1_decl,type,
    hoasinduction_lem1: $o ).

thf(hoasapnotvar_decl,type,
    hoasapnotvar: $o ).

thf(axapp_decl,type,
    axapp: $o ).

thf(ulamvarind_decl,type,
    ulamvarind: $o ).

thf(induction_decl,type,
    induction: $o ).

thf(hoasinduction_lem3b_gthm_decl,type,
    hoasinduction_lem3b_gthm: $o ).

thf(axclos_decl,type,
    axclos: $o ).

thf(axassoc_decl,type,
    axassoc: $o ).

thf(apinj2_decl,type,
    apinj2: $o ).

thf(apinj1_decl,type,
    apinj1: $o ).

thf(axvarcons_decl,type,
    axvarcons: $o ).

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

thf(axscons_decl,type,
    axscons: $o ).

thf(axidr_decl,type,
    axidr: $o ).

thf(laminj_decl,type,
    laminj: $o ).

thf(axabs_decl,type,
    axabs: $o ).

thf(lamnotap_decl,type,
    lamnotap: $o ).

thf(hoaslamnotvar_decl,type,
    hoaslamnotvar: $o ).

thf(axidl_decl,type,
    axidl: $o ).

thf(pushprop_decl,type,
    pushprop: $o ).

thf(hoasinduction_lem3b_decl,type,
    hoasinduction_lem3b: $o ).

thf(substmonoid_decl,type,
    substmonoid: $o ).

thf(lamnotvar_decl,type,
    lamnotvar: $o ).

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

thf(hoaslamnotap_decl,type,
    hoaslamnotap: $o ).

thf(ulamvarsh_decl,type,
    ulamvarsh: $o ).

thf(induction2_decl,type,
    induction2: $o ).

thf(axshiftcons_decl,type,
    axshiftcons: $o ).

thf(termmset_decl,type,
    termmset: $o ).

thf(axvarid_decl,type,
    axvarid: $o ).

thf(sk1_decl,type,
    sk1: ( term > $o ) > term ).

thf(sk2_decl,type,
    sk2: ( term > $o ) > $o ).

thf(sk3_decl,type,
    sk3: ( term > $o ) > term ).

thf(sk4_decl,type,
    sk4: ( term > $o ) > term ).

thf(sk5_decl,type,
    sk5: ( term > $o ) > term ).

thf(sk6_decl,type,
    sk6: ( term > $o ) > term ).

thf(sk7_decl,type,
    sk7: subst > term > ( term > $o ) > term ).

thf(sk8_decl,type,
    sk8: ( term > $o ) > $o ).

thf(sk9_decl,type,
    sk9: ( term > $o ) > term ).

thf(sk10_decl,type,
    sk10: ( term > $o ) > term ).

thf(sk11_decl,type,
    sk11: ( term > $o ) > $o ).

thf(sk12_decl,type,
    sk12: ( term > $o ) > term ).

thf(sk13_decl,type,
    sk13: subst > term > ( term > $o ) > term ).

thf(sk14_decl,type,
    sk14: ( term > $o ) > $o ).

thf(sk15_decl,type,
    sk15: ( term > $o ) > term ).

thf(sk16_decl,type,
    sk16: ( term > $o ) > $o ).

thf(sk17_decl,type,
    sk17: ( term > $o ) > term ).

thf(sk18_decl,type,
    sk18: ( term > $o ) > term ).

thf(sk19_decl,type,
    sk19: ( term > $o ) > term ).

thf(sk20_decl,type,
    sk20: ( subst > term > term ) > subst ).

thf(sk21_decl,type,
    sk21: ( subst > term > term ) > term ).

thf(sk22_decl,type,
    sk22: ( subst > term > term ) > subst ).

thf(sk23_decl,type,
    sk23: ( subst > term > term ) > ( subst > term > term ) > subst ).

thf(sk24_decl,type,
    sk24: ( subst > term > term ) > ( subst > term > term ) > term ).

thf(sk25_decl,type,
    sk25: ( subst > term > term ) > ( subst > term > term ) > subst ).

thf(sk26_decl,type,
    sk26: ( subst > term > term ) > subst ).

thf(sk27_decl,type,
    sk27: ( subst > term > term ) > term ).

thf(sk28_decl,type,
    sk28: ( subst > term > term ) > subst ).

thf(sk29_decl,type,
    sk29: ( subst > term > term ) > subst ).

thf(sk30_decl,type,
    sk30: ( subst > term > term ) > term ).

thf(sk31_decl,type,
    sk31: ( subst > term > term ) > subst ).

thf(sk32_decl,type,
    sk32: ( subst > term > subst > $o ) > $o ).

thf(sk33_decl,type,
    sk33: ( subst > term > subst > $o ) > subst ).

thf(sk34_decl,type,
    sk34: ( subst > term > subst > $o ) > term ).

thf(sk35_decl,type,
    sk35: ( subst > term > subst > $o ) > subst ).

thf(sk36_decl,type,
    sk36: ( subst > term > subst > $o ) > subst ).

thf(sk37_decl,type,
    sk37: ( subst > term > subst > $o ) > subst ).

thf(sk38_decl,type,
    sk38: ( subst > term > subst > $o ) > term ).

thf(sk39_decl,type,
    sk39: ( subst > term > subst > $o ) > subst ).

thf(sk40_decl,type,
    sk40: ( subst > term > subst > $o ) > subst ).

thf(sk41_decl,type,
    sk41: ( subst > term > subst > $o ) > term ).

thf(sk42_decl,type,
    sk42: ( subst > term > subst > $o ) > $o ).

thf(sk43_decl,type,
    sk43: ( subst > term > subst > $o ) > subst ).

thf(sk44_decl,type,
    sk44: ( subst > term > subst > $o ) > term ).

thf(sk45_decl,type,
    sk45: ( subst > term > subst > $o ) > subst ).

thf(sk46_decl,type,
    sk46: ( subst > term > subst > $o ) > subst ).

thf(sk47_decl,type,
    sk47: ( subst > term > subst > $o ) > subst ).

thf(sk48_decl,type,
    sk48: ( subst > term > subst > $o ) > term ).

thf(sk49_decl,type,
    sk49: ( subst > term > subst > $o ) > subst ).

thf(sk50_decl,type,
    sk50: ( subst > term > subst > $o ) > subst ).

thf(sk51_decl,type,
    sk51: ( subst > term > subst > $o ) > term ).

thf(sk52_decl,type,
    sk52: ( subst > term > subst > $o ) > term ).

thf(sk53_decl,type,
    sk53: term ).

thf(axmap_def,definition,
    ( axmap
    = ( ! [A: term,B: subst,C: subst] :
          ( ( comp @ ( push @ A @ B ) @ C )
          = ( push @ ( sub @ A @ C ) @ ( comp @ B @ C ) ) ) ) ) ).

thf(shinj_def,definition,
    ( shinj
    = ( ! [A: term,B: term] :
          ( ( ( sub @ A @ sh )
            = ( sub @ B @ sh ) )
         => ( A = B ) ) ) ) ).

thf(hoasap_def,definition,
    ( hoasap
    = ( ^ [A: subst,B: term,C: subst] : ( ap @ ( sub @ B @ C ) ) ) ) ).

thf(induction2lem_def,definition,
    ( induction2lem
    = ( ! [A: term > $o] :
          ( ! [B: term,C: term] :
              ( ( A @ B )
             => ( ( A @ C )
               => ( A @ ( ap @ B @ C ) ) ) )
         => ( ! [B: term] :
                ( ! [C: term] :
                    ( ( A @ C )
                   => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
               => ( A @ ( lam @ B ) ) )
           => ! [B: term,C: subst] :
                ( ! [D: term] :
                    ( ( var @ D )
                   => ( A @ ( sub @ D @ C ) ) )
               => ( A @ ( sub @ B @ C ) ) ) ) ) ) ) ).

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

thf(hoasapinj2_def,definition,
    ( hoasapinj2
    = ( ! [A: term,B: term,C: term,D: term] :
          ( ( ( hoasap @ id @ A @ id @ C )
            = ( hoasap @ id @ B @ id @ D ) )
         => ( C = D ) ) ) ) ).

thf(hoasapinj1_def,definition,
    ( hoasapinj1
    = ( ! [A: term,B: term,C: term,D: term] :
          ( ( ( hoasap @ id @ A @ id @ C )
            = ( hoasap @ id @ B @ id @ D ) )
         => ( A = B ) ) ) ) ).

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

thf(apnotvar_def,definition,
    ( apnotvar
    = ( ! [A: term,B: term] :
          ~ ( var @ ( ap @ A @ B ) ) ) ) ).

thf(hoaslaminj_def,definition,
    ( hoaslaminj
    = ( ! [A: subst > term > term] :
          ( ! [B: subst,C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
         => ! [B: subst > term > term] :
              ( ! [C: subst,D: term,E: subst] :
                  ( ( sub @ ( B @ C @ D ) @ E )
                  = ( B @ ( comp @ C @ E ) @ ( sub @ D @ E ) ) )
             => ( ( ( hoaslam @ id @ A )
                  = ( hoaslam @ id @ B ) )
               => ! [C: subst,D: term] :
                    ( ( A @ C @ D )
                    = ( B @ C @ D ) ) ) ) ) ) ) ).

thf(hoasinduction_lem2_def,definition,
    ( hoasinduction_lem2
    = ( ! [A: subst > term > subst > $o] :
          ( ! [B: subst,C: term,D: subst,E: subst] :
              ( ( A @ B @ C @ ( comp @ E @ D ) )
             => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
         => ( ! [B: subst,C: term,D: subst,E: subst] :
                ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
               => ( A @ B @ C @ ( comp @ E @ D ) ) )
           => ( ! [B: term,C: term] :
                  ( ( A @ id @ B @ id )
                 => ( ( A @ id @ C @ id )
                   => ( A @ id @ ( hoasap @ id @ B @ id @ C ) @ id ) ) )
             => ! [B: term,C: term] :
                  ( ( A @ id @ B @ id )
                 => ( ( A @ id @ C @ id )
                   => ( A @ id @ ( ap @ B @ C ) @ id ) ) ) ) ) ) ) ) ).

thf(hoasinduction_lem1_def,definition,
    ( hoasinduction_lem1
    = ( ! [A: subst > term > subst > $o] :
          ( ! [B: subst,C: term,D: subst,E: subst] :
              ( ( A @ B @ C @ ( comp @ E @ D ) )
             => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
         => ( ! [B: subst,C: term,D: subst,E: subst] :
                ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
               => ( A @ B @ C @ ( comp @ E @ D ) ) )
           => ( ! [B: term] :
                  ( ( hoasvar @ id @ B @ id )
                 => ( A @ id @ B @ id ) )
             => ! [B: term] :
                  ( ( var @ B )
                 => ( A @ id @ B @ id ) ) ) ) ) ) ) ).

thf(hoasapnotvar_def,definition,
    ( hoasapnotvar
    = ( ! [A: term,B: term] :
          ~ ( hoasvar @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) ).

thf(axapp_def,definition,
    ( axapp
    = ( ! [A: term,B: term,C: subst] :
          ( ( sub @ ( ap @ A @ B ) @ C )
          = ( ap @ ( sub @ A @ C ) @ ( sub @ B @ C ) ) ) ) ) ).

thf(ulamvarind_def,definition,
    ( ulamvarind
    = ( ! [A: term > $o] :
          ( ( A @ one )
         => ( ! [B: term] :
                ( ( var @ B )
               => ( ( A @ B )
                 => ( A @ ( sub @ B @ sh ) ) ) )
           => ! [B: term] :
                ( ( var @ B )
               => ( A @ B ) ) ) ) ) ) ).

thf(induction_def,definition,
    ( induction
    = ( ! [A: term > $o] :
          ( ! [B: term] :
              ( ( var @ B )
             => ( A @ B ) )
         => ( ! [B: term,C: term] :
                ( ( A @ B )
               => ( ( A @ C )
                 => ( A @ ( ap @ B @ C ) ) ) )
           => ( ! [B: term] :
                  ( ( A @ B )
                 => ( A @ ( lam @ B ) ) )
             => ! [B: term] : ( A @ B ) ) ) ) ) ) ).

thf(hoasinduction_lem3b_gthm_def,definition,
    ( hoasinduction_lem3b_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_lem3b ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(axclos_def,definition,
    ( axclos
    = ( ! [A: term,B: subst,C: subst] :
          ( ( sub @ ( sub @ A @ B ) @ C )
          = ( sub @ A @ ( comp @ B @ C ) ) ) ) ) ).

thf(axassoc_def,definition,
    ( axassoc
    = ( ! [A: subst,B: subst,C: subst] :
          ( ( comp @ ( comp @ A @ B ) @ C )
          = ( comp @ A @ ( comp @ B @ C ) ) ) ) ) ).

thf(apinj2_def,definition,
    ( apinj2
    = ( ! [A: term,B: term,C: term,D: term] :
          ( ( ( ap @ A @ C )
            = ( ap @ B @ D ) )
         => ( C = D ) ) ) ) ).

thf(apinj1_def,definition,
    ( apinj1
    = ( ! [A: term,B: term,C: term,D: term] :
          ( ( ( ap @ A @ C )
            = ( ap @ B @ D ) )
         => ( A = B ) ) ) ) ).

thf(axvarcons_def,definition,
    ( axvarcons
    = ( ! [A: term,B: subst] :
          ( ( sub @ one @ ( push @ A @ B ) )
          = A ) ) ) ).

thf(hoaslam_def,definition,
    ( hoaslam
    = ( ^ [A: subst,B: subst > term > term] : ( lam @ ( B @ sh @ one ) ) ) ) ).

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

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

thf(laminj_def,definition,
    ( laminj
    = ( ! [A: term,B: term] :
          ( ( ( lam @ A )
            = ( lam @ B ) )
         => ( A = B ) ) ) ) ).

thf(axabs_def,definition,
    ( axabs
    = ( ! [A: term,B: subst] :
          ( ( sub @ ( lam @ A ) @ B )
          = ( lam @ ( sub @ A @ ( push @ one @ ( comp @ B @ sh ) ) ) ) ) ) ) ).

thf(lamnotap_def,definition,
    ( lamnotap
    = ( ! [A: term,B: term,C: term] :
          ( ( lam @ A )
         != ( ap @ B @ C ) ) ) ) ).

thf(hoaslamnotvar_def,definition,
    ( hoaslamnotvar
    = ( ! [A: subst > term > term] :
          ( ! [B: subst,C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
         => ~ ( hoasvar @ id @ ( hoaslam @ id @ A ) @ id ) ) ) ) ).

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

thf(pushprop_def,definition,
    ( pushprop
    = ( ! [A: term > $o,B: term,C: subst] :
          ( ! [D: term] :
              ( ( var @ D )
             => ( A @ ( sub @ D @ C ) ) )
         => ( ( A @ B )
           => ! [D: term] :
                ( ( var @ D )
               => ( A @ ( sub @ D @ ( push @ B @ C ) ) ) ) ) ) ) ) ).

thf(hoasinduction_lem3b_def,definition,
    ( hoasinduction_lem3b
    = ( ! [A: term] :
        ? [B: subst > term > term] :
          ( ( sub @ A @ ( push @ one @ sh ) )
          = ( B @ sh @ one ) ) ) ) ).

thf(substmonoid_def,definition,
    ( substmonoid
    = ( ! [A: subst,B: subst,C: subst] :
          ( ( comp @ ( comp @ A @ B ) @ C )
          = ( comp @ A @ ( comp @ B @ C ) ) )
      & ! [A: subst] :
          ( ( comp @ id @ A )
          = A )
      & ! [A: subst] :
          ( ( comp @ A @ id )
          = A ) ) ) ).

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

thf(hoasvar_def,definition,
    ( hoasvar
    = ( ^ [A: subst,B: term,C: subst] : ( var @ ( sub @ B @ C ) ) ) ) ).

thf(hoaslamnotap_def,definition,
    ( hoaslamnotap
    = ( ! [A: subst > term > term] :
          ( ! [B: subst,C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
         => ! [B: term,C: term] :
              ( ( hoaslam @ id @ A )
             != ( hoasap @ id @ B @ id @ C ) ) ) ) ) ).

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

thf(induction2_def,definition,
    ( induction2
    = ( ! [A: term > $o] :
          ( ! [B: term] :
              ( ( var @ B )
             => ( A @ B ) )
         => ( ! [B: term,C: term] :
                ( ( A @ B )
               => ( ( A @ C )
                 => ( A @ ( ap @ B @ C ) ) ) )
           => ( ! [B: term] :
                  ( ! [C: term] :
                      ( ( A @ C )
                     => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
                 => ( A @ ( lam @ B ) ) )
             => ! [B: term] : ( A @ B ) ) ) ) ) ) ).

thf(axshiftcons_def,definition,
    ( axshiftcons
    = ( ! [A: term,B: subst] :
          ( ( comp @ sh @ ( push @ A @ B ) )
          = B ) ) ) ).

thf(termmset_def,definition,
    ( termmset
    = ( ! [A: term,B: subst,C: subst] :
          ( ( sub @ ( sub @ A @ B ) @ C )
          = ( sub @ A @ ( comp @ B @ C ) ) )
      & ! [A: term] :
          ( ( sub @ A @ id )
          = A ) ) ) ).

thf(axvarid_def,definition,
    ( axvarid
    = ( ! [A: term] :
          ( ( sub @ A @ id )
          = A ) ) ) ).

thf(sk1_def,definition,
    ( sk1
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( var @ B )
           => ( ( A @ B )
             => ( A @ ( sub @ B @ sh ) ) ) ) ) ) ).

thf(sk3_def,definition,
    ( sk3
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( var @ B )
           => ( A @ B ) ) ) ) ).

thf(sk4_def,definition,
    ( sk4
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ! [C: term] :
                ( ( A @ C )
               => ( A @ ( ap @ B @ C ) ) ) ) ) ) ).

thf(sk5_def,definition,
    ( sk5
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ( A @ ( ap @ ( sk4 @ A ) @ B ) ) ) ) ) ).

thf(sk6_def,definition,
    ( sk6
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ( A @ ( lam @ B ) ) ) ) ) ).

thf(sk7_def,definition,
    ( sk7
    = ( ^ [A: subst,B: term,C: term > $o] :
        @+[D: term] :
          ~ ( ( var @ D )
           => ( C @ ( sub @ D @ A ) ) ) ) ) ).

thf(sk9_def,definition,
    ( sk9
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ! [C: term] :
                ( ( A @ C )
               => ( A @ ( ap @ B @ C ) ) ) ) ) ) ).

thf(sk10_def,definition,
    ( sk10
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ( A @ ( ap @ ( sk9 @ A ) @ B ) ) ) ) ) ).

thf(sk12_def,definition,
    ( sk12
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ! [C: term] :
                ( ( A @ C )
               => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
           => ( A @ ( lam @ B ) ) ) ) ) ).

thf(sk13_def,definition,
    ( sk13
    = ( ^ [A: subst,B: term,C: term > $o] :
        @+[D: term] :
          ~ ( ( var @ D )
           => ( C @ ( sub @ D @ A ) ) ) ) ) ).

thf(sk15_def,definition,
    ( sk15
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( var @ B )
           => ( A @ B ) ) ) ) ).

thf(sk17_def,definition,
    ( sk17
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ! [C: term] :
                ( ( A @ C )
               => ( A @ ( ap @ B @ C ) ) ) ) ) ) ).

thf(sk18_def,definition,
    ( sk18
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ( A @ B )
           => ( A @ ( ap @ ( sk17 @ A ) @ B ) ) ) ) ) ).

thf(sk19_def,definition,
    ( sk19
    = ( ^ [A: term > $o] :
        @+[B: term] :
          ~ ( ! [C: term] :
                ( ( A @ C )
               => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
           => ( A @ ( lam @ B ) ) ) ) ) ).

thf(sk20_def,definition,
    ( sk20
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ~ ! [C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) ) ) ) ).

thf(sk21_def,definition,
    ( sk21
    = ( ^ [A: subst > term > term] :
        @+[B: term] :
          ~ ! [C: subst] :
              ( ( sub @ ( A @ ( sk20 @ A ) @ B ) @ C )
              = ( A @ ( comp @ ( sk20 @ A ) @ C ) @ ( sub @ B @ C ) ) ) ) ) ).

thf(sk22_def,definition,
    ( sk22
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ( ( sub @ ( A @ ( sk20 @ A ) @ ( sk21 @ A ) ) @ B )
         != ( A @ ( comp @ ( sk20 @ A ) @ B ) @ ( sub @ ( sk21 @ A ) @ B ) ) ) ) ) ).

thf(sk23_def,definition,
    ( sk23
    = ( ^ [A: subst > term > term,B: subst > term > term] :
        @+[C: subst] :
          ~ ! [D: term,E: subst] :
              ( ( sub @ ( A @ C @ D ) @ E )
              = ( A @ ( comp @ C @ E ) @ ( sub @ D @ E ) ) ) ) ) ).

thf(sk24_def,definition,
    ( sk24
    = ( ^ [A: subst > term > term,B: subst > term > term] :
        @+[C: term] :
          ~ ! [D: subst] :
              ( ( sub @ ( A @ ( sk23 @ A @ B ) @ C ) @ D )
              = ( A @ ( comp @ ( sk23 @ A @ B ) @ D ) @ ( sub @ C @ D ) ) ) ) ) ).

thf(sk25_def,definition,
    ( sk25
    = ( ^ [A: subst > term > term,B: subst > term > term] :
        @+[C: subst] :
          ( ( sub @ ( A @ ( sk23 @ A @ B ) @ ( sk24 @ A @ B ) ) @ C )
         != ( A @ ( comp @ ( sk23 @ A @ B ) @ C ) @ ( sub @ ( sk24 @ A @ B ) @ C ) ) ) ) ) ).

thf(sk26_def,definition,
    ( sk26
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ~ ! [C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) ) ) ) ).

thf(sk27_def,definition,
    ( sk27
    = ( ^ [A: subst > term > term] :
        @+[B: term] :
          ~ ! [C: subst] :
              ( ( sub @ ( A @ ( sk26 @ A ) @ B ) @ C )
              = ( A @ ( comp @ ( sk26 @ A ) @ C ) @ ( sub @ B @ C ) ) ) ) ) ).

thf(sk28_def,definition,
    ( sk28
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ( ( sub @ ( A @ ( sk26 @ A ) @ ( sk27 @ A ) ) @ B )
         != ( A @ ( comp @ ( sk26 @ A ) @ B ) @ ( sub @ ( sk27 @ A ) @ B ) ) ) ) ) ).

thf(sk29_def,definition,
    ( sk29
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ~ ! [C: term,D: subst] :
              ( ( sub @ ( A @ B @ C ) @ D )
              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) ) ) ) ).

thf(sk30_def,definition,
    ( sk30
    = ( ^ [A: subst > term > term] :
        @+[B: term] :
          ~ ! [C: subst] :
              ( ( sub @ ( A @ ( sk29 @ A ) @ B ) @ C )
              = ( A @ ( comp @ ( sk29 @ A ) @ C ) @ ( sub @ B @ C ) ) ) ) ) ).

thf(sk31_def,definition,
    ( sk31
    = ( ^ [A: subst > term > term] :
        @+[B: subst] :
          ( ( sub @ ( A @ ( sk29 @ A ) @ ( sk30 @ A ) ) @ B )
         != ( A @ ( comp @ ( sk29 @ A ) @ B ) @ ( sub @ ( sk30 @ A ) @ B ) ) ) ) ) ).

thf(sk33_def,definition,
    ( sk33
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: term,D: subst,E: subst] :
              ( ( A @ B @ C @ ( comp @ E @ D ) )
             => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) ) ) ) ).

thf(sk34_def,definition,
    ( sk34
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ! [C: subst,D: subst] :
              ( ( A @ ( sk33 @ A ) @ B @ ( comp @ D @ C ) )
             => ( A @ ( comp @ ( sk33 @ A ) @ D ) @ ( sub @ B @ D ) @ C ) ) ) ) ).

thf(sk35_def,definition,
    ( sk35
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: subst] :
              ( ( A @ ( sk33 @ A ) @ ( sk34 @ A ) @ ( comp @ C @ B ) )
             => ( A @ ( comp @ ( sk33 @ A ) @ C ) @ ( sub @ ( sk34 @ A ) @ C ) @ B ) ) ) ) ).

thf(sk36_def,definition,
    ( sk36
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ( ( A @ ( sk33 @ A ) @ ( sk34 @ A ) @ ( comp @ B @ ( sk35 @ A ) ) )
           => ( A @ ( comp @ ( sk33 @ A ) @ B ) @ ( sub @ ( sk34 @ A ) @ B ) @ ( sk35 @ A ) ) ) ) ) ).

thf(sk37_def,definition,
    ( sk37
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: term,D: subst,E: subst] :
              ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
             => ( A @ B @ C @ ( comp @ E @ D ) ) ) ) ) ).

thf(sk38_def,definition,
    ( sk38
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ! [C: subst,D: subst] :
              ( ( A @ ( comp @ ( sk37 @ A ) @ D ) @ ( sub @ B @ D ) @ C )
             => ( A @ ( sk37 @ A ) @ B @ ( comp @ D @ C ) ) ) ) ) ).

thf(sk39_def,definition,
    ( sk39
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: subst] :
              ( ( A @ ( comp @ ( sk37 @ A ) @ C ) @ ( sub @ ( sk38 @ A ) @ C ) @ B )
             => ( A @ ( sk37 @ A ) @ ( sk38 @ A ) @ ( comp @ C @ B ) ) ) ) ) ).

thf(sk40_def,definition,
    ( sk40
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ( ( A @ ( comp @ ( sk37 @ A ) @ B ) @ ( sub @ ( sk38 @ A ) @ B ) @ ( sk39 @ A ) )
           => ( A @ ( sk37 @ A ) @ ( sk38 @ A ) @ ( comp @ B @ ( sk39 @ A ) ) ) ) ) ) ).

thf(sk41_def,definition,
    ( sk41
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ( ( var @ ( sub @ B @ id ) )
           => ( A @ id @ B @ id ) ) ) ) ).

thf(sk43_def,definition,
    ( sk43
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: term,D: subst,E: subst] :
              ( ( A @ B @ C @ ( comp @ E @ D ) )
             => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) ) ) ) ).

thf(sk44_def,definition,
    ( sk44
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ! [C: subst,D: subst] :
              ( ( A @ ( sk43 @ A ) @ B @ ( comp @ D @ C ) )
             => ( A @ ( comp @ ( sk43 @ A ) @ D ) @ ( sub @ B @ D ) @ C ) ) ) ) ).

thf(sk45_def,definition,
    ( sk45
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: subst] :
              ( ( A @ ( sk43 @ A ) @ ( sk44 @ A ) @ ( comp @ C @ B ) )
             => ( A @ ( comp @ ( sk43 @ A ) @ C ) @ ( sub @ ( sk44 @ A ) @ C ) @ B ) ) ) ) ).

thf(sk46_def,definition,
    ( sk46
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ( ( A @ ( sk43 @ A ) @ ( sk44 @ A ) @ ( comp @ B @ ( sk45 @ A ) ) )
           => ( A @ ( comp @ ( sk43 @ A ) @ B ) @ ( sub @ ( sk44 @ A ) @ B ) @ ( sk45 @ A ) ) ) ) ) ).

thf(sk47_def,definition,
    ( sk47
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: term,D: subst,E: subst] :
              ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
             => ( A @ B @ C @ ( comp @ E @ D ) ) ) ) ) ).

thf(sk48_def,definition,
    ( sk48
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ! [C: subst,D: subst] :
              ( ( A @ ( comp @ ( sk47 @ A ) @ D ) @ ( sub @ B @ D ) @ C )
             => ( A @ ( sk47 @ A ) @ B @ ( comp @ D @ C ) ) ) ) ) ).

thf(sk49_def,definition,
    ( sk49
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ! [C: subst] :
              ( ( A @ ( comp @ ( sk47 @ A ) @ C ) @ ( sub @ ( sk48 @ A ) @ C ) @ B )
             => ( A @ ( sk47 @ A ) @ ( sk48 @ A ) @ ( comp @ C @ B ) ) ) ) ) ).

thf(sk50_def,definition,
    ( sk50
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: subst] :
          ~ ( ( A @ ( comp @ ( sk47 @ A ) @ B ) @ ( sub @ ( sk48 @ A ) @ B ) @ ( sk49 @ A ) )
           => ( A @ ( sk47 @ A ) @ ( sk48 @ A ) @ ( comp @ B @ ( sk49 @ A ) ) ) ) ) ) ).

thf(sk51_def,definition,
    ( sk51
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ( ( A @ id @ B @ id )
           => ! [C: term] :
                ( ( A @ id @ C @ id )
               => ( A @ id @ ( ap @ ( sub @ B @ id ) @ C ) @ id ) ) ) ) ) ).

thf(sk52_def,definition,
    ( sk52
    = ( ^ [A: subst > term > subst > $o] :
        @+[B: term] :
          ~ ( ( A @ id @ B @ id )
           => ( A @ id @ ( ap @ ( sub @ ( sk51 @ A ) @ id ) @ B ) @ id ) ) ) ) ).

thf(sk53_def,definition,
    ( sk53
    = ( @+[A: term] :
          ~ ? [B: subst > term > term] :
              ( ( sub @ A @ ( push @ one @ sh ) )
              = ( B @ sh @ one ) ) ) ) ).

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

thf(2,negated_conjecture,
    ~ hoasinduction_lem3b_gthm,
    inference(neg_conjecture,[status(cth)],[1]) ).

thf(3,plain,
    ~ ( ! [A: term,B: term,C: subst] :
          ( ( sub @ ( ap @ A @ B ) @ C )
          = ( ap @ ( sub @ A @ C ) @ ( sub @ B @ C ) ) )
     => ( ! [A: term,B: subst] :
            ( ( sub @ one @ ( push @ A @ B ) )
            = A )
       => ( ! [A: term] :
              ( ( sub @ A @ id )
              = A )
         => ( ! [A: term,B: subst] :
                ( ( sub @ ( lam @ A ) @ B )
                = ( lam @ ( sub @ A @ ( push @ one @ ( comp @ B @ sh ) ) ) ) )
           => ( ! [A: term,B: subst,C: subst] :
                  ( ( sub @ ( sub @ A @ B ) @ C )
                  = ( sub @ A @ ( comp @ B @ C ) ) )
             => ( ! [A: subst] :
                    ( ( comp @ id @ A )
                    = A )
               => ( ! [A: term,B: subst] :
                      ( ( comp @ sh @ ( push @ A @ B ) )
                      = B )
                 => ( ! [A: subst,B: subst,C: subst] :
                        ( ( comp @ ( comp @ A @ B ) @ C )
                        = ( comp @ A @ ( comp @ B @ C ) ) )
                   => ( ! [A: term,B: subst,C: subst] :
                          ( ( comp @ ( push @ A @ B ) @ C )
                          = ( push @ ( sub @ A @ C ) @ ( comp @ B @ C ) ) )
                     => ( ! [A: subst] :
                            ( ( comp @ A @ id )
                            = A )
                       => ( ( ( push @ one @ sh )
                            = id )
                         => ( ! [A: subst] :
                                ( ( push @ ( sub @ one @ A ) @ ( comp @ sh @ A ) )
                                = A )
                           => ( ( var @ one )
                             => ( ! [A: term] :
                                    ( ( var @ A )
                                   => ( var @ ( sub @ A @ sh ) ) )
                               => ( ! [A: term > $o] :
                                      ( ( A @ one )
                                     => ( ! [B: term] :
                                            ( ( var @ B )
                                           => ( ( A @ B )
                                             => ( A @ ( sub @ B @ sh ) ) ) )
                                       => ! [B: term] :
                                            ( ( var @ B )
                                           => ( A @ B ) ) ) )
                                 => ( ! [A: term,B: term,C: term,D: term] :
                                        ( ( ( ap @ A @ C )
                                          = ( ap @ B @ D ) )
                                       => ( A = B ) )
                                   => ( ! [A: term,B: term,C: term,D: term] :
                                          ( ( ( ap @ A @ C )
                                            = ( ap @ B @ D ) )
                                         => ( C = D ) )
                                     => ( ! [A: term,B: term] :
                                            ( ( ( lam @ A )
                                              = ( lam @ B ) )
                                           => ( A = B ) )
                                       => ( ! [A: term,B: term] :
                                              ( ( ( sub @ A @ sh )
                                                = ( sub @ B @ sh ) )
                                             => ( A = B ) )
                                         => ( ! [A: term,B: term,C: term] :
                                                ( ( lam @ A )
                                               != ( ap @ B @ C ) )
                                           => ( ! [A: term,B: term] :
                                                  ~ ( var @ ( ap @ A @ B ) )
                                             => ( ! [A: term] :
                                                    ~ ( var @ ( lam @ A ) )
                                               => ( ! [A: term > $o] :
                                                      ( ! [B: term] :
                                                          ( ( var @ B )
                                                         => ( A @ B ) )
                                                     => ( ! [B: term,C: term] :
                                                            ( ( A @ B )
                                                           => ( ( A @ C )
                                                             => ( A @ ( ap @ B @ C ) ) ) )
                                                       => ( ! [B: term] :
                                                              ( ( A @ B )
                                                             => ( A @ ( lam @ B ) ) )
                                                         => ! [B: term] : ( A @ B ) ) ) )
                                                 => ( ! [A: term > $o,B: term,C: subst] :
                                                        ( ! [D: term] :
                                                            ( ( var @ D )
                                                           => ( A @ ( sub @ D @ C ) ) )
                                                       => ( ( A @ B )
                                                         => ! [D: term] :
                                                              ( ( var @ D )
                                                             => ( A @ ( sub @ D @ ( push @ B @ C ) ) ) ) ) )
                                                   => ( ! [A: term > $o] :
                                                          ( ! [B: term,C: term] :
                                                              ( ( A @ B )
                                                             => ( ( A @ C )
                                                               => ( A @ ( ap @ B @ C ) ) ) )
                                                         => ( ! [B: term] :
                                                                ( ! [C: term] :
                                                                    ( ( A @ C )
                                                                   => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
                                                               => ( A @ ( lam @ B ) ) )
                                                           => ! [B: term,C: subst] :
                                                                ( ! [D: term] :
                                                                    ( ( var @ D )
                                                                   => ( A @ ( sub @ D @ C ) ) )
                                                               => ( A @ ( sub @ B @ C ) ) ) ) )
                                                     => ( ! [A: term > $o] :
                                                            ( ! [B: term] :
                                                                ( ( var @ B )
                                                               => ( A @ B ) )
                                                           => ( ! [B: term,C: term] :
                                                                  ( ( A @ B )
                                                                 => ( ( A @ C )
                                                                   => ( A @ ( ap @ B @ C ) ) ) )
                                                             => ( ! [B: term] :
                                                                    ( ! [C: term] :
                                                                        ( ( A @ C )
                                                                       => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
                                                                   => ( A @ ( lam @ B ) ) )
                                                               => ! [B: term] : ( A @ B ) ) ) )
                                                       => ( ( ! [A: subst,B: subst,C: subst] :
                                                                ( ( comp @ ( comp @ A @ B ) @ C )
                                                                = ( comp @ A @ ( comp @ B @ C ) ) )
                                                            & ! [A: subst] :
                                                                ( ( comp @ id @ A )
                                                                = A )
                                                            & ! [A: subst] :
                                                                ( ( comp @ A @ id )
                                                                = A ) )
                                                         => ( ( ! [A: term,B: subst,C: subst] :
                                                                  ( ( sub @ ( sub @ A @ B ) @ C )
                                                                  = ( sub @ A @ ( comp @ B @ C ) ) )
                                                              & ! [A: term] :
                                                                  ( ( sub @ A @ id )
                                                                  = A ) )
                                                           => ( ! [A: term,B: term,C: term,D: term] :
                                                                  ( ( ( ap @ ( sub @ A @ id ) @ C )
                                                                    = ( ap @ ( sub @ B @ id ) @ D ) )
                                                                 => ( A = B ) )
                                                             => ( ! [A: term,B: term,C: term,D: term] :
                                                                    ( ( ( ap @ ( sub @ A @ id ) @ C )
                                                                      = ( ap @ ( sub @ B @ id ) @ D ) )
                                                                   => ( C = D ) )
                                                               => ( ! [A: subst > term > term] :
                                                                      ( ! [B: subst,C: term,D: subst] :
                                                                          ( ( sub @ ( A @ B @ C ) @ D )
                                                                          = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                     => ! [B: subst > term > term] :
                                                                          ( ! [C: subst,D: term,E: subst] :
                                                                              ( ( sub @ ( B @ C @ D ) @ E )
                                                                              = ( B @ ( comp @ C @ E ) @ ( sub @ D @ E ) ) )
                                                                         => ( ( ( lam @ ( A @ sh @ one ) )
                                                                              = ( lam @ ( B @ sh @ one ) ) )
                                                                           => ! [C: subst,D: term] :
                                                                                ( ( A @ C @ D )
                                                                                = ( B @ C @ D ) ) ) ) )
                                                                 => ( ! [A: subst > term > term] :
                                                                        ( ! [B: subst,C: term,D: subst] :
                                                                            ( ( sub @ ( A @ B @ C ) @ D )
                                                                            = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                       => ! [B: term,C: term] :
                                                                            ( ( lam @ ( A @ sh @ one ) )
                                                                           != ( ap @ ( sub @ B @ id ) @ C ) ) )
                                                                   => ( ! [A: subst > term > term] :
                                                                          ( ! [B: subst,C: term,D: subst] :
                                                                              ( ( sub @ ( A @ B @ C ) @ D )
                                                                              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( A @ sh @ one ) ) @ id ) ) )
                                                                     => ( ! [A: term,B: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ A @ id ) @ B ) @ id ) )
                                                                       => ( ! [A: subst > term > subst > $o] :
                                                                              ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                  ( ( A @ B @ C @ ( comp @ E @ D ) )
                                                                                 => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
                                                                             => ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                    ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
                                                                                   => ( A @ B @ C @ ( comp @ E @ D ) ) )
                                                                               => ( ! [B: term] :
                                                                                      ( ( var @ ( sub @ B @ id ) )
                                                                                     => ( A @ id @ B @ id ) )
                                                                                 => ! [B: term] :
                                                                                      ( ( var @ B )
                                                                                     => ( A @ id @ B @ id ) ) ) ) )
                                                                         => ( ! [A: subst > term > subst > $o] :
                                                                                ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                    ( ( A @ B @ C @ ( comp @ E @ D ) )
                                                                                   => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
                                                                               => ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                      ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
                                                                                     => ( A @ B @ C @ ( comp @ E @ D ) ) )
                                                                                 => ( ! [B: term,C: term] :
                                                                                        ( ( A @ id @ B @ id )
                                                                                       => ( ( A @ id @ C @ id )
                                                                                         => ( A @ id @ ( ap @ ( sub @ B @ id ) @ C ) @ id ) ) )
                                                                                   => ! [B: term,C: term] :
                                                                                        ( ( A @ id @ B @ id )
                                                                                       => ( ( A @ id @ C @ id )
                                                                                         => ( A @ id @ ( ap @ B @ C ) @ id ) ) ) ) ) )
                                                                           => ! [A: term] :
                                                                              ? [B: subst > term > term] :
                                                                                ( ( sub @ A @ ( push @ one @ sh ) )
                                                                                = ( B @ sh @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[2]) ).

thf(4,plain,
    ~ ( ! [A: term,B: term,C: subst] :
          ( ( sub @ ( ap @ A @ B ) @ C )
          = ( ap @ ( sub @ A @ C ) @ ( sub @ B @ C ) ) )
     => ( ! [A: term,B: subst] :
            ( ( sub @ one @ ( push @ A @ B ) )
            = A )
       => ( ! [A: term] :
              ( ( sub @ A @ id )
              = A )
         => ( ! [A: term,B: subst] :
                ( ( sub @ ( lam @ A ) @ B )
                = ( lam @ ( sub @ A @ ( push @ one @ ( comp @ B @ sh ) ) ) ) )
           => ( ! [A: term,B: subst,C: subst] :
                  ( ( sub @ ( sub @ A @ B ) @ C )
                  = ( sub @ A @ ( comp @ B @ C ) ) )
             => ( ! [A: subst] :
                    ( ( comp @ id @ A )
                    = A )
               => ( ! [A: term,B: subst] :
                      ( ( comp @ sh @ ( push @ A @ B ) )
                      = B )
                 => ( ! [A: subst,B: subst,C: subst] :
                        ( ( comp @ ( comp @ A @ B ) @ C )
                        = ( comp @ A @ ( comp @ B @ C ) ) )
                   => ( ! [A: term,B: subst,C: subst] :
                          ( ( comp @ ( push @ A @ B ) @ C )
                          = ( push @ ( sub @ A @ C ) @ ( comp @ B @ C ) ) )
                     => ( ! [A: subst] :
                            ( ( comp @ A @ id )
                            = A )
                       => ( ( ( push @ one @ sh )
                            = id )
                         => ( ! [A: subst] :
                                ( ( push @ ( sub @ one @ A ) @ ( comp @ sh @ A ) )
                                = A )
                           => ( ( var @ one )
                             => ( ! [A: term] :
                                    ( ( var @ A )
                                   => ( var @ ( sub @ A @ sh ) ) )
                               => ( ! [A: term > $o] :
                                      ( ( A @ one )
                                     => ( ! [B: term] :
                                            ( ( var @ B )
                                           => ( ( A @ B )
                                             => ( A @ ( sub @ B @ sh ) ) ) )
                                       => ! [B: term] :
                                            ( ( var @ B )
                                           => ( A @ B ) ) ) )
                                 => ( ! [A: term,B: term] :
                                        ( ? [C: term,D: term] :
                                            ( ( ap @ A @ C )
                                            = ( ap @ B @ D ) )
                                       => ( A = B ) )
                                   => ( ! [A: term,B: term,C: term,D: term] :
                                          ( ( ( ap @ A @ C )
                                            = ( ap @ B @ D ) )
                                         => ( C = D ) )
                                     => ( ! [A: term,B: term] :
                                            ( ( ( lam @ A )
                                              = ( lam @ B ) )
                                           => ( A = B ) )
                                       => ( ! [A: term,B: term] :
                                              ( ( ( sub @ A @ sh )
                                                = ( sub @ B @ sh ) )
                                             => ( A = B ) )
                                         => ( ~ ? [A: term,B: term,C: term] :
                                                  ( ( lam @ A )
                                                  = ( ap @ B @ C ) )
                                           => ( ~ ? [A: term,B: term] : ( var @ ( ap @ A @ B ) )
                                             => ( ~ ? [A: term] : ( var @ ( lam @ A ) )
                                               => ( ! [A: term > $o] :
                                                      ( ! [B: term] :
                                                          ( ( var @ B )
                                                         => ( A @ B ) )
                                                     => ( ! [B: term] :
                                                            ( ( A @ B )
                                                           => ! [C: term] :
                                                                ( ( A @ C )
                                                               => ( A @ ( ap @ B @ C ) ) ) )
                                                       => ( ! [B: term] :
                                                              ( ( A @ B )
                                                             => ( A @ ( lam @ B ) ) )
                                                         => ! [B: term] : ( A @ B ) ) ) )
                                                 => ( ! [A: term > $o,B: term,C: subst] :
                                                        ( ! [D: term] :
                                                            ( ( var @ D )
                                                           => ( A @ ( sub @ D @ C ) ) )
                                                       => ( ( A @ B )
                                                         => ! [D: term] :
                                                              ( ( var @ D )
                                                             => ( A @ ( sub @ D @ ( push @ B @ C ) ) ) ) ) )
                                                   => ( ! [A: term > $o] :
                                                          ( ! [B: term] :
                                                              ( ( A @ B )
                                                             => ! [C: term] :
                                                                  ( ( A @ C )
                                                                 => ( A @ ( ap @ B @ C ) ) ) )
                                                         => ( ! [B: term] :
                                                                ( ! [C: term] :
                                                                    ( ( A @ C )
                                                                   => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
                                                               => ( A @ ( lam @ B ) ) )
                                                           => ! [B: term,C: subst] :
                                                                ( ! [D: term] :
                                                                    ( ( var @ D )
                                                                   => ( A @ ( sub @ D @ C ) ) )
                                                               => ( A @ ( sub @ B @ C ) ) ) ) )
                                                     => ( ! [A: term > $o] :
                                                            ( ! [B: term] :
                                                                ( ( var @ B )
                                                               => ( A @ B ) )
                                                           => ( ! [B: term] :
                                                                  ( ( A @ B )
                                                                 => ! [C: term] :
                                                                      ( ( A @ C )
                                                                     => ( A @ ( ap @ B @ C ) ) ) )
                                                             => ( ! [B: term] :
                                                                    ( ! [C: term] :
                                                                        ( ( A @ C )
                                                                       => ( A @ ( sub @ B @ ( push @ C @ id ) ) ) )
                                                                   => ( A @ ( lam @ B ) ) )
                                                               => ! [B: term] : ( A @ B ) ) ) )
                                                       => ( ( ! [A: subst,B: subst,C: subst] :
                                                                ( ( comp @ ( comp @ A @ B ) @ C )
                                                                = ( comp @ A @ ( comp @ B @ C ) ) )
                                                            & ! [A: subst] :
                                                                ( ( comp @ id @ A )
                                                                = A )
                                                            & ! [A: subst] :
                                                                ( ( comp @ A @ id )
                                                                = A ) )
                                                         => ( ( ! [A: term,B: subst,C: subst] :
                                                                  ( ( sub @ ( sub @ A @ B ) @ C )
                                                                  = ( sub @ A @ ( comp @ B @ C ) ) )
                                                              & ! [A: term] :
                                                                  ( ( sub @ A @ id )
                                                                  = A ) )
                                                           => ( ! [A: term,B: term] :
                                                                  ( ? [C: term,D: term] :
                                                                      ( ( ap @ ( sub @ A @ id ) @ C )
                                                                      = ( ap @ ( sub @ B @ id ) @ D ) )
                                                                 => ( A = B ) )
                                                             => ( ! [A: term,B: term,C: term,D: term] :
                                                                    ( ( ( ap @ ( sub @ A @ id ) @ C )
                                                                      = ( ap @ ( sub @ B @ id ) @ D ) )
                                                                   => ( C = D ) )
                                                               => ( ! [A: subst > term > term] :
                                                                      ( ! [B: subst,C: term,D: subst] :
                                                                          ( ( sub @ ( A @ B @ C ) @ D )
                                                                          = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                     => ! [B: subst > term > term] :
                                                                          ( ! [C: subst,D: term,E: subst] :
                                                                              ( ( sub @ ( B @ C @ D ) @ E )
                                                                              = ( B @ ( comp @ C @ E ) @ ( sub @ D @ E ) ) )
                                                                         => ( ( ( lam @ ( A @ sh @ one ) )
                                                                              = ( lam @ ( B @ sh @ one ) ) )
                                                                           => ! [C: subst,D: term] :
                                                                                ( ( A @ C @ D )
                                                                                = ( B @ C @ D ) ) ) ) )
                                                                 => ( ! [A: subst > term > term] :
                                                                        ( ! [B: subst,C: term,D: subst] :
                                                                            ( ( sub @ ( A @ B @ C ) @ D )
                                                                            = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                       => ~ ? [B: term,C: term] :
                                                                              ( ( lam @ ( A @ sh @ one ) )
                                                                              = ( ap @ ( sub @ B @ id ) @ C ) ) )
                                                                   => ( ! [A: subst > term > term] :
                                                                          ( ! [B: subst,C: term,D: subst] :
                                                                              ( ( sub @ ( A @ B @ C ) @ D )
                                                                              = ( A @ ( comp @ B @ D ) @ ( sub @ C @ D ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( A @ sh @ one ) ) @ id ) ) )
                                                                     => ( ~ ? [A: term,B: term] : ( var @ ( sub @ ( ap @ ( sub @ A @ id ) @ B ) @ id ) )
                                                                       => ( ! [A: subst > term > subst > $o] :
                                                                              ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                  ( ( A @ B @ C @ ( comp @ E @ D ) )
                                                                                 => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
                                                                             => ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                    ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
                                                                                   => ( A @ B @ C @ ( comp @ E @ D ) ) )
                                                                               => ( ! [B: term] :
                                                                                      ( ( var @ ( sub @ B @ id ) )
                                                                                     => ( A @ id @ B @ id ) )
                                                                                 => ! [B: term] :
                                                                                      ( ( var @ B )
                                                                                     => ( A @ id @ B @ id ) ) ) ) )
                                                                         => ( ! [A: subst > term > subst > $o] :
                                                                                ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                    ( ( A @ B @ C @ ( comp @ E @ D ) )
                                                                                   => ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D ) )
                                                                               => ( ! [B: subst,C: term,D: subst,E: subst] :
                                                                                      ( ( A @ ( comp @ B @ E ) @ ( sub @ C @ E ) @ D )
                                                                                     => ( A @ B @ C @ ( comp @ E @ D ) ) )
                                                                                 => ( ! [B: term] :
                                                                                        ( ( A @ id @ B @ id )
                                                                                       => ! [C: term] :
                                                                                            ( ( A @ id @ C @ id )
                                                                                           => ( A @ id @ ( ap @ ( sub @ B @ id ) @ C ) @ id ) ) )
                                                                                   => ! [B: term] :
                                                                                        ( ( A @ id @ B @ id )
                                                                                       => ! [C: term] :
                                                                                            ( ( A @ id @ C @ id )
                                                                                           => ( A @ id @ ( ap @ B @ C ) @ id ) ) ) ) ) )
                                                                           => ! [A: term] :
                                                                              ? [B: subst > term > term] :
                                                                                ( ( sub @ A @ ( push @ one @ sh ) )
                                                                                = ( B @ sh @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(miniscope,[status(thm)],[3]) ).

thf(5,plain,
    ! [ZZZK: subst > term > term,ZZZJ: term,ZZZI: term,ZZZH: subst > term > subst > $o,ZZZG: term,ZZZF: subst > term > subst > $o,ZZZE: term,ZZZD: term,ZZZC: subst > term > term,ZZZB: term,ZZZA: term,ZZZ: subst > term > term,ZZY: term,ZZX: subst,ZZW: subst > term > term,ZZV: subst > term > term,ZZU: term,ZZT: term,ZZS: term,ZZR: term,ZZQ: term,ZZP: term,ZZO: term,ZZN: term,ZZM: term,ZZL: subst,ZZK: subst,ZZJ: term,ZZI: subst,ZZH: subst,ZZG: subst,ZZF: subst,ZZE: subst,ZZD: term,ZZC: term,ZZB: term > $o,ZZA: subst,ZZ: term,ZY: term,ZX: term > $o,ZW: term,ZV: subst,ZU: term,ZT: term > $o,ZS: term,ZR: term > $o,ZQ: term,ZP: term,ZO: term,ZN: term,ZM: term,ZL: term,ZK: term,ZJ: term,ZI: term,ZH: term,ZG: term,ZF: term,ZE: term,ZD: term,ZC: term,ZB: term,ZA: term,Z: term,Y: term,X: term > $o,W: term,V: subst,U: subst,T: subst,S: subst,R: term,Q: subst,P: subst,O: subst,N: subst,M: term,L: subst,K: subst,J: subst,I: term,H: subst,G: term,F: term,E: subst,D: term,C: subst,B: term,A: term] :
      ( ( ( sub @ ( ap @ A @ B ) @ C )
        = ( ap @ ( sub @ A @ C ) @ ( sub @ B @ C ) ) )
      & ( ( sub @ one @ ( push @ D @ E ) )
        = D )
      & ( ( sub @ F @ id )
        = F )
      & ( ( sub @ ( lam @ G ) @ H )
        = ( lam @ ( sub @ G @ ( push @ one @ ( comp @ H @ sh ) ) ) ) )
      & ( ( sub @ ( sub @ I @ J ) @ K )
        = ( sub @ I @ ( comp @ J @ K ) ) )
      & ( ( comp @ id @ L )
        = L )
      & ( ( comp @ sh @ ( push @ M @ N ) )
        = N )
      & ( ( comp @ ( comp @ O @ P ) @ Q )
        = ( comp @ O @ ( comp @ P @ Q ) ) )
      & ( ( comp @ ( push @ R @ S ) @ T )
        = ( push @ ( sub @ R @ T ) @ ( comp @ S @ T ) ) )
      & ( ( comp @ U @ id )
        = U )
      & ( ( push @ one @ sh )
        = id )
      & ( ( push @ ( sub @ one @ V ) @ ( comp @ sh @ V ) )
        = V )
      & ( var @ one )
      & ( ~ ( var @ W )
        | ( var @ ( sub @ W @ sh ) ) )
      & ( ~ ( X @ one )
        | ( var @ ( sk1 @ X ) )
        | ~ ( var @ Y )
        | ( X @ Y ) )
      & ( ~ ( X @ one )
        | ( X @ ( sk1 @ X ) )
        | ~ ( var @ Y )
        | ( X @ Y ) )
      & ( ~ ( X @ one )
        | ~ ( X @ ( sub @ ( sk1 @ X ) @ sh ) )
        | ~ ( var @ Y )
        | ( X @ Y ) )
      & ( ( ( ap @ Z @ ZB )
         != ( ap @ ZA @ ZC ) )
        | ( Z = ZA ) )
      & ( ( ( ap @ ZD @ ZF )
         != ( ap @ ZE @ ZG ) )
        | ( ZF = ZG ) )
      & ( ( ( lam @ ZH )
         != ( lam @ ZI ) )
        | ( ZH = ZI ) )
      & ( ( ( sub @ ZJ @ sh )
         != ( sub @ ZK @ sh ) )
        | ( ZJ = ZK ) )
      & ( ( lam @ ZL )
       != ( ap @ ZM @ ZN ) )
      & ~ ( var @ ( ap @ ZO @ ZP ) )
      & ~ ( var @ ( lam @ ZQ ) )
      & ( ( var @ ( sk3 @ ZR ) )
        | ( sk2 @ ZR ) )
      & ( ~ ( ZR @ ( sk3 @ ZR ) )
        | ( sk2 @ ZR ) )
      & ( ~ ( sk2 @ ZR )
        | ( ZR @ ( sk4 @ ZR ) )
        | ( ZR @ ( sk6 @ ZR ) )
        | ( ZR @ ZS ) )
      & ( ~ ( sk2 @ ZR )
        | ( ZR @ ( sk4 @ ZR ) )
        | ~ ( ZR @ ( lam @ ( sk6 @ ZR ) ) )
        | ( ZR @ ZS ) )
      & ( ~ ( sk2 @ ZR )
        | ( ZR @ ( sk5 @ ZR ) )
        | ( ZR @ ( sk6 @ ZR ) )
        | ( ZR @ ZS ) )
      & ( ~ ( sk2 @ ZR )
        | ( ZR @ ( sk5 @ ZR ) )
        | ~ ( ZR @ ( lam @ ( sk6 @ ZR ) ) )
        | ( ZR @ ZS ) )
      & ( ~ ( sk2 @ ZR )
        | ~ ( ZR @ ( ap @ ( sk4 @ ZR ) @ ( sk5 @ ZR ) ) )
        | ( ZR @ ( sk6 @ ZR ) )
        | ( ZR @ ZS ) )
      & ( ~ ( sk2 @ ZR )
        | ~ ( ZR @ ( ap @ ( sk4 @ ZR ) @ ( sk5 @ ZR ) ) )
        | ~ ( ZR @ ( lam @ ( sk6 @ ZR ) ) )
        | ( ZR @ ZS ) )
      & ( ( var @ ( sk7 @ ZV @ ZU @ ZT ) )
        | ~ ( ZT @ ZU )
        | ~ ( var @ ZW )
        | ( ZT @ ( sub @ ZW @ ( push @ ZU @ ZV ) ) ) )
      & ( ~ ( ZT @ ( sub @ ( sk7 @ ZV @ ZU @ ZT ) @ ZV ) )
        | ~ ( ZT @ ZU )
        | ~ ( var @ ZW )
        | ( ZT @ ( sub @ ZW @ ( push @ ZU @ ZV ) ) ) )
      & ( ( ZX @ ( sk9 @ ZX ) )
        | ( sk8 @ ZX ) )
      & ( ( ZX @ ( sk10 @ ZX ) )
        | ( sk8 @ ZX ) )
      & ( ~ ( ZX @ ( ap @ ( sk9 @ ZX ) @ ( sk10 @ ZX ) ) )
        | ( sk8 @ ZX ) )
      & ( ~ ( sk8 @ ZX )
        | ~ ( ZX @ ZY )
        | ( ZX @ ( sub @ ( sk12 @ ZX ) @ ( push @ ZY @ id ) ) )
        | ( sk11 @ ZX ) )
      & ( ~ ( sk8 @ ZX )
        | ~ ( ZX @ ( lam @ ( sk12 @ ZX ) ) )
        | ( sk11 @ ZX ) )
      & ( ~ ( sk8 @ ZX )
        | ~ ( sk11 @ ZX )
        | ( var @ ( sk13 @ ZZA @ ZZ @ ZX ) )
        | ( ZX @ ( sub @ ZZ @ ZZA ) ) )
      & ( ~ ( sk8 @ ZX )
        | ~ ( sk11 @ ZX )
        | ~ ( ZX @ ( sub @ ( sk13 @ ZZA @ ZZ @ ZX ) @ ZZA ) )
        | ( ZX @ ( sub @ ZZ @ ZZA ) ) )
      & ( ( var @ ( sk15 @ ZZB ) )
        | ( sk14 @ ZZB ) )
      & ( ~ ( ZZB @ ( sk15 @ ZZB ) )
        | ( sk14 @ ZZB ) )
      & ( ~ ( sk14 @ ZZB )
        | ( ZZB @ ( sk17 @ ZZB ) )
        | ( sk16 @ ZZB ) )
      & ( ~ ( sk14 @ ZZB )
        | ( ZZB @ ( sk18 @ ZZB ) )
        | ( sk16 @ ZZB ) )
      & ( ~ ( sk14 @ ZZB )
        | ~ ( ZZB @ ( ap @ ( sk17 @ ZZB ) @ ( sk18 @ ZZB ) ) )
        | ( sk16 @ ZZB ) )
      & ( ~ ( sk14 @ ZZB )
        | ~ ( sk16 @ ZZB )
        | ~ ( ZZB @ ZZC )
        | ( ZZB @ ( sub @ ( sk19 @ ZZB ) @ ( push @ ZZC @ id ) ) )
        | ( ZZB @ ZZD ) )
      & ( ~ ( sk14 @ ZZB )
        | ~ ( sk16 @ ZZB )
        | ~ ( ZZB @ ( lam @ ( sk19 @ ZZB ) ) )
        | ( ZZB @ ZZD ) )
      & ( ( comp @ ( comp @ ZZE @ ZZF ) @ ZZG )
        = ( comp @ ZZE @ ( comp @ ZZF @ ZZG ) ) )
      & ( ( comp @ id @ ZZH )
        = ZZH )
      & ( ( comp @ ZZI @ id )
        = ZZI )
      & ( ( sub @ ( sub @ ZZJ @ ZZK ) @ ZZL )
        = ( sub @ ZZJ @ ( comp @ ZZK @ ZZL ) ) )
      & ( ( sub @ ZZM @ id )
        = ZZM )
      & ( ( ( ap @ ( sub @ ZZN @ id ) @ ZZP )
         != ( ap @ ( sub @ ZZO @ id ) @ ZZQ ) )
        | ( ZZN = ZZO ) )
      & ( ( ( ap @ ( sub @ ZZR @ id ) @ ZZT )
         != ( ap @ ( sub @ ZZS @ id ) @ ZZU ) )
        | ( ZZT = ZZU ) )
      & ( ( ( sub @ ( ZZV @ ( sk20 @ ZZV ) @ ( sk21 @ ZZV ) ) @ ( sk22 @ ZZV ) )
         != ( ZZV @ ( comp @ ( sk20 @ ZZV ) @ ( sk22 @ ZZV ) ) @ ( sub @ ( sk21 @ ZZV ) @ ( sk22 @ ZZV ) ) ) )
        | ( ( sub @ ( ZZW @ ( sk23 @ ZZW @ ZZV ) @ ( sk24 @ ZZW @ ZZV ) ) @ ( sk25 @ ZZW @ ZZV ) )
         != ( ZZW @ ( comp @ ( sk23 @ ZZW @ ZZV ) @ ( sk25 @ ZZW @ ZZV ) ) @ ( sub @ ( sk24 @ ZZW @ ZZV ) @ ( sk25 @ ZZW @ ZZV ) ) ) )
        | ( ( lam @ ( ZZV @ sh @ one ) )
         != ( lam @ ( ZZW @ sh @ one ) ) )
        | ( ( ZZV @ ZZX @ ZZY )
          = ( ZZW @ ZZX @ ZZY ) ) )
      & ( ( ( sub @ ( ZZZ @ ( sk26 @ ZZZ ) @ ( sk27 @ ZZZ ) ) @ ( sk28 @ ZZZ ) )
         != ( ZZZ @ ( comp @ ( sk26 @ ZZZ ) @ ( sk28 @ ZZZ ) ) @ ( sub @ ( sk27 @ ZZZ ) @ ( sk28 @ ZZZ ) ) ) )
        | ( ( lam @ ( ZZZ @ sh @ one ) )
         != ( ap @ ( sub @ ZZZA @ id ) @ ZZZB ) ) )
      & ( ( ( sub @ ( ZZZC @ ( sk29 @ ZZZC ) @ ( sk30 @ ZZZC ) ) @ ( sk31 @ ZZZC ) )
         != ( ZZZC @ ( comp @ ( sk29 @ ZZZC ) @ ( sk31 @ ZZZC ) ) @ ( sub @ ( sk30 @ ZZZC ) @ ( sk31 @ ZZZC ) ) ) )
        | ~ ( var @ ( sub @ ( lam @ ( ZZZC @ sh @ one ) ) @ id ) ) )
      & ~ ( var @ ( sub @ ( ap @ ( sub @ ZZZD @ id ) @ ZZZE ) @ id ) )
      & ( ( ZZZF @ ( sk33 @ ZZZF ) @ ( sk34 @ ZZZF ) @ ( comp @ ( sk36 @ ZZZF ) @ ( sk35 @ ZZZF ) ) )
        | ( sk32 @ ZZZF ) )
      & ( ~ ( ZZZF @ ( comp @ ( sk33 @ ZZZF ) @ ( sk36 @ ZZZF ) ) @ ( sub @ ( sk34 @ ZZZF ) @ ( sk36 @ ZZZF ) ) @ ( sk35 @ ZZZF ) )
        | ( sk32 @ ZZZF ) )
      & ( ~ ( sk32 @ ZZZF )
        | ( ZZZF @ ( comp @ ( sk37 @ ZZZF ) @ ( sk40 @ ZZZF ) ) @ ( sub @ ( sk38 @ ZZZF ) @ ( sk40 @ ZZZF ) ) @ ( sk39 @ ZZZF ) )
        | ( var @ ( sub @ ( sk41 @ ZZZF ) @ id ) )
        | ~ ( var @ ZZZG )
        | ( ZZZF @ id @ ZZZG @ id ) )
      & ( ~ ( sk32 @ ZZZF )
        | ( ZZZF @ ( comp @ ( sk37 @ ZZZF ) @ ( sk40 @ ZZZF ) ) @ ( sub @ ( sk38 @ ZZZF ) @ ( sk40 @ ZZZF ) ) @ ( sk39 @ ZZZF ) )
        | ~ ( ZZZF @ id @ ( sk41 @ ZZZF ) @ id )
        | ~ ( var @ ZZZG )
        | ( ZZZF @ id @ ZZZG @ id ) )
      & ( ~ ( sk32 @ ZZZF )
        | ~ ( ZZZF @ ( sk37 @ ZZZF ) @ ( sk38 @ ZZZF ) @ ( comp @ ( sk40 @ ZZZF ) @ ( sk39 @ ZZZF ) ) )
        | ( var @ ( sub @ ( sk41 @ ZZZF ) @ id ) )
        | ~ ( var @ ZZZG )
        | ( ZZZF @ id @ ZZZG @ id ) )
      & ( ~ ( sk32 @ ZZZF )
        | ~ ( ZZZF @ ( sk37 @ ZZZF ) @ ( sk38 @ ZZZF ) @ ( comp @ ( sk40 @ ZZZF ) @ ( sk39 @ ZZZF ) ) )
        | ~ ( ZZZF @ id @ ( sk41 @ ZZZF ) @ id )
        | ~ ( var @ ZZZG )
        | ( ZZZF @ id @ ZZZG @ id ) )
      & ( ( ZZZH @ ( sk43 @ ZZZH ) @ ( sk44 @ ZZZH ) @ ( comp @ ( sk46 @ ZZZH ) @ ( sk45 @ ZZZH ) ) )
        | ( sk42 @ ZZZH ) )
      & ( ~ ( ZZZH @ ( comp @ ( sk43 @ ZZZH ) @ ( sk46 @ ZZZH ) ) @ ( sub @ ( sk44 @ ZZZH ) @ ( sk46 @ ZZZH ) ) @ ( sk45 @ ZZZH ) )
        | ( sk42 @ ZZZH ) )
      & ( ~ ( sk42 @ ZZZH )
        | ( ZZZH @ ( comp @ ( sk47 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sub @ ( sk48 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sk49 @ ZZZH ) )
        | ( ZZZH @ id @ ( sk51 @ ZZZH ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ~ ( sk42 @ ZZZH )
        | ( ZZZH @ ( comp @ ( sk47 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sub @ ( sk48 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sk49 @ ZZZH ) )
        | ( ZZZH @ id @ ( sk52 @ ZZZH ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ~ ( sk42 @ ZZZH )
        | ( ZZZH @ ( comp @ ( sk47 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sub @ ( sk48 @ ZZZH ) @ ( sk50 @ ZZZH ) ) @ ( sk49 @ ZZZH ) )
        | ~ ( ZZZH @ id @ ( ap @ ( sub @ ( sk51 @ ZZZH ) @ id ) @ ( sk52 @ ZZZH ) ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ~ ( sk42 @ ZZZH )
        | ~ ( ZZZH @ ( sk47 @ ZZZH ) @ ( sk48 @ ZZZH ) @ ( comp @ ( sk50 @ ZZZH ) @ ( sk49 @ ZZZH ) ) )
        | ( ZZZH @ id @ ( sk51 @ ZZZH ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ~ ( sk42 @ ZZZH )
        | ~ ( ZZZH @ ( sk47 @ ZZZH ) @ ( sk48 @ ZZZH ) @ ( comp @ ( sk50 @ ZZZH ) @ ( sk49 @ ZZZH ) ) )
        | ( ZZZH @ id @ ( sk52 @ ZZZH ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ~ ( sk42 @ ZZZH )
        | ~ ( ZZZH @ ( sk47 @ ZZZH ) @ ( sk48 @ ZZZH ) @ ( comp @ ( sk50 @ ZZZH ) @ ( sk49 @ ZZZH ) ) )
        | ~ ( ZZZH @ id @ ( ap @ ( sub @ ( sk51 @ ZZZH ) @ id ) @ ( sk52 @ ZZZH ) ) @ id )
        | ~ ( ZZZH @ id @ ZZZI @ id )
        | ~ ( ZZZH @ id @ ZZZJ @ id )
        | ( ZZZH @ id @ ( ap @ ZZZI @ ZZZJ ) @ id ) )
      & ( ( sub @ sk53 @ ( push @ one @ sh ) )
       != ( ZZZK @ sh @ one ) ) ),
    inference(cnf,[status(esa)],[4]) ).

thf(30,plain,
    ! [A: subst > term > term] :
      ( ( sub @ sk53 @ ( push @ one @ sh ) )
     != ( A @ sh @ one ) ),
    inference(cnfConj,[status(thm)],[5]) ).

thf(210,plain,
    ! [A: subst > term > term] :
      ( ( sub @ sk53 @ ( push @ one @ sh ) )
     != ( A @ sh @ one ) ),
    inference(lifteq,[status(thm)],[30]) ).

thf(211,plain,
    ! [A: subst > term > term] :
      ( ( sub @ sk53 @ ( push @ one @ sh ) )
     != ( A @ sh @ one ) ),
    inference(simp,[status(thm)],[210]) ).

thf(42,plain,
    ( ( push @ one @ sh )
    = id ),
    inference(cnfConj,[status(thm)],[5]) ).

thf(107,plain,
    ( ( push @ one @ sh )
    = id ),
    inference(lifteq,[status(thm)],[42]) ).

thf(230,plain,
    ! [A: subst > term > term] :
      ( ( sub @ sk53 @ id )
     != ( A @ sh @ one ) ),
    inference(rewrite,[status(thm)],[211,107]) ).

thf(231,plain,
    $false,
    inference(pre_uni,[status(thm)],[230:[bind(A,$thf( ^ [B: subst] : ^ [C: term] : ( sub @ sk53 @ id ) ))]]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : ALG267^1 : TPTP v9.3.1. Bugfixed v5.2.0.
% 0.00/0.08  % Command  : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.10/0.21  % Computer : n008.cluster.edu
% 0.10/0.21  % Model    : x86_64 x86_64
% 0.10/0.21  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.21  % Memory   : 8046.5625MB
% 0.10/0.21  % OS       : Linux 6.8.0-71-generic
% 0.10/0.21  % CPULimit : 300
% 0.10/0.21  % WCLimit  : 300
% 0.10/0.21  % DateTime : Tue Sep 29 17:35:39 UTC 2026
% 0.10/0.21  % CPUTime  : 
% 0.10/0.21  Running java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.91/0.63  % [INFO] 	 Parsing problem /export/starexec/sandbox2/benchmark/theBenchmark.p ... 
% 1.77/0.98  % [INFO] 	 Parsing done (349ms). 
% 1.77/1.00  % [INFO] 	 Running in sequential loop mode. 
% 3.24/1.33  % [INFO] 	 eprover registered as external prover. 
% 3.24/1.33  % [INFO] 	 Scanning for conjecture ... 
% 4.61/1.79  % [INFO] 	 Found a conjecture (or negated_conjecture) and 0 axioms. Running axiom selection ... 
% 4.99/1.81  % [INFO] 	 Axiom selection finished. Selected 0 axioms (removed 0 axioms). 
% 4.99/1.82  % [INFO] 	 Problem is higher-order (TPTP THF). 
% 4.99/1.82  % [INFO] 	 Type checking passed. 
% 4.99/1.82  % [CONFIG] 	 Using configuration: timeout(300) with strategy<name(default),share(1.0),primSubst(3),sos(false),unifierCount(4),uniDepth(8),boolExt(true),choice(true),renaming(true),funcspec(false), domConstr(0),specialInstances(39),restrictUniAttempts(true),termOrdering(CPO)>.  Searching for refutation ... 
% 11.90/3.69  % [INFO] 	 Killing All external provers ... 
% 12.36/3.70  % Time passed: 3350ms (effective reasoning time: 2697ms)
% 12.36/3.70  % Solved by strategy<name(default),share(1.0),primSubst(3),sos(false),unifierCount(4),uniDepth(8),boolExt(true),choice(true),renaming(true),funcspec(false), domConstr(0),specialInstances(39),restrictUniAttempts(true),termOrdering(CPO)>
% 12.36/3.70  % Axioms used in derivation (0): 
% 12.36/3.70  % No. of inferences in proof: 12
% 12.36/3.71  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p : 3350 ms resp. 2697 ms w/o parsing
% 14.36/4.07  % SZS output start Refutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 14.36/4.08  % [INFO] 	 Killing All external provers ... 
%------------------------------------------------------------------------------