TSTP Solution File: ALG253^1 by Zipperpin---2.1.9999

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zipperpin---2.1.9999
% Problem  : ALG253^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% Transfm  : NO INFORMATION
% Format   : NO INFORMATION
% Command  : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.JLTA9zdnIl true

% Computer : n025.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 : Wed Aug 30 17:12:28 EDT 2023

% Result   : Theorem 27.72s 7.52s
% Output   : Refutation 27.72s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   44
%            Number of leaves      :  109
% Syntax   : Number of formulae    :  199 (  64 unt;  45 typ;   0 def)
%            Number of atoms       : 2395 ( 384 equ;  43 cnn)
%            Maximal formula atoms :  105 (  15 avg)
%            Number of connectives : 8226 ( 152   ~;  65   |;   0   &;5165   @)
%                                         (   0 <=>;1550  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   42 (  11 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :  163 ( 163   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   47 (  43 usr;  34 con; 0-2 aty)
%                                         (1294  !!;   0  ??;   0 @@+;   0 @@-)
%            Number of variables   : 1670 (1308   ^; 362   !;   0   ?;1670   :)

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

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

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

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

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

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

thf('#form109_type',type,
    '#form109': ( term > $o ) > $o ).

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

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

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

thf('#sk53_type',type,
    '#sk53': term > $o ).

thf('#l_lift7153_type',type,
    '#l_lift7153': subst > term > $o ).

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

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

thf(induction2_gthm_type,type,
    induction2_gthm: $o ).

thf(one_type,type,
    one: term ).

thf(id_type,type,
    id: subst ).

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

thf('#sk46_type',type,
    '#sk46': ( term > $o ) > term ).

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

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

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

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

thf(sh_type,type,
    sh: subst ).

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

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

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

thf('#sk186_type',type,
    '#sk186': term ).

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

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

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

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

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

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

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

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

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

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

thf('#sk252_type',type,
    '#sk252': term > term ).

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

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

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

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

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

thf('#sk177_type',type,
    '#sk177': ( term > $o ) > term ).

thf(induction2_gthm,axiom,
    ( induction2_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf('0',plain,
    ( induction2_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 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    define([status(thm)]) ).

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

thf('1',plain,
    ( induction2
    = ( ! [X4: term > $o] :
          ( ! [X6: term] :
              ( ( var @ X6 )
             => ( X4 @ X6 ) )
         => ( ! [X8: term,X10: term] :
                ( ( X4 @ X8 )
               => ( ( X4 @ X10 )
                 => ( X4 @ ( ap @ X8 @ X10 ) ) ) )
           => ( ! [X12: term] :
                  ( ! [X14: term] :
                      ( ( X4 @ X14 )
                     => ( X4 @ ( sub @ X12 @ ( push @ X14 @ id ) ) ) )
                 => ( X4 @ ( lam @ X12 ) ) )
             => ! [X16: term] : ( X4 @ X16 ) ) ) ) ) ),
    define([status(thm)]) ).

thf(induction2lem,axiom,
    ( induction2lem
    = ( ! [P: term > $o] :
          ( ! [A: term,B: term] :
              ( ( P @ A )
             => ( ( P @ B )
               => ( P @ ( ap @ A @ B ) ) ) )
         => ( ! [A: term] :
                ( ! [B: term] :
                    ( ( P @ B )
                   => ( P @ ( sub @ A @ ( push @ B @ id ) ) ) )
               => ( P @ ( lam @ A ) ) )
           => ! [A: term,M: subst] :
                ( ! [B: term] :
                    ( ( var @ B )
                   => ( P @ ( sub @ B @ M ) ) )
               => ( P @ ( sub @ A @ M ) ) ) ) ) ) ) ).

thf('2',plain,
    ( induction2lem
    = ( ! [X4: term > $o] :
          ( ! [X6: term,X8: term] :
              ( ( X4 @ X6 )
             => ( ( X4 @ X8 )
               => ( X4 @ ( ap @ X6 @ X8 ) ) ) )
         => ( ! [X10: term] :
                ( ! [X12: term] :
                    ( ( X4 @ X12 )
                   => ( X4 @ ( sub @ X10 @ ( push @ X12 @ id ) ) ) )
               => ( X4 @ ( lam @ X10 ) ) )
           => ! [X14: term,X16: subst] :
                ( ! [X18: term] :
                    ( ( var @ X18 )
                   => ( X4 @ ( sub @ X18 @ X16 ) ) )
               => ( X4 @ ( sub @ X14 @ X16 ) ) ) ) ) ) ),
    define([status(thm)]) ).

thf(pushprop,axiom,
    ( pushprop
    = ( ! [P: term > $o,A: term,M: subst] :
          ( ! [B: term] :
              ( ( var @ B )
             => ( P @ ( sub @ B @ M ) ) )
         => ( ( P @ A )
           => ! [B: term] :
                ( ( var @ B )
               => ( P @ ( sub @ B @ ( push @ A @ M ) ) ) ) ) ) ) ) ).

thf('3',plain,
    ( pushprop
    = ( ! [X4: term > $o,X6: term,X8: subst] :
          ( ! [X10: term] :
              ( ( var @ X10 )
             => ( X4 @ ( sub @ X10 @ X8 ) ) )
         => ( ( X4 @ X6 )
           => ! [X12: term] :
                ( ( var @ X12 )
               => ( X4 @ ( sub @ X12 @ ( push @ X6 @ X8 ) ) ) ) ) ) ) ),
    define([status(thm)]) ).

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

thf('4',plain,
    ( induction
    = ( ! [X4: term > $o] :
          ( ! [X6: term] :
              ( ( var @ X6 )
             => ( X4 @ X6 ) )
         => ( ! [X8: term,X10: term] :
                ( ( X4 @ X8 )
               => ( ( X4 @ X10 )
                 => ( X4 @ ( ap @ X8 @ X10 ) ) ) )
           => ( ! [X12: term] :
                  ( ( X4 @ X12 )
                 => ( X4 @ ( lam @ X12 ) ) )
             => ! [X14: term] : ( X4 @ X14 ) ) ) ) ) ),
    define([status(thm)]) ).

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

thf('5',plain,
    ( lamnotvar
    = ( ! [X4: term] :
          ~ ( var @ ( lam @ X4 ) ) ) ),
    define([status(thm)]) ).

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

thf('6',plain,
    ( apnotvar
    = ( ! [X4: term,X6: term] :
          ~ ( var @ ( ap @ X4 @ X6 ) ) ) ),
    define([status(thm)]) ).

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

thf('7',plain,
    ( lamnotap
    = ( ! [X4: term,X6: term,X8: term] :
          ( ( lam @ X4 )
         != ( ap @ X6 @ X8 ) ) ) ),
    define([status(thm)]) ).

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

thf('8',plain,
    ( shinj
    = ( ! [X4: term,X6: term] :
          ( ( ( sub @ X4 @ sh )
            = ( sub @ X6 @ sh ) )
         => ( X4 = X6 ) ) ) ),
    define([status(thm)]) ).

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

thf('9',plain,
    ( laminj
    = ( ! [X4: term,X6: term] :
          ( ( ( lam @ X4 )
            = ( lam @ X6 ) )
         => ( X4 = X6 ) ) ) ),
    define([status(thm)]) ).

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

thf('10',plain,
    ( apinj2
    = ( ! [X4: term,X6: term,X8: term,X10: term] :
          ( ( ( ap @ X4 @ X8 )
            = ( ap @ X6 @ X10 ) )
         => ( X8 = X10 ) ) ) ),
    define([status(thm)]) ).

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

thf('11',plain,
    ( apinj1
    = ( ! [X4: term,X6: term,X8: term,X10: term] :
          ( ( ( ap @ X4 @ X8 )
            = ( ap @ X6 @ X10 ) )
         => ( X4 = X6 ) ) ) ),
    define([status(thm)]) ).

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

thf('12',plain,
    ( ulamvarind
    = ( ! [X4: term > $o] :
          ( ( X4 @ one )
         => ( ! [X6: term] :
                ( ( var @ X6 )
               => ( ( X4 @ X6 )
                 => ( X4 @ ( sub @ X6 @ sh ) ) ) )
           => ! [X8: term] :
                ( ( var @ X8 )
               => ( X4 @ X8 ) ) ) ) ) ),
    define([status(thm)]) ).

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

thf('13',plain,
    ( ulamvarsh
    = ( ! [X4: term] :
          ( ( var @ X4 )
         => ( var @ ( sub @ X4 @ sh ) ) ) ) ),
    define([status(thm)]) ).

thf(ulamvar1,axiom,
    ( ulamvar1
    = ( var @ one ) ) ).

thf('14',plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(simplify_rw_rule,[status(thm)],[ulamvar1]) ).

thf('15',plain,
    ( ulamvar1
    = ( var @ one ) ),
    define([status(thm)]) ).

thf(axscons,axiom,
    ( axscons
    = ( ! [M: subst] :
          ( ( push @ ( sub @ one @ M ) @ ( comp @ sh @ M ) )
          = M ) ) ) ).

thf('16',plain,
    ( axscons
    = ( ! [X4: subst] :
          ( ( push @ ( sub @ one @ X4 ) @ ( comp @ sh @ X4 ) )
          = X4 ) ) ),
    define([status(thm)]) ).

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

thf('17',plain,
    ( axvarshift
    = ( ( push @ one @ sh )
      = id ) ),
    define([status(thm)]) ).

thf(axidr,axiom,
    ( axidr
    = ( ! [M: subst] :
          ( ( comp @ M @ id )
          = M ) ) ) ).

thf('18',plain,
    ( axidr
    = ( ! [X4: subst] :
          ( ( comp @ X4 @ id )
          = X4 ) ) ),
    define([status(thm)]) ).

thf(axmap,axiom,
    ( axmap
    = ( ! [A: term,M: subst,N: subst] :
          ( ( comp @ ( push @ A @ M ) @ N )
          = ( push @ ( sub @ A @ N ) @ ( comp @ M @ N ) ) ) ) ) ).

thf('19',plain,
    ( axmap
    = ( ! [X4: term,X6: subst,X8: subst] :
          ( ( comp @ ( push @ X4 @ X6 ) @ X8 )
          = ( push @ ( sub @ X4 @ X8 ) @ ( comp @ X6 @ X8 ) ) ) ) ),
    define([status(thm)]) ).

thf(axassoc,axiom,
    ( axassoc
    = ( ! [M: subst,N: subst,K: subst] :
          ( ( comp @ ( comp @ M @ N ) @ K )
          = ( comp @ M @ ( comp @ N @ K ) ) ) ) ) ).

thf('20',plain,
    ( axassoc
    = ( ! [X4: subst,X6: subst,X8: subst] :
          ( ( comp @ ( comp @ X4 @ X6 ) @ X8 )
          = ( comp @ X4 @ ( comp @ X6 @ X8 ) ) ) ) ),
    define([status(thm)]) ).

thf(axshiftcons,axiom,
    ( axshiftcons
    = ( ! [A: term,M: subst] :
          ( ( comp @ sh @ ( push @ A @ M ) )
          = M ) ) ) ).

thf('21',plain,
    ( axshiftcons
    = ( ! [X4: term,X6: subst] :
          ( ( comp @ sh @ ( push @ X4 @ X6 ) )
          = X6 ) ) ),
    define([status(thm)]) ).

thf(axidl,axiom,
    ( axidl
    = ( ! [M: subst] :
          ( ( comp @ id @ M )
          = M ) ) ) ).

thf('22',plain,
    ( axidl
    = ( ! [X4: subst] :
          ( ( comp @ id @ X4 )
          = X4 ) ) ),
    define([status(thm)]) ).

thf(axclos,axiom,
    ( axclos
    = ( ! [A: term,M: subst,N: subst] :
          ( ( sub @ ( sub @ A @ M ) @ N )
          = ( sub @ A @ ( comp @ M @ N ) ) ) ) ) ).

thf('23',plain,
    ( axclos
    = ( ! [X4: term,X6: subst,X8: subst] :
          ( ( sub @ ( sub @ X4 @ X6 ) @ X8 )
          = ( sub @ X4 @ ( comp @ X6 @ X8 ) ) ) ) ),
    define([status(thm)]) ).

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

thf('24',plain,
    ( axabs
    = ( ! [X4: term,X6: subst] :
          ( ( sub @ ( lam @ X4 ) @ X6 )
          = ( lam @ ( sub @ X4 @ ( push @ one @ ( comp @ X6 @ sh ) ) ) ) ) ) ),
    define([status(thm)]) ).

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

thf('25',plain,
    ( axvarid
    = ( ! [X4: term] :
          ( ( sub @ X4 @ id )
          = X4 ) ) ),
    define([status(thm)]) ).

thf(axvarcons,axiom,
    ( axvarcons
    = ( ! [A: term,M: subst] :
          ( ( sub @ one @ ( push @ A @ M ) )
          = A ) ) ) ).

thf('26',plain,
    ( axvarcons
    = ( ! [X4: term,X6: subst] :
          ( ( sub @ one @ ( push @ X4 @ X6 ) )
          = X4 ) ) ),
    define([status(thm)]) ).

thf(axapp,axiom,
    ( axapp
    = ( ! [A: term,B: term,M: subst] :
          ( ( sub @ ( ap @ A @ B ) @ M )
          = ( ap @ ( sub @ A @ M ) @ ( sub @ B @ M ) ) ) ) ) ).

thf('27',plain,
    ( axapp
    = ( ! [X4: term,X6: term,X8: subst] :
          ( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
          = ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) ) ) ),
    define([status(thm)]) ).

thf(thm,conjecture,
    induction2_gthm ).

thf(zf_stmt_0,conjecture,
    ( ! [X4: term,X6: term,X8: subst] :
        ( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
        = ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
   => ( ! [X10: term,X12: subst] :
          ( ( sub @ one @ ( push @ X10 @ X12 ) )
          = X10 )
     => ( ! [X14: term] :
            ( ( sub @ X14 @ id )
            = X14 )
       => ( ! [X16: term,X18: subst] :
              ( ( sub @ ( lam @ X16 ) @ X18 )
              = ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) )
         => ( ! [X20: term,X22: subst,X24: subst] :
                ( ( sub @ ( sub @ X20 @ X22 ) @ X24 )
                = ( sub @ X20 @ ( comp @ X22 @ X24 ) ) )
           => ( ! [X26: subst] :
                  ( ( comp @ id @ X26 )
                  = X26 )
             => ( ! [X28: term,X30: subst] :
                    ( ( comp @ sh @ ( push @ X28 @ X30 ) )
                    = X30 )
               => ( ! [X32: subst,X34: subst,X36: subst] :
                      ( ( comp @ ( comp @ X32 @ X34 ) @ X36 )
                      = ( comp @ X32 @ ( comp @ X34 @ X36 ) ) )
                 => ( ! [X38: term,X40: subst,X42: subst] :
                        ( ( comp @ ( push @ X38 @ X40 ) @ X42 )
                        = ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) )
                   => ( ! [X44: subst] :
                          ( ( comp @ X44 @ id )
                          = X44 )
                     => ( ( ( push @ one @ sh )
                          = id )
                       => ( ! [X46: subst] :
                              ( ( push @ ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) )
                              = X46 )
                         => ( ( var @ one )
                           => ( ! [X48: term] :
                                  ( ( var @ X48 )
                                 => ( var @ ( sub @ X48 @ sh ) ) )
                             => ( ! [X50: term > $o] :
                                    ( ( X50 @ one )
                                   => ( ! [X52: term] :
                                          ( ( var @ X52 )
                                         => ( ( X50 @ X52 )
                                           => ( X50 @ ( sub @ X52 @ sh ) ) ) )
                                     => ! [X54: term] :
                                          ( ( var @ X54 )
                                         => ( X50 @ X54 ) ) ) )
                               => ( ! [X56: term,X58: term,X60: term,X62: term] :
                                      ( ( ( ap @ X56 @ X60 )
                                        = ( ap @ X58 @ X62 ) )
                                     => ( X56 = X58 ) )
                                 => ( ! [X64: term,X66: term,X68: term,X70: term] :
                                        ( ( ( ap @ X64 @ X68 )
                                          = ( ap @ X66 @ X70 ) )
                                       => ( X68 = X70 ) )
                                   => ( ! [X72: term,X74: term] :
                                          ( ( ( lam @ X72 )
                                            = ( lam @ X74 ) )
                                         => ( X72 = X74 ) )
                                     => ( ! [X76: term,X78: term] :
                                            ( ( ( sub @ X76 @ sh )
                                              = ( sub @ X78 @ sh ) )
                                           => ( X76 = X78 ) )
                                       => ( ! [X80: term,X82: term,X84: term] :
                                              ( ( lam @ X80 )
                                             != ( ap @ X82 @ X84 ) )
                                         => ( ! [X86: term,X88: term] :
                                                ~ ( var @ ( ap @ X86 @ X88 ) )
                                           => ( ! [X90: term] :
                                                  ~ ( var @ ( lam @ X90 ) )
                                             => ( ! [X92: term > $o] :
                                                    ( ! [X94: term] :
                                                        ( ( var @ X94 )
                                                       => ( X92 @ X94 ) )
                                                   => ( ! [X96: term,X98: term] :
                                                          ( ( X92 @ X96 )
                                                         => ( ( X92 @ X98 )
                                                           => ( X92 @ ( ap @ X96 @ X98 ) ) ) )
                                                     => ( ! [X100: term] :
                                                            ( ( X92 @ X100 )
                                                           => ( X92 @ ( lam @ X100 ) ) )
                                                       => ! [X102: term] : ( X92 @ X102 ) ) ) )
                                               => ( ! [X104: term > $o,X106: term,X108: subst] :
                                                      ( ! [X110: term] :
                                                          ( ( var @ X110 )
                                                         => ( X104 @ ( sub @ X110 @ X108 ) ) )
                                                     => ( ( X104 @ X106 )
                                                       => ! [X112: term] :
                                                            ( ( var @ X112 )
                                                           => ( X104 @ ( sub @ X112 @ ( push @ X106 @ X108 ) ) ) ) ) )
                                                 => ( ! [X114: term > $o] :
                                                        ( ! [X116: term,X118: term] :
                                                            ( ( X114 @ X116 )
                                                           => ( ( X114 @ X118 )
                                                             => ( X114 @ ( ap @ X116 @ X118 ) ) ) )
                                                       => ( ! [X120: term] :
                                                              ( ! [X122: term] :
                                                                  ( ( X114 @ X122 )
                                                                 => ( X114 @ ( sub @ X120 @ ( push @ X122 @ id ) ) ) )
                                                             => ( X114 @ ( lam @ X120 ) ) )
                                                         => ! [X124: term,X126: subst] :
                                                              ( ! [X128: term] :
                                                                  ( ( var @ X128 )
                                                                 => ( X114 @ ( sub @ X128 @ X126 ) ) )
                                                             => ( X114 @ ( sub @ X124 @ X126 ) ) ) ) )
                                                   => ! [X130: term > $o] :
                                                        ( ! [X132: term] :
                                                            ( ( var @ X132 )
                                                           => ( X130 @ X132 ) )
                                                       => ( ! [X134: term,X136: term] :
                                                              ( ( X130 @ X134 )
                                                             => ( ( X130 @ X136 )
                                                               => ( X130 @ ( ap @ X134 @ X136 ) ) ) )
                                                         => ( ! [X138: term] :
                                                                ( ! [X140: term] :
                                                                    ( ( X130 @ X140 )
                                                                   => ( X130 @ ( sub @ X138 @ ( push @ X140 @ id ) ) ) )
                                                               => ( X130 @ ( lam @ X138 ) ) )
                                                           => ! [X142: term] : ( X130 @ X142 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

thf(zf_stmt_1,negated_conjecture,
    ~ ( ! [X4: term,X6: term,X8: subst] :
          ( ( sub @ ( ap @ X4 @ X6 ) @ X8 )
          = ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
     => ( ! [X10: term,X12: subst] :
            ( ( sub @ one @ ( push @ X10 @ X12 ) )
            = X10 )
       => ( ! [X14: term] :
              ( ( sub @ X14 @ id )
              = X14 )
         => ( ! [X16: term,X18: subst] :
                ( ( sub @ ( lam @ X16 ) @ X18 )
                = ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) )
           => ( ! [X20: term,X22: subst,X24: subst] :
                  ( ( sub @ ( sub @ X20 @ X22 ) @ X24 )
                  = ( sub @ X20 @ ( comp @ X22 @ X24 ) ) )
             => ( ! [X26: subst] :
                    ( ( comp @ id @ X26 )
                    = X26 )
               => ( ! [X28: term,X30: subst] :
                      ( ( comp @ sh @ ( push @ X28 @ X30 ) )
                      = X30 )
                 => ( ! [X32: subst,X34: subst,X36: subst] :
                        ( ( comp @ ( comp @ X32 @ X34 ) @ X36 )
                        = ( comp @ X32 @ ( comp @ X34 @ X36 ) ) )
                   => ( ! [X38: term,X40: subst,X42: subst] :
                          ( ( comp @ ( push @ X38 @ X40 ) @ X42 )
                          = ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) )
                     => ( ! [X44: subst] :
                            ( ( comp @ X44 @ id )
                            = X44 )
                       => ( ( ( push @ one @ sh )
                            = id )
                         => ( ! [X46: subst] :
                                ( ( push @ ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) )
                                = X46 )
                           => ( ( var @ one )
                             => ( ! [X48: term] :
                                    ( ( var @ X48 )
                                   => ( var @ ( sub @ X48 @ sh ) ) )
                               => ( ! [X50: term > $o] :
                                      ( ( X50 @ one )
                                     => ( ! [X52: term] :
                                            ( ( var @ X52 )
                                           => ( ( X50 @ X52 )
                                             => ( X50 @ ( sub @ X52 @ sh ) ) ) )
                                       => ! [X54: term] :
                                            ( ( var @ X54 )
                                           => ( X50 @ X54 ) ) ) )
                                 => ( ! [X56: term,X58: term,X60: term,X62: term] :
                                        ( ( ( ap @ X56 @ X60 )
                                          = ( ap @ X58 @ X62 ) )
                                       => ( X56 = X58 ) )
                                   => ( ! [X64: term,X66: term,X68: term,X70: term] :
                                          ( ( ( ap @ X64 @ X68 )
                                            = ( ap @ X66 @ X70 ) )
                                         => ( X68 = X70 ) )
                                     => ( ! [X72: term,X74: term] :
                                            ( ( ( lam @ X72 )
                                              = ( lam @ X74 ) )
                                           => ( X72 = X74 ) )
                                       => ( ! [X76: term,X78: term] :
                                              ( ( ( sub @ X76 @ sh )
                                                = ( sub @ X78 @ sh ) )
                                             => ( X76 = X78 ) )
                                         => ( ! [X80: term,X82: term,X84: term] :
                                                ( ( lam @ X80 )
                                               != ( ap @ X82 @ X84 ) )
                                           => ( ! [X86: term,X88: term] :
                                                  ~ ( var @ ( ap @ X86 @ X88 ) )
                                             => ( ! [X90: term] :
                                                    ~ ( var @ ( lam @ X90 ) )
                                               => ( ! [X92: term > $o] :
                                                      ( ! [X94: term] :
                                                          ( ( var @ X94 )
                                                         => ( X92 @ X94 ) )
                                                     => ( ! [X96: term,X98: term] :
                                                            ( ( X92 @ X96 )
                                                           => ( ( X92 @ X98 )
                                                             => ( X92 @ ( ap @ X96 @ X98 ) ) ) )
                                                       => ( ! [X100: term] :
                                                              ( ( X92 @ X100 )
                                                             => ( X92 @ ( lam @ X100 ) ) )
                                                         => ! [X102: term] : ( X92 @ X102 ) ) ) )
                                                 => ( ! [X104: term > $o,X106: term,X108: subst] :
                                                        ( ! [X110: term] :
                                                            ( ( var @ X110 )
                                                           => ( X104 @ ( sub @ X110 @ X108 ) ) )
                                                       => ( ( X104 @ X106 )
                                                         => ! [X112: term] :
                                                              ( ( var @ X112 )
                                                             => ( X104 @ ( sub @ X112 @ ( push @ X106 @ X108 ) ) ) ) ) )
                                                   => ( ! [X114: term > $o] :
                                                          ( ! [X116: term,X118: term] :
                                                              ( ( X114 @ X116 )
                                                             => ( ( X114 @ X118 )
                                                               => ( X114 @ ( ap @ X116 @ X118 ) ) ) )
                                                         => ( ! [X120: term] :
                                                                ( ! [X122: term] :
                                                                    ( ( X114 @ X122 )
                                                                   => ( X114 @ ( sub @ X120 @ ( push @ X122 @ id ) ) ) )
                                                               => ( X114 @ ( lam @ X120 ) ) )
                                                           => ! [X124: term,X126: subst] :
                                                                ( ! [X128: term] :
                                                                    ( ( var @ X128 )
                                                                   => ( X114 @ ( sub @ X128 @ X126 ) ) )
                                                               => ( X114 @ ( sub @ X124 @ X126 ) ) ) ) )
                                                     => ! [X130: term > $o] :
                                                          ( ! [X132: term] :
                                                              ( ( var @ X132 )
                                                             => ( X130 @ X132 ) )
                                                         => ( ! [X134: term,X136: term] :
                                                                ( ( X130 @ X134 )
                                                               => ( ( X130 @ X136 )
                                                                 => ( X130 @ ( ap @ X134 @ X136 ) ) ) )
                                                           => ( ! [X138: term] :
                                                                  ( ! [X140: term] :
                                                                      ( ( X130 @ X140 )
                                                                     => ( X130 @ ( sub @ X138 @ ( push @ X140 @ id ) ) ) )
                                                                 => ( X130 @ ( lam @ X138 ) ) )
                                                             => ! [X142: term] : ( X130 @ X142 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference('cnf.neg',[status(esa)],[zf_stmt_0]) ).

thf(zip_derived_cl0,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( sub @ ( ap @ Y0 @ Y1 ) @ Y2 )
                    = ( ap @ ( sub @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                  = Y0 ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: subst] :
                      ( ( sub @ ( lam @ Y0 ) @ Y1 )
                      = ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: subst] :
                        ( !!
                        @ ^ [Y2: subst] :
                            ( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
                            = ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: subst] :
                            ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                            = Y1 ) ) )
                 => ( ( !!
                      @ ^ [Y0: subst] :
                          ( !!
                          @ ^ [Y1: subst] :
                              ( !!
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                                  = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: subst] :
                                ( !!
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                                    = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( ( push @ one @ sh )
                            = id )
                         => ( ( !!
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !!
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( !!
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y0 @ Y2 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y0 = Y1 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] :
                                            ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: term] :
                                                    ( !!
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y2 )
                                                          = ( ap @ Y1 @ Y3 ) )
                                                       => ( Y2 = Y3 ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term] :
                                              ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y0 )
                                                    = ( lam @ Y1 ) )
                                                 => ( Y0 = Y1 ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term] :
                                                ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y0 @ sh )
                                                      = ( sub @ Y1 @ sh ) )
                                                   => ( Y0 = Y1 ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term] :
                                                  ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y0 )
                                                         != ( ap @ Y1 @ Y2 ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y0: term] :
                                                    ( !!
                                                    @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( !!
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !!
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y0: term > $o] :
                                                          ( !!
                                                          @ ^ [Y1: term] :
                                                              ( !!
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !!
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( !!
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( !!
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !!
                                                                @ ^ [Y1: term] :
                                                                    ( ( !!
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !!
                                                                @ ^ [Y1: term] :
                                                                    ( !!
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( !!
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                     => ( !!
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !!
                                                                @ ^ [Y1: term] :
                                                                    ( !!
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y1 )
                                                                       => ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                             => ( ( !!
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !!
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !!
                                                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf,[status(esa)],[zf_stmt_1]) ).

thf(zip_derived_cl2,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( sub @ one @ ( push @ Y0 @ Y1 ) )
                = Y0 ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: subst] :
                    ( ( sub @ ( lam @ Y0 ) @ Y1 )
                    = ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: subst] :
                      ( !!
                      @ ^ [Y2: subst] :
                          ( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
                          = ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: subst] :
                          ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                          = Y1 ) ) )
               => ( ( !!
                    @ ^ [Y0: subst] :
                        ( !!
                        @ ^ [Y1: subst] :
                            ( !!
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                                = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: subst] :
                              ( !!
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                                  = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                     => ( ( ( push @ one @ sh )
                          = id )
                       => ( ( !!
                            @ ^ [Y0: subst] :
                                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                = Y0 ) )
                         => ( ( var @ one )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( ( var @ Y0 )
                                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term > $o] :
                                      ( ( Y0 @ one )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                       => ( !!
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( !!
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y0 @ Y2 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y0 = Y1 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( !!
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y0 @ Y2 )
                                                        = ( ap @ Y1 @ Y3 ) )
                                                     => ( Y2 = Y3 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] :
                                            ( !!
                                            @ ^ [Y1: term] :
                                                ( ( ( lam @ Y0 )
                                                  = ( lam @ Y1 ) )
                                               => ( Y0 = Y1 ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term] :
                                              ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( ( sub @ Y0 @ sh )
                                                    = ( sub @ Y1 @ sh ) )
                                                 => ( Y0 = Y1 ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term] :
                                                ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( lam @ Y0 )
                                                       != ( ap @ Y1 @ Y2 ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term] :
                                                  ( !!
                                                  @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( !!
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !!
                                                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y0: term > $o] :
                                                        ( !!
                                                        @ ^ [Y1: term] :
                                                            ( !!
                                                            @ ^ [Y2: subst] :
                                                                ( ( !!
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( !!
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( !!
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( ( !!
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( !!
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( !!
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                   => ( !!
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ Y1 ) ) )
                                                         => ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( !!
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !!
                                                                @ ^ [Y1: term] :
                                                                    ( ( !!
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !!
                                                                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl0]) ).

thf(zip_derived_cl5,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( sub @ ( lam @ Y0 ) @ Y1 )
                  = ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: subst] :
                    ( !!
                    @ ^ [Y2: subst] :
                        ( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
                        = ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: subst] :
                        ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                        = Y1 ) ) )
             => ( ( !!
                  @ ^ [Y0: subst] :
                      ( !!
                      @ ^ [Y1: subst] :
                          ( !!
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                              = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: subst] :
                            ( !!
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                                = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                   => ( ( ( push @ one @ sh )
                        = id )
                     => ( ( !!
                          @ ^ [Y0: subst] :
                              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                              = Y0 ) )
                       => ( ( var @ one )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( ( var @ Y0 )
                                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term > $o] :
                                    ( ( Y0 @ one )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                     => ( !!
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( !!
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y2 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y0 = Y1 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( !!
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y0 @ Y2 )
                                                      = ( ap @ Y1 @ Y3 ) )
                                                   => ( Y2 = Y3 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( ( ( lam @ Y0 )
                                                = ( lam @ Y1 ) )
                                             => ( Y0 = Y1 ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] :
                                            ( !!
                                            @ ^ [Y1: term] :
                                                ( ( ( sub @ Y0 @ sh )
                                                  = ( sub @ Y1 @ sh ) )
                                               => ( Y0 = Y1 ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term] :
                                              ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( lam @ Y0 )
                                                     != ( ap @ Y1 @ Y2 ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term] :
                                                ( !!
                                                @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( !!
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !!
                                                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y0: term > $o] :
                                                      ( !!
                                                      @ ^ [Y1: term] :
                                                          ( !!
                                                          @ ^ [Y2: subst] :
                                                              ( ( !!
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( !!
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( !!
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( ( !!
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !!
                                                            @ ^ [Y1: term] :
                                                                ( !!
                                                                @ ^ [Y2: subst] :
                                                                    ( ( !!
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                                 => ( !!
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( !!
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !!
                                                              @ ^ [Y1: term] :
                                                                  ( ( !!
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !!
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl2]) ).

thf(zip_derived_cl9,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( sub @ ( lam @ Y0 ) @ Y1 )
                = ( lam @ ( sub @ Y0 @ ( push @ one @ ( comp @ Y1 @ sh ) ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( !!
                  @ ^ [Y2: subst] :
                      ( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
                      = ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: subst] :
                      ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                      = Y1 ) ) )
           => ( ( !!
                @ ^ [Y0: subst] :
                    ( !!
                    @ ^ [Y1: subst] :
                        ( !!
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                            = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: subst] :
                          ( !!
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                              = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( ( push @ one @ sh )
                      = id )
                   => ( ( !!
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !!
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( !!
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y0 @ Y2 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y0 = Y1 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( !!
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y2 )
                                                    = ( ap @ Y1 @ Y3 ) )
                                                 => ( Y2 = Y3 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y0 )
                                              = ( lam @ Y1 ) )
                                           => ( Y0 = Y1 ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y0 @ sh )
                                                = ( sub @ Y1 @ sh ) )
                                             => ( Y0 = Y1 ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] :
                                            ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( lam @ Y0 )
                                                   != ( ap @ Y1 @ Y2 ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term] :
                                              ( !!
                                              @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( !!
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !!
                                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y0: term > $o] :
                                                    ( !!
                                                    @ ^ [Y1: term] :
                                                        ( !!
                                                        @ ^ [Y2: subst] :
                                                            ( ( !!
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( !!
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( !!
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( ( !!
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !!
                                                          @ ^ [Y1: term] :
                                                              ( !!
                                                              @ ^ [Y2: subst] :
                                                                  ( ( !!
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                               => ( !!
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( !!
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !!
                                                            @ ^ [Y1: term] :
                                                                ( ( !!
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !!
                                                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl5]) ).

thf(zip_derived_cl14,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
                    = ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: subst] :
                    ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                    = Y1 ) ) )
         => ( ( !!
              @ ^ [Y0: subst] :
                  ( !!
                  @ ^ [Y1: subst] :
                      ( !!
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                          = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: subst] :
                        ( !!
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                            = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
               => ( ( ( push @ one @ sh )
                    = id )
                 => ( ( !!
                      @ ^ [Y0: subst] :
                          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                          = Y0 ) )
                   => ( ( var @ one )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( ( var @ Y0 )
                             => ( var @ ( sub @ Y0 @ sh ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term > $o] :
                                ( ( Y0 @ one )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                 => ( !!
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( !!
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y0 @ Y2 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y0 = Y1 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( !!
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y0 @ Y2 )
                                                  = ( ap @ Y1 @ Y3 ) )
                                               => ( Y2 = Y3 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( ( ( lam @ Y0 )
                                            = ( lam @ Y1 ) )
                                         => ( Y0 = Y1 ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( ( ( sub @ Y0 @ sh )
                                              = ( sub @ Y1 @ sh ) )
                                           => ( Y0 = Y1 ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( lam @ Y0 )
                                                 != ( ap @ Y1 @ Y2 ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] :
                                            ( !!
                                            @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term > $o] :
                                                ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( !!
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !!
                                                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term > $o] :
                                                  ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: subst] :
                                                          ( ( !!
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( !!
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( !!
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( ( !!
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !!
                                                        @ ^ [Y1: term] :
                                                            ( !!
                                                            @ ^ [Y2: subst] :
                                                                ( ( !!
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                             => ( !!
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( !!
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !!
                                                          @ ^ [Y1: term] :
                                                              ( ( !!
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !!
                                                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl9]) ).

thf(zip_derived_cl20,plain,
    ~ ( ( !!
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                  = Y1 ) ) )
       => ( ( !!
            @ ^ [Y0: subst] :
                ( !!
                @ ^ [Y1: subst] :
                    ( !!
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                        = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: subst] :
                      ( !!
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                          = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
             => ( ( ( push @ one @ sh )
                  = id )
               => ( ( !!
                    @ ^ [Y0: subst] :
                        ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                        = Y0 ) )
                 => ( ( var @ one )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( ( var @ Y0 )
                           => ( var @ ( sub @ Y0 @ sh ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term > $o] :
                              ( ( Y0 @ one )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                               => ( !!
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( !!
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y2 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y0 = Y1 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( !!
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y0 @ Y2 )
                                                = ( ap @ Y1 @ Y3 ) )
                                             => ( Y2 = Y3 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( ( ( lam @ Y0 )
                                          = ( lam @ Y1 ) )
                                       => ( Y0 = Y1 ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( ( ( sub @ Y0 @ sh )
                                            = ( sub @ Y1 @ sh ) )
                                         => ( Y0 = Y1 ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( ( lam @ Y0 )
                                               != ( ap @ Y1 @ Y2 ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] :
                                          ( !!
                                          @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term > $o] :
                                              ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !!
                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term > $o] :
                                                ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: subst] :
                                                        ( ( !!
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( !!
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( !!
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( ( !!
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !!
                                                      @ ^ [Y1: term] :
                                                          ( !!
                                                          @ ^ [Y2: subst] :
                                                              ( ( !!
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                           => ( !!
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( !!
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !!
                                                        @ ^ [Y1: term] :
                                                            ( ( !!
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !!
                                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl14]) ).

thf(zip_derived_cl24,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( comp @ sh @ ( push @ Y0 @ Y1 ) )
                = Y1 ) ) )
     => ( ( !!
          @ ^ [Y0: subst] :
              ( !!
              @ ^ [Y1: subst] :
                  ( !!
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                      = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: subst] :
                    ( !!
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                        = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( ( push @ one @ sh )
                = id )
             => ( ( !!
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !!
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( !!
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y0 @ Y2 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y0 = Y1 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( !!
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y2 )
                                              = ( ap @ Y1 @ Y3 ) )
                                           => ( Y2 = Y3 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y0 )
                                        = ( lam @ Y1 ) )
                                     => ( Y0 = Y1 ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y0 @ sh )
                                          = ( sub @ Y1 @ sh ) )
                                       => ( Y0 = Y1 ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( ( lam @ Y0 )
                                             != ( ap @ Y1 @ Y2 ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] :
                                        ( !!
                                        @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term > $o] :
                                            ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !!
                                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term > $o] :
                                              ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: subst] :
                                                      ( ( !!
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( !!
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y0: term > $o] :
                                                ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( ( !!
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !!
                                                    @ ^ [Y1: term] :
                                                        ( !!
                                                        @ ^ [Y2: subst] :
                                                            ( ( !!
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                         => ( !!
                                            @ ^ [Y0: term > $o] :
                                                ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( !!
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !!
                                                      @ ^ [Y1: term] :
                                                          ( ( !!
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !!
                                                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl20]) ).

thf(zip_derived_cl29,plain,
    ~ ( ( !!
        @ ^ [Y0: subst] :
            ( !!
            @ ^ [Y1: subst] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
                    = ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( !!
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                      = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
         => ( ( ( push @ one @ sh )
              = id )
           => ( ( !!
                @ ^ [Y0: subst] :
                    ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                    = Y0 ) )
             => ( ( var @ one )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( ( var @ Y0 )
                       => ( var @ ( sub @ Y0 @ sh ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term > $o] :
                          ( ( Y0 @ one )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                           => ( !!
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( !!
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y0 @ Y2 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y0 = Y1 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( !!
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y0 @ Y2 )
                                            = ( ap @ Y1 @ Y3 ) )
                                         => ( Y2 = Y3 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( ( ( lam @ Y0 )
                                      = ( lam @ Y1 ) )
                                   => ( Y0 = Y1 ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( ( ( sub @ Y0 @ sh )
                                        = ( sub @ Y1 @ sh ) )
                                     => ( Y0 = Y1 ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( ( lam @ Y0 )
                                           != ( ap @ Y1 @ Y2 ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] :
                                      ( !!
                                      @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term > $o] :
                                          ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !!
                                                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term > $o] :
                                            ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: subst] :
                                                    ( ( !!
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( !!
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y0: term > $o] :
                                              ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( ( !!
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: subst] :
                                                          ( ( !!
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                       => ( !!
                                          @ ^ [Y0: term > $o] :
                                              ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !!
                                                    @ ^ [Y1: term] :
                                                        ( ( !!
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !!
                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl24]) ).

thf(zip_derived_cl34,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( comp @ ( push @ Y0 @ Y1 ) @ Y2 )
                    = ( push @ ( sub @ Y0 @ Y2 ) @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
       => ( ( ( push @ one @ sh )
            = id )
         => ( ( !!
              @ ^ [Y0: subst] :
                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                  = Y0 ) )
           => ( ( var @ one )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( ( var @ Y0 )
                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term > $o] :
                        ( ( Y0 @ one )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                         => ( !!
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( !!
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y0 @ Y2 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y0 = Y1 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( !!
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y0 @ Y2 )
                                          = ( ap @ Y1 @ Y3 ) )
                                       => ( Y2 = Y3 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( ( ( lam @ Y0 )
                                    = ( lam @ Y1 ) )
                                 => ( Y0 = Y1 ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( ( ( sub @ Y0 @ sh )
                                      = ( sub @ Y1 @ sh ) )
                                   => ( Y0 = Y1 ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( ( lam @ Y0 )
                                         != ( ap @ Y1 @ Y2 ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] :
                                    ( !!
                                    @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term > $o] :
                                        ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !!
                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term > $o] :
                                          ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: subst] :
                                                  ( ( !!
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( !!
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y0: term > $o] :
                                            ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: subst] :
                                                        ( ( !!
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                     => ( !!
                                        @ ^ [Y0: term > $o] :
                                            ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !!
                                                  @ ^ [Y1: term] :
                                                      ( ( !!
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !!
                                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl29]) ).

thf(zip_derived_cl39,plain,
    ~ ( ( !!
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
     => ( ( ( push @ one @ sh )
          = id )
       => ( ( !!
            @ ^ [Y0: subst] :
                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                = Y0 ) )
         => ( ( var @ one )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( ( var @ Y0 )
                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term > $o] :
                      ( ( Y0 @ one )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                       => ( !!
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( !!
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y2 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y0 = Y1 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( !!
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y0 @ Y2 )
                                        = ( ap @ Y1 @ Y3 ) )
                                     => ( Y2 = Y3 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( ( ( lam @ Y0 )
                                  = ( lam @ Y1 ) )
                               => ( Y0 = Y1 ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( ( ( sub @ Y0 @ sh )
                                    = ( sub @ Y1 @ sh ) )
                                 => ( Y0 = Y1 ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( ( lam @ Y0 )
                                       != ( ap @ Y1 @ Y2 ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] :
                                  ( !!
                                  @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term > $o] :
                                      ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !!
                                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term > $o] :
                                        ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: subst] :
                                                ( ( !!
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( ( Y0 @ Y1 )
                                                 => ( !!
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y0: term > $o] :
                                          ( ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: subst] :
                                                      ( ( !!
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                   => ( !!
                                      @ ^ [Y0: term > $o] :
                                          ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !!
                                                @ ^ [Y1: term] :
                                                    ( ( !!
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !!
                                                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl34]) ).

thf(zip_derived_cl44,plain,
    ~ ( ( ( push @ one @ sh )
        = id )
     => ( ( !!
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !!
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !!
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( !!
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y0 @ Y2 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y0 = Y1 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( !!
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y2 )
                                      = ( ap @ Y1 @ Y3 ) )
                                   => ( Y2 = Y3 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y0 )
                                = ( lam @ Y1 ) )
                             => ( Y0 = Y1 ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y0 @ sh )
                                  = ( sub @ Y1 @ sh ) )
                               => ( Y0 = Y1 ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( ( lam @ Y0 )
                                     != ( ap @ Y1 @ Y2 ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] :
                                ( !!
                                @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term > $o] :
                                    ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !!
                                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term > $o] :
                                      ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: subst] :
                                              ( ( !!
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( ( Y0 @ Y1 )
                                               => ( !!
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y0: term > $o] :
                                        ( ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: subst] :
                                                    ( ( !!
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                                 => ( !!
                                    @ ^ [Y0: term > $o] :
                                        ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !!
                                              @ ^ [Y1: term] :
                                                  ( ( !!
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !!
                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl39]) ).

thf(zip_derived_cl49,plain,
    ~ ( ( !!
        @ ^ [Y0: subst] :
            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
            = Y0 ) )
     => ( ( var @ one )
       => ( ( !!
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( var @ ( sub @ Y0 @ sh ) ) ) )
         => ( ( !!
              @ ^ [Y0: term > $o] :
                  ( ( Y0 @ one )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                   => ( !!
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( !!
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y0 @ Y2 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y0 = Y1 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( !!
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y0 @ Y2 )
                                    = ( ap @ Y1 @ Y3 ) )
                                 => ( Y2 = Y3 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( ( ( lam @ Y0 )
                              = ( lam @ Y1 ) )
                           => ( Y0 = Y1 ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( ( ( sub @ Y0 @ sh )
                                = ( sub @ Y1 @ sh ) )
                             => ( Y0 = Y1 ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( ( lam @ Y0 )
                                   != ( ap @ Y1 @ Y2 ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] :
                              ( !!
                              @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term > $o] :
                                  ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !!
                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term > $o] :
                                    ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: subst] :
                                            ( ( !!
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( ( Y0 @ Y1 )
                                             => ( !!
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y0: term > $o] :
                                      ( ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: subst] :
                                                  ( ( !!
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                               => ( !!
                                  @ ^ [Y0: term > $o] :
                                      ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !!
                                            @ ^ [Y1: term] :
                                                ( ( !!
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !!
                                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl44]) ).

thf(zip_derived_cl55,plain,
    ~ ( ( var @ one )
     => ( ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( var @ ( sub @ Y0 @ sh ) ) ) )
       => ( ( !!
            @ ^ [Y0: term > $o] :
                ( ( Y0 @ one )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                 => ( !!
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( !!
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y0 @ Y2 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y0 = Y1 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( !!
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y0 @ Y2 )
                                  = ( ap @ Y1 @ Y3 ) )
                               => ( Y2 = Y3 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( ( ( lam @ Y0 )
                            = ( lam @ Y1 ) )
                         => ( Y0 = Y1 ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( ( ( sub @ Y0 @ sh )
                              = ( sub @ Y1 @ sh ) )
                           => ( Y0 = Y1 ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( ( lam @ Y0 )
                                 != ( ap @ Y1 @ Y2 ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] :
                            ( !!
                            @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term > $o] :
                                ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !!
                                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term > $o] :
                                  ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: subst] :
                                          ( ( !!
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( ( Y0 @ Y1 )
                                           => ( !!
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y0: term > $o] :
                                    ( ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: subst] :
                                                ( ( !!
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                             => ( !!
                                @ ^ [Y0: term > $o] :
                                    ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( !!
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !!
                                          @ ^ [Y1: term] :
                                              ( ( !!
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !!
                                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl49]) ).

thf(zip_derived_cl59,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( var @ ( sub @ Y0 @ sh ) ) ) )
     => ( ( !!
          @ ^ [Y0: term > $o] :
              ( ( Y0 @ one )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
               => ( !!
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( !!
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y0 @ Y2 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y0 = Y1 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( !!
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y0 @ Y2 )
                                = ( ap @ Y1 @ Y3 ) )
                             => ( Y2 = Y3 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( ( ( lam @ Y0 )
                          = ( lam @ Y1 ) )
                       => ( Y0 = Y1 ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( ( ( sub @ Y0 @ sh )
                            = ( sub @ Y1 @ sh ) )
                         => ( Y0 = Y1 ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( ( lam @ Y0 )
                               != ( ap @ Y1 @ Y2 ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] :
                          ( !!
                          @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term > $o] :
                              ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !!
                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term > $o] :
                                ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: subst] :
                                        ( ( !!
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( ( Y0 @ Y1 )
                                         => ( !!
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y0: term > $o] :
                                  ( ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( !!
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: subst] :
                                              ( ( !!
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                           => ( !!
                              @ ^ [Y0: term > $o] :
                                  ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( !!
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !!
                                        @ ^ [Y1: term] :
                                            ( ( !!
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !!
                                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl55]) ).

thf(zip_derived_cl62,plain,
    ~ ( ( !!
        @ ^ [Y0: term > $o] :
            ( ( Y0 @ one )
           => ( ( !!
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
             => ( !!
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: term] :
                      ( !!
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y0 @ Y2 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y0 = Y1 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( !!
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y0 @ Y2 )
                              = ( ap @ Y1 @ Y3 ) )
                           => ( Y2 = Y3 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( ( ( lam @ Y0 )
                        = ( lam @ Y1 ) )
                     => ( Y0 = Y1 ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( ( ( sub @ Y0 @ sh )
                          = ( sub @ Y1 @ sh ) )
                       => ( Y0 = Y1 ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( ( lam @ Y0 )
                             != ( ap @ Y1 @ Y2 ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] :
                        ( !!
                        @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term > $o] :
                            ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !!
                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term > $o] :
                              ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: subst] :
                                      ( ( !!
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( ( Y0 @ Y1 )
                                       => ( !!
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y0: term > $o] :
                                ( ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( !!
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: subst] :
                                            ( ( !!
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                         => ( !!
                            @ ^ [Y0: term > $o] :
                                ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( !!
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !!
                                      @ ^ [Y1: term] :
                                          ( ( !!
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !!
                                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl59]) ).

thf(zip_derived_cl65,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: term] :
                    ( !!
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y0 @ Y2 )
                          = ( ap @ Y1 @ Y3 ) )
                       => ( Y0 = Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: term] :
                      ( !!
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y0 @ Y2 )
                            = ( ap @ Y1 @ Y3 ) )
                         => ( Y2 = Y3 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] :
                    ( ( ( lam @ Y0 )
                      = ( lam @ Y1 ) )
                   => ( Y0 = Y1 ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( ( ( sub @ Y0 @ sh )
                        = ( sub @ Y1 @ sh ) )
                     => ( Y0 = Y1 ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( ( lam @ Y0 )
                           != ( ap @ Y1 @ Y2 ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] :
                      ( !!
                      @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term > $o] :
                          ( ( !!
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !!
                                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term > $o] :
                            ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: subst] :
                                    ( ( !!
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( ( Y0 @ Y1 )
                                     => ( !!
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y0: term > $o] :
                              ( ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( !!
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: subst] :
                                          ( ( !!
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                       => ( !!
                          @ ^ [Y0: term > $o] :
                              ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( !!
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !!
                                    @ ^ [Y1: term] :
                                        ( ( !!
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !!
                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl62]) ).

thf(zip_derived_cl69,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: term] :
                    ( !!
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y0 @ Y2 )
                          = ( ap @ Y1 @ Y3 ) )
                       => ( Y2 = Y3 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( ( lam @ Y0 )
                    = ( lam @ Y1 ) )
                 => ( Y0 = Y1 ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] :
                    ( ( ( sub @ Y0 @ sh )
                      = ( sub @ Y1 @ sh ) )
                   => ( Y0 = Y1 ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( ( lam @ Y0 )
                         != ( ap @ Y1 @ Y2 ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] :
                    ( !!
                    @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term > $o] :
                        ( ( !!
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !!
                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term > $o] :
                          ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: subst] :
                                  ( ( !!
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( ( Y0 @ Y1 )
                                   => ( !!
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y0: term > $o] :
                            ( ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( !!
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: subst] :
                                        ( ( !!
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                     => ( !!
                        @ ^ [Y0: term > $o] :
                            ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( !!
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !!
                                  @ ^ [Y1: term] :
                                      ( ( !!
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !!
                                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl65]) ).

thf(zip_derived_cl73,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( ( lam @ Y0 )
                  = ( lam @ Y1 ) )
               => ( Y0 = Y1 ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y0 @ sh )
                    = ( sub @ Y1 @ sh ) )
                 => ( Y0 = Y1 ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( ( lam @ Y0 )
                       != ( ap @ Y1 @ Y2 ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] :
                  ( !!
                  @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term > $o] :
                      ( ( !!
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !!
                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term > $o] :
                        ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: subst] :
                                ( ( !!
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( ( Y0 @ Y1 )
                                 => ( !!
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y0: term > $o] :
                          ( ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( !!
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: subst] :
                                      ( ( !!
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                     => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                   => ( !!
                      @ ^ [Y0: term > $o] :
                          ( ( !!
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( !!
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !!
                                @ ^ [Y1: term] :
                                    ( ( !!
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !!
                                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl69]) ).

thf(zip_derived_cl78,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( ( sub @ Y0 @ sh )
                  = ( sub @ Y1 @ sh ) )
               => ( Y0 = Y1 ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: term] :
                      ( ( lam @ Y0 )
                     != ( ap @ Y1 @ Y2 ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( !!
                @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
           => ( ( !!
                @ ^ [Y0: term > $o] :
                    ( ( !!
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !!
                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term > $o] :
                      ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: subst] :
                              ( ( !!
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( ( Y0 @ Y1 )
                               => ( !!
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y0: term > $o] :
                        ( ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( ( !!
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: subst] :
                                    ( ( !!
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
                 => ( !!
                    @ ^ [Y0: term > $o] :
                        ( ( !!
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( !!
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !!
                              @ ^ [Y1: term] :
                                  ( ( !!
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !!
                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl73]) ).

thf(zip_derived_cl84,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: term] :
                    ( ( lam @ Y0 )
                   != ( ap @ Y1 @ Y2 ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
         => ( ( !!
              @ ^ [Y0: term > $o] :
                  ( ( !!
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !!
                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term > $o] :
                    ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: subst] :
                            ( ( !!
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( ( Y0 @ Y1 )
                             => ( !!
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y0: term > $o] :
                      ( ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( ( !!
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: subst] :
                                  ( ( !!
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                                 => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
               => ( !!
                  @ ^ [Y0: term > $o] :
                      ( ( !!
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( !!
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !!
                            @ ^ [Y1: term] :
                                ( ( !!
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !!
                            @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl78]) ).

thf(zip_derived_cl92,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] : ( (~) @ ( var @ ( ap @ Y0 @ Y1 ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
       => ( ( !!
            @ ^ [Y0: term > $o] :
                ( ( !!
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !!
                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term > $o] :
                  ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: subst] :
                          ( ( !!
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( ( Y0 @ Y1 )
                           => ( !!
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y0: term > $o] :
                    ( ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( ( !!
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: subst] :
                                ( ( !!
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                               => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
             => ( !!
                @ ^ [Y0: term > $o] :
                    ( ( !!
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( !!
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !!
                          @ ^ [Y1: term] :
                              ( ( !!
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !!
                          @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl84]) ).

thf(zip_derived_cl102,plain,
    ~ ( ( !!
        @ ^ [Y0: term] : ( (~) @ ( var @ ( lam @ Y0 ) ) ) )
     => ( ( !!
          @ ^ [Y0: term > $o] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !!
                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term > $o] :
                ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: subst] :
                        ( ( !!
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( ( Y0 @ Y1 )
                         => ( !!
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
         => ( ( !!
              @ ^ [Y0: term > $o] :
                  ( ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( ( !!
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: subst] :
                              ( ( !!
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                             => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
           => ( !!
              @ ^ [Y0: term > $o] :
                  ( ( !!
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( !!
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !!
                        @ ^ [Y1: term] :
                            ( ( !!
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !!
                        @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl92]) ).

thf(zip_derived_cl113,plain,
    ~ ( ( !!
        @ ^ [Y0: term > $o] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !!
                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term > $o] :
              ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: subst] :
                      ( ( !!
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                     => ( ( Y0 @ Y1 )
                       => ( !!
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term > $o] :
                ( ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( ( !!
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: subst] :
                            ( ( !!
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                           => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
         => ( !!
            @ ^ [Y0: term > $o] :
                ( ( !!
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( !!
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !!
                      @ ^ [Y1: term] :
                          ( ( !!
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !!
                      @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl102]) ).

thf(zip_derived_cl122,plain,
    ~ ( ( !!
        @ ^ [Y0: term > $o] :
            ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( !!
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                   => ( ( Y0 @ Y1 )
                     => ( !!
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term > $o] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( ( !!
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: subst] :
                          ( ( !!
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                         => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
       => ( !!
          @ ^ [Y0: term > $o] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( !!
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !!
                    @ ^ [Y1: term] :
                        ( ( !!
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !!
                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl113]) ).

thf(zip_derived_cl126,plain,
    ~ ( ( !!
        @ ^ [Y0: term > $o] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y1: term] :
                    ( ( !!
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: subst] :
                        ( ( !!
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                       => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) )
     => ( !!
        @ ^ [Y0: term > $o] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !!
                @ ^ [Y1: term] :
                    ( !!
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !!
                  @ ^ [Y1: term] :
                      ( ( !!
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !!
                  @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl122]) ).

thf(zip_derived_cl130,plain,
    ~ ( !!
      @ ^ [Y0: term > $o] :
          ( ( !!
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !!
              @ ^ [Y1: term] :
                  ( !!
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !!
                @ ^ [Y1: term] :
                    ( ( !!
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !!
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl126]) ).

thf(zip_derived_cl138,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( '#sk53' @ Y0 ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y0 )
                 => ( ( '#sk53' @ Y1 )
                   => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y0: term] :
                ( ( !!
                  @ ^ [Y1: term] :
                      ( ( '#sk53' @ Y1 )
                     => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
               => ( '#sk53' @ ( lam @ Y0 ) ) ) )
         => ( !!
            @ ^ [Y0: term] : ( '#sk53' @ Y0 ) ) ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl130]) ).

thf(zip_derived_cl144,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( '#sk53' @ Y0 )
               => ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( '#sk53' @ Y1 )
                   => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
             => ( '#sk53' @ ( lam @ Y0 ) ) ) )
       => ( !!
          @ ^ [Y0: term] : ( '#sk53' @ Y0 ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl138]) ).

thf(zip_derived_cl153,plain,
    ~ ( ( !!
        @ ^ [Y0: term] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
           => ( '#sk53' @ ( lam @ Y0 ) ) ) )
     => ( !!
        @ ^ [Y0: term] : ( '#sk53' @ Y0 ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl144]) ).

thf(zip_derived_cl164,plain,
    ~ ( !!
      @ ^ [Y0: term] : ( '#sk53' @ Y0 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl153]) ).

thf(zip_derived_cl176,plain,
    ~ ( '#sk53' @ '#sk186' ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl164]) ).

thf(zip_derived_cl143,plain,
    ( !!
    @ ^ [Y0: term] :
        ( ( var @ Y0 )
       => ( '#sk53' @ Y0 ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl138]) ).

thf(zip_derived_cl151,plain,
    ! [X2: term] :
      ( ( var @ X2 )
     => ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl143]) ).

thf(zip_derived_cl159,plain,
    ! [X2: term] :
      ( ~ ( var @ X2 )
      | ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl151]) ).

thf(zip_derived_cl8,plain,
    ( !!
    @ ^ [Y0: term] :
        ( ( sub @ Y0 @ id )
        = Y0 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl5]) ).

thf(zip_derived_cl12,plain,
    ! [X2: term] :
      ( ( sub @ X2 @ id )
      = X2 ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl8]) ).

thf(zip_derived_cl17,plain,
    ! [X2: term] :
      ( ( sub @ X2 @ id )
      = X2 ),
    inference('simplify nested equalities',[status(thm)],[zip_derived_cl12]) ).

thf(zip_derived_cl129,plain,
    ( !!
    @ ^ [Y0: term > $o] :
        ( ( !!
          @ ^ [Y1: term] :
              ( !!
              @ ^ [Y2: term] :
                  ( ( Y0 @ Y1 )
                 => ( ( Y0 @ Y2 )
                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
       => ( ( !!
            @ ^ [Y1: term] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
               => ( Y0 @ ( lam @ Y1 ) ) ) )
         => ( !!
            @ ^ [Y1: term] :
                ( !!
                @ ^ [Y2: subst] :
                    ( ( !!
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
                   => ( Y0 @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl126]) ).

thf(zip_derived_cl133,plain,
    ! [X2: term > $o] :
      ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( X2 @ Y0 )
               => ( ( X2 @ Y1 )
                 => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( X2 @ Y1 )
                   => ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
             => ( X2 @ ( lam @ Y0 ) ) ) )
       => ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( !!
                    @ ^ [Y2: term] :
                        ( ( var @ Y2 )
                       => ( X2 @ ( sub @ Y2 @ Y1 ) ) ) )
                 => ( X2 @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl129]) ).

thf(zip_derived_cl134,plain,
    ( ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: term] :
              ( ( '#sk53' @ Y0 )
             => ( ( '#sk53' @ Y1 )
               => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
   => ( ( !!
        @ ^ [Y0: term] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
           => ( '#sk53' @ ( lam @ Y0 ) ) ) )
     => ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
               => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(triggered_bool_instantiation,[status(thm)],[zip_derived_cl133]) ).

thf(zip_derived_cl274,plain,
    ( ~ ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( '#sk53' @ Y0 )
               => ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
    | ( ( !!
        @ ^ [Y0: term] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
           => ( '#sk53' @ ( lam @ Y0 ) ) ) )
     => ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
               => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl134]) ).

thf(zip_derived_cl152,plain,
    ( !!
    @ ^ [Y0: term] :
        ( !!
        @ ^ [Y1: term] :
            ( ( '#sk53' @ Y0 )
           => ( ( '#sk53' @ Y1 )
             => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl144]) ).

thf(zip_derived_cl160,plain,
    ! [X2: term > $o] :
      ( ~ ( '#form109' @ X2 )
      | ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( X2 @ Y0 )
               => ( ( X2 @ Y1 )
                 => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl133_001,plain,
    ! [X2: term > $o] :
      ( ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( X2 @ Y0 )
               => ( ( X2 @ Y1 )
                 => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
     => ( ( !!
          @ ^ [Y0: term] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( X2 @ Y1 )
                   => ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
             => ( X2 @ ( lam @ Y0 ) ) ) )
       => ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( !!
                    @ ^ [Y2: term] :
                        ( ( var @ Y2 )
                       => ( X2 @ ( sub @ Y2 @ Y1 ) ) ) )
                 => ( X2 @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl129]) ).

thf(zip_derived_cl142,plain,
    ! [X2: term > $o] :
      ( ~ ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( X2 @ Y0 )
                 => ( ( X2 @ Y1 )
                   => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) )
      | ( ( !!
          @ ^ [Y0: term] :
              ( ( !!
                @ ^ [Y1: term] :
                    ( ( X2 @ Y1 )
                   => ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
             => ( X2 @ ( lam @ Y0 ) ) ) )
       => ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: subst] :
                  ( ( !!
                    @ ^ [Y2: term] :
                        ( ( var @ Y2 )
                       => ( X2 @ ( sub @ Y2 @ Y1 ) ) ) )
                 => ( X2 @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl133]) ).

thf(zip_derived_cl148,plain,
    ! [X2: term > $o] :
      ( ( '#form109' @ X2 )
      | ~ ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( X2 @ Y0 )
                 => ( ( X2 @ Y1 )
                   => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl275,plain,
    ( ~ ( '#form109' @ '#sk53' )
    | ( ( !!
        @ ^ [Y0: term] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
           => ( '#sk53' @ ( lam @ Y0 ) ) ) )
     => ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
               => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ) ),
    inference(renaming,[status(thm)],[zip_derived_cl274,zip_derived_cl160,zip_derived_cl148]) ).

thf(zip_derived_cl152_002,plain,
    ( !!
    @ ^ [Y0: term] :
        ( !!
        @ ^ [Y1: term] :
            ( ( '#sk53' @ Y0 )
           => ( ( '#sk53' @ Y1 )
             => ( '#sk53' @ ( ap @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl144]) ).

thf(zip_derived_cl160_003,plain,
    ! [X2: term > $o] :
      ( ~ ( '#form109' @ X2 )
      | ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: term] :
                ( ( X2 @ Y0 )
               => ( ( X2 @ Y1 )
                 => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl148_004,plain,
    ! [X2: term > $o] :
      ( ( '#form109' @ X2 )
      | ~ ( !!
          @ ^ [Y0: term] :
              ( !!
              @ ^ [Y1: term] :
                  ( ( X2 @ Y0 )
                 => ( ( X2 @ Y1 )
                   => ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl162,plain,
    '#form109' @ '#sk53',
    inference(renaming,[status(thm)],[zip_derived_cl152,zip_derived_cl160,zip_derived_cl148]) ).

thf(zip_derived_cl276,plain,
    ( ( !!
      @ ^ [Y0: term] :
          ( ( !!
            @ ^ [Y1: term] :
                ( ( '#sk53' @ Y1 )
               => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
         => ( '#sk53' @ ( lam @ Y0 ) ) ) )
   => ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(demod,[status(thm)],[zip_derived_cl275,zip_derived_cl162]) ).

thf(zip_derived_cl277,plain,
    ( ~ ( !!
        @ ^ [Y0: term] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( '#sk53' @ Y1 )
                 => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
           => ( '#sk53' @ ( lam @ Y0 ) ) ) )
    | ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl276]) ).

thf(zip_derived_cl278,plain,
    ( ~ ( ( !!
          @ ^ [Y0: term] :
              ( ( '#sk53' @ Y0 )
             => ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ Y0 @ id ) ) ) ) )
       => ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) )
    | ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl277]) ).

thf(zip_derived_cl280,plain,
    ( ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) )
    | ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl278]) ).

thf(zip_derived_cl282,plain,
    ! [X2: term] :
      ( ( !!
        @ ^ [Y0: subst] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( '#sk53' @ ( sub @ Y1 @ Y0 ) ) ) )
           => ( '#sk53' @ ( sub @ X2 @ Y0 ) ) ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl280]) ).

thf(zip_derived_cl284,plain,
    ! [X2: term,X4: subst] :
      ( ( ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
       => ( '#sk53' @ ( sub @ X2 @ X4 ) ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl282]) ).

thf(zip_derived_cl286,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl284]) ).

thf(zip_derived_cl288,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( ( var
            @ ( '#sk46'
              @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
         => ( '#sk53'
            @ ( sub
              @ ( '#sk46'
                @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) )
              @ X4 ) ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl286]) ).

thf(zip_derived_cl291,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( '#sk53'
          @ ( sub
            @ ( '#sk46'
              @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) )
            @ X4 ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl288]) ).

thf(zip_derived_cl125,plain,
    ( !!
    @ ^ [Y0: term > $o] :
        ( !!
        @ ^ [Y1: term] :
            ( !!
            @ ^ [Y2: subst] :
                ( ( !!
                  @ ^ [Y3: term] :
                      ( ( var @ Y3 )
                     => ( Y0 @ ( sub @ Y3 @ Y2 ) ) ) )
               => ( ( Y0 @ Y1 )
                 => ( !!
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y1 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl122]) ).

thf(zip_derived_cl128,plain,
    ! [X2: term > $o] :
      ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( X2 @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( ( X2 @ Y0 )
               => ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( X2 @ ( sub @ Y2 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl125]) ).

thf(zip_derived_cl135,plain,
    ( !!
    @ ^ [Y0: term] :
        ( !!
        @ ^ [Y1: subst] :
            ( ( !!
              @ ^ [Y2: term] :
                  ( ( var @ Y2 )
                 => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
           => ( ( '#sk53' @ Y0 )
             => ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ ( push @ Y0 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(triggered_bool_instantiation,[status(thm)],[zip_derived_cl128]) ).

thf(zip_derived_cl238,plain,
    ! [X2: term] :
      ( !!
      @ ^ [Y0: subst] :
          ( ( !!
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( '#sk53' @ ( sub @ Y1 @ Y0 ) ) ) )
         => ( ( '#sk53' @ X2 )
           => ( !!
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( '#sk53' @ ( sub @ Y1 @ ( push @ X2 @ Y0 ) ) ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl135]) ).

thf(zip_derived_cl239,plain,
    ! [X2: term,X4: subst] :
      ( ( !!
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
     => ( ( '#sk53' @ X2 )
       => ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ ( push @ X2 @ X4 ) ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl238]) ).

thf(zip_derived_cl240,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
      | ( ( '#sk53' @ X2 )
       => ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ ( push @ X2 @ X4 ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl239]) ).

thf(zip_derived_cl241,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( ( var
            @ ( '#sk46'
              @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
         => ( '#sk53'
            @ ( sub
              @ ( '#sk46'
                @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) )
              @ X4 ) ) )
      | ( ( '#sk53' @ X2 )
       => ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ ( push @ X2 @ X4 ) ) ) ) ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl240]) ).

thf(zip_derived_cl242,plain,
    ! [X2: term,X4: subst] :
      ( ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
      | ( ( '#sk53' @ X2 )
       => ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ ( push @ X2 @ X4 ) ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl241]) ).

thf(zip_derived_cl244,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( '#sk53' @ X2 )
      | ( !!
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( '#sk53' @ ( sub @ Y0 @ ( push @ X2 @ X4 ) ) ) ) )
      | ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl242]) ).

thf(zip_derived_cl246,plain,
    ! [X2: term,X4: subst,X6: term] :
      ( ( ( var @ X6 )
       => ( '#sk53' @ ( sub @ X6 @ ( push @ X2 @ X4 ) ) ) )
      | ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl244]) ).

thf(zip_derived_cl248,plain,
    ! [X2: term,X4: subst,X6: term] :
      ( ~ ( var @ X6 )
      | ( '#sk53' @ ( sub @ X6 @ ( push @ X2 @ X4 ) ) )
      | ~ ( '#sk53' @ X2 )
      | ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl246]) ).

thf(zip_derived_cl12183,plain,
    ! [X4: subst,X7: term] :
      ( ( '#l_lift7153' @ X4 @ X7 )
      = ( '#sk53' @ ( sub @ X7 @ X4 ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl12187,plain,
    ! [X2: term,X4: subst] :
      ( ~ ( '#sk53' @ ( sub @ ( '#sk46' @ ( '#l_lift7153' @ X4 ) ) @ X4 ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lambda_lifting,[status(thm)],[zip_derived_cl291,zip_derived_cl12183]) ).

thf(zip_derived_cl290,plain,
    ! [X2: term,X4: subst] :
      ( ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X4 ) ) ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl288]) ).

thf(zip_derived_cl12183_005,plain,
    ! [X4: subst,X7: term] :
      ( ( '#l_lift7153' @ X4 @ X7 )
      = ( '#sk53' @ ( sub @ X7 @ X4 ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl12186,plain,
    ! [X2: term,X4: subst] :
      ( ( var @ ( '#sk46' @ ( '#l_lift7153' @ X4 ) ) )
      | ( '#sk53' @ ( sub @ X2 @ X4 ) )
      | ~ ( '#sk53' @ ( lam @ ( '#sk177' @ '#sk53' ) ) ) ),
    inference(lambda_lifting,[status(thm)],[zip_derived_cl290,zip_derived_cl12183]) ).

thf(zip_derived_cl163,plain,
    ( !!
    @ ^ [Y0: term] :
        ( ( !!
          @ ^ [Y1: term] :
              ( ( '#sk53' @ Y1 )
             => ( '#sk53' @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
       => ( '#sk53' @ ( lam @ Y0 ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl153]) ).

thf(zip_derived_cl175,plain,
    ! [X2: term] :
      ( ( !!
        @ ^ [Y0: term] :
            ( ( '#sk53' @ Y0 )
           => ( '#sk53' @ ( sub @ X2 @ ( push @ Y0 @ id ) ) ) ) )
     => ( '#sk53' @ ( lam @ X2 ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl163]) ).

thf(zip_derived_cl186,plain,
    ! [X2: term] :
      ( ~ ( !!
          @ ^ [Y0: term] :
              ( ( '#sk53' @ Y0 )
             => ( '#sk53' @ ( sub @ X2 @ ( push @ Y0 @ id ) ) ) ) )
      | ( '#sk53' @ ( lam @ X2 ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl175]) ).

thf(zip_derived_cl196,plain,
    ! [X2: term] :
      ( ~ ( ( '#sk53' @ ( '#sk252' @ X2 ) )
         => ( '#sk53' @ ( sub @ X2 @ ( push @ ( '#sk252' @ X2 ) @ id ) ) ) )
      | ( '#sk53' @ ( lam @ X2 ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl186]) ).

thf(zip_derived_cl205,plain,
    ! [X2: term] :
      ( ( '#sk53' @ ( '#sk252' @ X2 ) )
      | ( '#sk53' @ ( lam @ X2 ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl196]) ).

thf(zip_derived_cl206,plain,
    ! [X2: term] :
      ( ~ ( '#sk53' @ ( sub @ X2 @ ( push @ ( '#sk252' @ X2 ) @ id ) ) )
      | ( '#sk53' @ ( lam @ X2 ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl196]) ).

thf(zip_derived_cl279,plain,
    ( ( !!
      @ ^ [Y0: term] :
          ( ( '#sk53' @ Y0 )
         => ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ Y0 @ id ) ) ) ) )
    | ( !!
      @ ^ [Y0: term] :
          ( !!
          @ ^ [Y1: subst] :
              ( ( !!
                @ ^ [Y2: term] :
                    ( ( var @ Y2 )
                   => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
             => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl278]) ).

thf(zip_derived_cl281,plain,
    ! [X2: term] :
      ( ( ( '#sk53' @ X2 )
       => ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) ) )
      | ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
               => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl279]) ).

thf(zip_derived_cl283,plain,
    ! [X2: term] :
      ( ~ ( '#sk53' @ X2 )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ( !!
        @ ^ [Y0: term] :
            ( !!
            @ ^ [Y1: subst] :
                ( ( !!
                  @ ^ [Y2: term] :
                      ( ( var @ Y2 )
                     => ( '#sk53' @ ( sub @ Y2 @ Y1 ) ) ) )
               => ( '#sk53' @ ( sub @ Y0 @ Y1 ) ) ) ) ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl281]) ).

thf(zip_derived_cl285,plain,
    ! [X2: term,X4: term] :
      ( ( !!
        @ ^ [Y0: subst] :
            ( ( !!
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( '#sk53' @ ( sub @ Y1 @ Y0 ) ) ) )
           => ( '#sk53' @ ( sub @ X4 @ Y0 ) ) ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl283]) ).

thf(zip_derived_cl287,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ( ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ X6 ) ) ) )
       => ( '#sk53' @ ( sub @ X4 @ X6 ) ) )
      | ~ ( '#sk53' @ X2 )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) ) ),
    inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl285]) ).

thf(zip_derived_cl289,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ~ ( !!
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( '#sk53' @ ( sub @ Y0 @ X6 ) ) ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl287]) ).

thf(zip_derived_cl292,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ~ ( ( var
            @ ( '#sk46'
              @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X6 ) ) ) )
         => ( '#sk53'
            @ ( sub
              @ ( '#sk46'
                @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X6 ) ) )
              @ X6 ) ) )
      | ~ ( '#sk53' @ X2 )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) ) ),
    inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl289]) ).

thf(zip_derived_cl294,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ~ ( '#sk53'
          @ ( sub
            @ ( '#sk46'
              @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X6 ) ) )
            @ X6 ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl292]) ).

thf(zip_derived_cl12183_006,plain,
    ! [X4: subst,X7: term] :
      ( ( '#l_lift7153' @ X4 @ X7 )
      = ( '#sk53' @ ( sub @ X7 @ X4 ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl12189,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ~ ( '#sk53' @ ( sub @ ( '#sk46' @ ( '#l_lift7153' @ X6 ) ) @ X6 ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lambda_lifting,[status(thm)],[zip_derived_cl294,zip_derived_cl12183]) ).

thf(zip_derived_cl293,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ( var
        @ ( '#sk46'
          @ ^ [Y0: term] : ( '#sk53' @ ( sub @ Y0 @ X6 ) ) ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl292]) ).

thf(zip_derived_cl12183_007,plain,
    ! [X4: subst,X7: term] :
      ( ( '#l_lift7153' @ X4 @ X7 )
      = ( '#sk53' @ ( sub @ X7 @ X4 ) ) ),
    define([status(thm)]) ).

thf(zip_derived_cl12188,plain,
    ! [X2: term,X4: term,X6: subst] :
      ( ( var @ ( '#sk46' @ ( '#l_lift7153' @ X6 ) ) )
      | ( '#sk53' @ ( sub @ X4 @ X6 ) )
      | ( '#sk53' @ ( sub @ ( '#sk177' @ '#sk53' ) @ ( push @ X2 @ id ) ) )
      | ~ ( '#sk53' @ X2 ) ),
    inference(lambda_lifting,[status(thm)],[zip_derived_cl293,zip_derived_cl12183]) ).

thf(zip_derived_cl12192,plain,
    $false,
    inference(eprover,[status(thm)],[zip_derived_cl176,zip_derived_cl159,zip_derived_cl17,zip_derived_cl12187,zip_derived_cl12186,zip_derived_cl205,zip_derived_cl206,zip_derived_cl12189,zip_derived_cl12188]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.18  % Problem  : ALG253^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% 0.03/0.19  % Command  : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.JLTA9zdnIl true
% 0.09/0.40  % Computer : n025.cluster.edu
% 0.09/0.40  % Model    : x86_64 x86_64
% 0.09/0.40  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.40  % Memory   : 8042.1875MB
% 0.09/0.40  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.09/0.40  % CPULimit : 300
% 0.09/0.40  % WCLimit  : 300
% 0.09/0.40  % DateTime : Mon Aug 28 03:40:24 EDT 2023
% 0.14/0.40  % CPUTime  : 
% 0.14/0.40  % Running portfolio for 300 s
% 0.14/0.40  % File         : /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.14/0.40  % Number of cores: 8
% 0.14/0.40  % Python version: Python 3.6.8
% 0.14/0.41  % Running in HO mode
% 0.14/0.67  % Total configuration time : 828
% 0.14/0.67  % Estimated wc time : 1656
% 0.14/0.67  % Estimated cpu time (8 cpus) : 207.0
% 0.14/0.74  % /export/starexec/sandbox2/solver/bin/lams/40_c.s.sh running for 80s
% 0.14/0.83  % /export/starexec/sandbox2/solver/bin/lams/35_full_unif4.sh running for 80s
% 0.92/0.93  % /export/starexec/sandbox2/solver/bin/lams/40_c_ic.sh running for 80s
% 0.92/0.96  % /export/starexec/sandbox2/solver/bin/lams/15_e_short1.sh running for 30s
% 0.92/0.99  % /export/starexec/sandbox2/solver/bin/lams/40_noforms.sh running for 90s
% 0.92/0.99  % /export/starexec/sandbox2/solver/bin/lams/40_b.comb.sh running for 70s
% 0.93/1.01  % /export/starexec/sandbox2/solver/bin/lams/20_acsne_simpl.sh running for 40s
% 0.93/1.02  % /export/starexec/sandbox2/solver/bin/lams/30_sp5.sh running for 60s
% 0.94/1.15  % /export/starexec/sandbox2/solver/bin/lams/30_b.l.sh running for 90s
% 27.72/7.52  % Solved by lams/20_acsne_simpl.sh.
% 27.72/7.52  % done 709 iterations in 6.210s
% 27.72/7.52  % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p'
% 27.72/7.52  % SZS output start Refutation
% See solution above
% 27.72/7.53  
% 27.72/7.53  
% 27.72/7.53  % Terminating...
% 27.72/7.66  % Runner terminated.
% 28.49/7.67  % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------