TSTP Solution File: ALG269^1 by Zipperpin---2.1.9999
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Zipperpin---2.1.9999
% Problem : ALG269^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% Transfm : NO INFORMATION
% Format : NO INFORMATION
% Command : python3 /export/starexec/sandbox/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox/tmp/tmp.HR7YgmDJtZ true
% Computer : n019.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:38 EDT 2023
% Result : Theorem 55.36s 7.78s
% Output : Refutation 55.36s
% Verified :
% SZS Type : Refutation
% Derivation depth : 61
% Number of leaves : 182
% Syntax : Number of formulae : 400 ( 113 unt; 81 typ; 0 def)
% Number of atoms : 7539 (1093 equ; 110 cnn)
% Maximal formula atoms : 227 ( 23 avg)
% Number of connectives : 36255 ( 454 ~; 298 |; 94 &;25961 @)
% ( 0 <=>;4257 =>; 0 <=; 0 <~>)
% Maximal formula depth : 57 ( 13 avg)
% Number of types : 3 ( 2 usr)
% Number of type conns : 1552 (1552 >; 0 *; 0 +; 0 <<)
% Number of symbols : 83 ( 79 usr; 47 con; 0-4 aty)
% (5191 !!; 0 ??; 0 @@+; 0 @@-)
% Number of variables : 6131 (5249 ^; 882 !; 0 ?;6131 :)
% Comments :
%------------------------------------------------------------------------------
thf(subst_type,type,
subst: $tType ).
thf(term_type,type,
term: $tType ).
thf(axmap_type,type,
axmap: $o ).
thf('#sk3356_type',type,
'#sk3356': ( subst > term > subst > $o ) > term ).
thf(axclos_type,type,
axclos: $o ).
thf(lam_type,type,
lam: term > term ).
thf(lamnotap_type,type,
lamnotap: $o ).
thf('#form3615_type',type,
'#form3615': ( subst > term > subst > $o ) > $o ).
thf('#sk839_type',type,
'#sk839': ( subst > term > subst > $o ) > term ).
thf('#sk967_type',type,
'#sk967': ( subst > term > subst > $o ) > subst ).
thf(axvarcons_type,type,
axvarcons: $o ).
thf(substmonoid_type,type,
substmonoid: $o ).
thf('#sk3410_type',type,
'#sk3410': ( subst > term > subst > $o ) > subst > term > term ).
thf(push_type,type,
push: term > subst > subst ).
thf(axshiftcons_type,type,
axshiftcons: $o ).
thf('#sk2144_type',type,
'#sk2144': ( subst > term > subst > $o ) > subst ).
thf(hoasapinj1_type,type,
hoasapinj1: $o ).
thf('#form5466_type',type,
'#form5466': $o ).
thf(axapp_type,type,
axapp: $o ).
thf(shinj_type,type,
shinj: $o ).
thf(hoasap_type,type,
hoasap: subst > term > subst > term > term ).
thf('#form2417_type',type,
'#form2417': ( subst > term > subst > $o ) > $o ).
thf(hoasinduction_gthm_type,type,
hoasinduction_gthm: $o ).
thf('#sk3223_type',type,
'#sk3223': ( subst > term > subst > $o ) > term ).
thf(hoaslaminj_type,type,
hoaslaminj: $o ).
thf('#sk109_type',type,
'#sk109': ( term > $o ) > term ).
thf('#sk46_type',type,
'#sk46': ( term > $o ) > term ).
thf(one_type,type,
one: term ).
thf(id_type,type,
id: subst ).
thf(comp_type,type,
comp: subst > subst > subst ).
thf(hoaslamnotap_type,type,
hoaslamnotap: $o ).
thf('#sk1944_type',type,
'#sk1944': ( subst > term > subst > $o ) > subst ).
thf(induction2_type,type,
induction2: $o ).
thf(axvarid_type,type,
axvarid: $o ).
thf('#sk733_type',type,
'#sk733': subst > term > subst > $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('#sk4068_type',type,
'#sk4068': ( subst > term > subst > $o ) > term > term ).
thf(ulamvarind_type,type,
ulamvarind: $o ).
thf('#sk1077_type',type,
'#sk1077': ( subst > term > subst > $o ) > subst ).
thf(apinj2_type,type,
apinj2: $o ).
thf(ulamvarsh_type,type,
ulamvarsh: $o ).
thf('#l_lift30324_type',type,
'#l_lift30324': term > $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('#sk1760_type',type,
'#sk1760': ( subst > term > subst > $o ) > term ).
thf(apinj1_type,type,
apinj1: $o ).
thf('#sk467_type',type,
'#sk467': ( subst > term > term ) > term ).
thf('#sk708_type',type,
'#sk708': ( subst > term > subst > $o ) > subst ).
thf(axidl_type,type,
axidl: $o ).
thf(hoasinduction_type,type,
hoasinduction: $o ).
thf(ap_type,type,
ap: term > term > term ).
thf(termmset_type,type,
termmset: $o ).
thf('#sk516_type',type,
'#sk516': ( subst > term > term ) > subst ).
thf(hoasapinj2_type,type,
hoasapinj2: $o ).
thf('#sk430_type',type,
'#sk430': ( subst > term > term ) > subst ).
thf(hoasinduction_lem1_type,type,
hoasinduction_lem1: $o ).
thf(hoasapnotvar_type,type,
hoasapnotvar: $o ).
thf(var_type,type,
var: term > $o ).
thf(axassoc_type,type,
axassoc: $o ).
thf(hoaslamnotvar_type,type,
hoaslamnotvar: $o ).
thf(hoaslam_type,type,
hoaslam: subst > ( subst > term > term ) > term ).
thf(hoasinduction_lem3_type,type,
hoasinduction_lem3: $o ).
thf(hoasinduction_lem2_type,type,
hoasinduction_lem2: $o ).
thf(axidr_type,type,
axidr: $o ).
thf('#sk1677_type',type,
'#sk1677': term ).
thf('#form2686_type',type,
'#form2686': ( subst > term > subst > $o ) > $o ).
thf('#sk196_type',type,
'#sk196': ( term > $o ) > term ).
thf(axabs_type,type,
axabs: $o ).
thf(hoasvar_type,type,
hoasvar: subst > term > subst > $o ).
thf('#sk1549_type',type,
'#sk1549': ( subst > term > subst > $o ) > subst ).
thf(ulamvar1_type,type,
ulamvar1: $o ).
thf(induction_type,type,
induction: $o ).
thf(axscons_type,type,
axscons: $o ).
thf('#form108_type',type,
'#form108': ( term > $o ) > $o ).
thf('#sk3185_type',type,
'#sk3185': ( subst > term > term ) > term ).
thf('#sk153_type',type,
'#sk153': ( term > $o ) > term ).
thf(hoasinduction_gthm,axiom,
( hoasinduction_gthm
= ( axapp
=> ( axvarcons
=> ( axvarid
=> ( axabs
=> ( axclos
=> ( axidl
=> ( axshiftcons
=> ( axassoc
=> ( axmap
=> ( axidr
=> ( axvarshift
=> ( axscons
=> ( ulamvar1
=> ( ulamvarsh
=> ( ulamvarind
=> ( apinj1
=> ( apinj2
=> ( laminj
=> ( shinj
=> ( lamnotap
=> ( apnotvar
=> ( lamnotvar
=> ( induction
=> ( pushprop
=> ( induction2lem
=> ( induction2
=> ( substmonoid
=> ( termmset
=> ( hoasapinj1
=> ( hoasapinj2
=> ( hoaslaminj
=> ( hoaslamnotap
=> ( hoaslamnotvar
=> ( hoasapnotvar
=> ( hoasinduction_lem1
=> ( hoasinduction_lem2
=> ( hoasinduction_lem3
=> hoasinduction ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
thf('0',plain,
( hoasinduction_gthm
= ( axapp
=> ( axvarcons
=> ( axvarid
=> ( axabs
=> ( axclos
=> ( axidl
=> ( axshiftcons
=> ( axassoc
=> ( axmap
=> ( axidr
=> ( axvarshift
=> ( axscons
=> ( ulamvar1
=> ( ulamvarsh
=> ( ulamvarind
=> ( apinj1
=> ( apinj2
=> ( laminj
=> ( shinj
=> ( lamnotap
=> ( apnotvar
=> ( lamnotvar
=> ( induction
=> ( pushprop
=> ( induction2lem
=> ( induction2
=> ( substmonoid
=> ( termmset
=> ( hoasapinj1
=> ( hoasapinj2
=> ( hoaslaminj
=> ( hoaslamnotap
=> ( hoaslamnotvar
=> ( hoasapnotvar
=> ( hoasinduction_lem1
=> ( hoasinduction_lem2
=> ( hoasinduction_lem3
=> hoasinduction ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasinduction,axiom,
( hoasinduction
= ( ! [P: subst > term > subst > $o] :
( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ M @ A @ ( comp @ K @ N ) )
=> ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) )
=> ( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N )
=> ( P @ M @ A @ ( comp @ K @ N ) ) )
=> ( ! [A: term] :
( ( hoasvar @ id @ A @ id )
=> ( P @ id @ A @ id ) )
=> ( ! [A: term,B: term] :
( ( P @ id @ A @ id )
=> ( ( P @ id @ B @ id )
=> ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) )
=> ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ( ! [A: term] :
( ( P @ id @ A @ id )
=> ( P @ id @ ( F @ id @ A ) @ id ) )
=> ( P @ id
@ ( hoaslam @ id
@ ^ [M: subst,A: term] : ( F @ M @ A ) )
@ id ) ) )
=> ! [A: term] : ( P @ id @ A @ id ) ) ) ) ) ) ) ) ).
thf('1',plain,
( hoasinduction
= ( ! [X4: subst > term > subst > $o] :
( ! [X6: subst,X8: term,X10: subst,X12: subst] :
( ( X4 @ X6 @ X8 @ ( comp @ X12 @ X10 ) )
=> ( X4 @ ( comp @ X6 @ X12 ) @ ( sub @ X8 @ X12 ) @ X10 ) )
=> ( ! [X14: subst,X16: term,X18: subst,X20: subst] :
( ( X4 @ ( comp @ X14 @ X20 ) @ ( sub @ X16 @ X20 ) @ X18 )
=> ( X4 @ X14 @ X16 @ ( comp @ X20 @ X18 ) ) )
=> ( ! [X22: term] :
( ( hoasvar @ id @ X22 @ id )
=> ( X4 @ id @ X22 @ id ) )
=> ( ! [X24: term,X26: term] :
( ( X4 @ id @ X24 @ id )
=> ( ( X4 @ id @ X26 @ id )
=> ( X4 @ id @ ( hoasap @ id @ X24 @ id @ X26 ) @ id ) ) )
=> ( ! [X28: subst > term > term] :
( ! [X30: subst,X32: term,X34: subst] :
( ( sub @ ( X28 @ X30 @ X32 ) @ X34 )
= ( X28 @ ( comp @ X30 @ X34 ) @ ( sub @ X32 @ X34 ) ) )
=> ( ! [X36: term] :
( ( X4 @ id @ X36 @ id )
=> ( X4 @ id @ ( X28 @ id @ X36 ) @ id ) )
=> ( X4 @ id
@ ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X28 @ V_1 @ V_2 ) )
@ id ) ) )
=> ! [X38: term] : ( X4 @ id @ X38 @ id ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasinduction_lem3,axiom,
( hoasinduction_lem3
= ( ! [P: subst > term > subst > $o] :
( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ M @ A @ ( comp @ K @ N ) )
=> ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) )
=> ( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N )
=> ( P @ M @ A @ ( comp @ K @ N ) ) )
=> ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ( ! [A: term] :
( ( P @ id @ A @ id )
=> ( P @ id @ ( F @ id @ A ) @ id ) )
=> ( P @ id
@ ( hoaslam @ id
@ ^ [M: subst,A: term] : ( F @ M @ A ) )
@ id ) ) )
=> ! [A: term] :
( ! [B: term] :
( ( P @ id @ B @ id )
=> ( P @ id @ ( sub @ A @ ( push @ B @ id ) ) @ id ) )
=> ( P @ id @ ( lam @ A ) @ id ) ) ) ) ) ) ) ).
thf('2',plain,
( hoasinduction_lem3
= ( ! [X4: subst > term > subst > $o] :
( ! [X6: subst,X8: term,X10: subst,X12: subst] :
( ( X4 @ X6 @ X8 @ ( comp @ X12 @ X10 ) )
=> ( X4 @ ( comp @ X6 @ X12 ) @ ( sub @ X8 @ X12 ) @ X10 ) )
=> ( ! [X14: subst,X16: term,X18: subst,X20: subst] :
( ( X4 @ ( comp @ X14 @ X20 ) @ ( sub @ X16 @ X20 ) @ X18 )
=> ( X4 @ X14 @ X16 @ ( comp @ X20 @ X18 ) ) )
=> ( ! [X22: subst > term > term] :
( ! [X24: subst,X26: term,X28: subst] :
( ( sub @ ( X22 @ X24 @ X26 ) @ X28 )
= ( X22 @ ( comp @ X24 @ X28 ) @ ( sub @ X26 @ X28 ) ) )
=> ( ! [X30: term] :
( ( X4 @ id @ X30 @ id )
=> ( X4 @ id @ ( X22 @ id @ X30 ) @ id ) )
=> ( X4 @ id
@ ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X22 @ V_1 @ V_2 ) )
@ id ) ) )
=> ! [X32: term] :
( ! [X34: term] :
( ( X4 @ id @ X34 @ id )
=> ( X4 @ id @ ( sub @ X32 @ ( push @ X34 @ id ) ) @ id ) )
=> ( X4 @ id @ ( lam @ X32 ) @ id ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasinduction_lem2,axiom,
( hoasinduction_lem2
= ( ! [P: subst > term > subst > $o] :
( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ M @ A @ ( comp @ K @ N ) )
=> ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) )
=> ( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N )
=> ( P @ M @ A @ ( comp @ K @ N ) ) )
=> ( ! [A: term,B: term] :
( ( P @ id @ A @ id )
=> ( ( P @ id @ B @ id )
=> ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) )
=> ! [A: term,B: term] :
( ( P @ id @ A @ id )
=> ( ( P @ id @ B @ id )
=> ( P @ id @ ( ap @ A @ B ) @ id ) ) ) ) ) ) ) ) ).
thf('3',plain,
( hoasinduction_lem2
= ( ! [X4: subst > term > subst > $o] :
( ! [X6: subst,X8: term,X10: subst,X12: subst] :
( ( X4 @ X6 @ X8 @ ( comp @ X12 @ X10 ) )
=> ( X4 @ ( comp @ X6 @ X12 ) @ ( sub @ X8 @ X12 ) @ X10 ) )
=> ( ! [X14: subst,X16: term,X18: subst,X20: subst] :
( ( X4 @ ( comp @ X14 @ X20 ) @ ( sub @ X16 @ X20 ) @ X18 )
=> ( X4 @ X14 @ X16 @ ( comp @ X20 @ X18 ) ) )
=> ( ! [X22: term,X24: term] :
( ( X4 @ id @ X22 @ id )
=> ( ( X4 @ id @ X24 @ id )
=> ( X4 @ id @ ( hoasap @ id @ X22 @ id @ X24 ) @ id ) ) )
=> ! [X26: term,X28: term] :
( ( X4 @ id @ X26 @ id )
=> ( ( X4 @ id @ X28 @ id )
=> ( X4 @ id @ ( ap @ X26 @ X28 ) @ id ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasinduction_lem1,axiom,
( hoasinduction_lem1
= ( ! [P: subst > term > subst > $o] :
( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ M @ A @ ( comp @ K @ N ) )
=> ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) )
=> ( ! [M: subst,A: term,N: subst,K: subst] :
( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N )
=> ( P @ M @ A @ ( comp @ K @ N ) ) )
=> ( ! [A: term] :
( ( hoasvar @ id @ A @ id )
=> ( P @ id @ A @ id ) )
=> ! [A: term] :
( ( var @ A )
=> ( P @ id @ A @ id ) ) ) ) ) ) ) ).
thf('4',plain,
( hoasinduction_lem1
= ( ! [X4: subst > term > subst > $o] :
( ! [X6: subst,X8: term,X10: subst,X12: subst] :
( ( X4 @ X6 @ X8 @ ( comp @ X12 @ X10 ) )
=> ( X4 @ ( comp @ X6 @ X12 ) @ ( sub @ X8 @ X12 ) @ X10 ) )
=> ( ! [X14: subst,X16: term,X18: subst,X20: subst] :
( ( X4 @ ( comp @ X14 @ X20 ) @ ( sub @ X16 @ X20 ) @ X18 )
=> ( X4 @ X14 @ X16 @ ( comp @ X20 @ X18 ) ) )
=> ( ! [X22: term] :
( ( hoasvar @ id @ X22 @ id )
=> ( X4 @ id @ X22 @ id ) )
=> ! [X24: term] :
( ( var @ X24 )
=> ( X4 @ id @ X24 @ id ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasapnotvar,axiom,
( hoasapnotvar
= ( ! [A: term,B: term] :
~ ( hoasvar @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) ).
thf('5',plain,
( hoasapnotvar
= ( ! [X4: term,X6: term] :
~ ( hoasvar @ id @ ( hoasap @ id @ X4 @ id @ X6 ) @ id ) ) ),
define([status(thm)]) ).
thf(hoaslamnotvar,axiom,
( hoaslamnotvar
= ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ~ ( hoasvar @ id
@ ( hoaslam @ id
@ ^ [M: subst,A: term] : ( F @ M @ A ) )
@ id ) ) ) ) ).
thf('6',plain,
( hoaslamnotvar
= ( ! [X4: subst > term > term] :
( ! [X6: subst,X8: term,X10: subst] :
( ( sub @ ( X4 @ X6 @ X8 ) @ X10 )
= ( X4 @ ( comp @ X6 @ X10 ) @ ( sub @ X8 @ X10 ) ) )
=> ~ ( hoasvar @ id
@ ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X4 @ V_1 @ V_2 ) )
@ id ) ) ) ),
define([status(thm)]) ).
thf(hoaslamnotap,axiom,
( hoaslamnotap
= ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ! [A: term,B: term] :
( ( hoaslam @ id
@ ^ [M: subst,C: term] : ( F @ M @ C ) )
!= ( hoasap @ id @ A @ id @ B ) ) ) ) ) ).
thf('7',plain,
( hoaslamnotap
= ( ! [X4: subst > term > term] :
( ! [X6: subst,X8: term,X10: subst] :
( ( sub @ ( X4 @ X6 @ X8 ) @ X10 )
= ( X4 @ ( comp @ X6 @ X10 ) @ ( sub @ X8 @ X10 ) ) )
=> ! [X12: term,X14: term] :
( ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X4 @ V_1 @ V_2 ) )
!= ( hoasap @ id @ X12 @ id @ X14 ) ) ) ) ),
define([status(thm)]) ).
thf(hoaslaminj,axiom,
( hoaslaminj
= ( ! [F: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( F @ M @ A ) @ N )
= ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ! [G: subst > term > term] :
( ! [M: subst,A: term,N: subst] :
( ( sub @ ( G @ M @ A ) @ N )
= ( G @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) )
=> ( ( ( hoaslam @ id
@ ^ [M: subst,A: term] : ( F @ M @ A ) )
= ( hoaslam @ id
@ ^ [M: subst,A: term] : ( G @ M @ A ) ) )
=> ! [M: subst,A: term] :
( ( F @ M @ A )
= ( G @ M @ A ) ) ) ) ) ) ) ).
thf('8',plain,
( hoaslaminj
= ( ! [X4: subst > term > term] :
( ! [X6: subst,X8: term,X10: subst] :
( ( sub @ ( X4 @ X6 @ X8 ) @ X10 )
= ( X4 @ ( comp @ X6 @ X10 ) @ ( sub @ X8 @ X10 ) ) )
=> ! [X12: subst > term > term] :
( ! [X14: subst,X16: term,X18: subst] :
( ( sub @ ( X12 @ X14 @ X16 ) @ X18 )
= ( X12 @ ( comp @ X14 @ X18 ) @ ( sub @ X16 @ X18 ) ) )
=> ( ( ( hoaslam @ id
@ ^ [V_1: subst,V_2: term] : ( X4 @ V_1 @ V_2 ) )
= ( hoaslam @ id
@ ^ [V_3: subst,V_4: term] : ( X12 @ V_3 @ V_4 ) ) )
=> ! [X20: subst,X22: term] :
( ( X4 @ X20 @ X22 )
= ( X12 @ X20 @ X22 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(hoasapinj2,axiom,
( hoasapinj2
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( hoasap @ id @ A @ id @ C )
= ( hoasap @ id @ B @ id @ D ) )
=> ( C = D ) ) ) ) ).
thf('9',plain,
( hoasapinj2
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( hoasap @ id @ X4 @ id @ X8 )
= ( hoasap @ id @ X6 @ id @ X10 ) )
=> ( X8 = X10 ) ) ) ),
define([status(thm)]) ).
thf(hoasapinj1,axiom,
( hoasapinj1
= ( ! [A: term,B: term,C: term,D: term] :
( ( ( hoasap @ id @ A @ id @ C )
= ( hoasap @ id @ B @ id @ D ) )
=> ( A = B ) ) ) ) ).
thf('10',plain,
( hoasapinj1
= ( ! [X4: term,X6: term,X8: term,X10: term] :
( ( ( hoasap @ id @ X4 @ id @ X8 )
= ( hoasap @ id @ X6 @ id @ X10 ) )
=> ( X4 = X6 ) ) ) ),
define([status(thm)]) ).
thf(hoasvar,axiom,
( hoasvar
= ( ^ [M: subst,A: term,N: subst] : ( var @ ( sub @ A @ N ) ) ) ) ).
thf('11',plain,
( hoasvar
= ( ^ [M: subst,A: term,N: subst] : ( var @ ( sub @ A @ N ) ) ) ),
inference(simplify_rw_rule,[status(thm)],[hoasvar]) ).
thf('12',plain,
( hoasvar
= ( ^ [V_1: subst,V_2: term,V_3: subst] : ( var @ ( sub @ V_2 @ V_3 ) ) ) ),
define([status(thm)]) ).
thf(hoaslam,axiom,
( hoaslam
= ( ^ [M: subst,F: subst > term > term] : ( lam @ ( F @ sh @ one ) ) ) ) ).
thf('13',plain,
( hoaslam
= ( ^ [M: subst,F: subst > term > term] : ( lam @ ( F @ sh @ one ) ) ) ),
inference(simplify_rw_rule,[status(thm)],[hoaslam]) ).
thf('14',plain,
( hoaslam
= ( ^ [V_1: subst,V_2: subst > term > term] : ( lam @ ( V_2 @ sh @ one ) ) ) ),
define([status(thm)]) ).
thf(hoasap,axiom,
( hoasap
= ( ^ [M: subst,A: term,N: subst,B: term] : ( ap @ ( sub @ A @ N ) @ B ) ) ) ).
thf('15',plain,
( hoasap
= ( ^ [M: subst,A: term,N: subst,B: term] : ( ap @ ( sub @ A @ N ) @ B ) ) ),
inference(simplify_rw_rule,[status(thm)],[hoasap]) ).
thf('16',plain,
( hoasap
= ( ^ [V_1: subst,V_2: term,V_3: subst,V_4: term] : ( ap @ ( sub @ V_2 @ V_3 ) @ V_4 ) ) ),
define([status(thm)]) ).
thf(termmset,axiom,
( termmset
= ( ! [A: term] :
( ( sub @ A @ id )
= A )
& ! [A: term,M: subst,N: subst] :
( ( sub @ ( sub @ A @ M ) @ N )
= ( sub @ A @ ( comp @ M @ N ) ) ) ) ) ).
thf('17',plain,
( termmset
= ( ! [X4: term] :
( ( sub @ X4 @ id )
= X4 )
& ! [X6: term,X8: subst,X10: subst] :
( ( sub @ ( sub @ X6 @ X8 ) @ X10 )
= ( sub @ X6 @ ( comp @ X8 @ X10 ) ) ) ) ),
define([status(thm)]) ).
thf(substmonoid,axiom,
( substmonoid
= ( ! [M: subst] :
( ( comp @ M @ id )
= M )
& ! [M: subst] :
( ( comp @ id @ M )
= M )
& ! [M: subst,N: subst,K: subst] :
( ( comp @ ( comp @ M @ N ) @ K )
= ( comp @ M @ ( comp @ N @ K ) ) ) ) ) ).
thf('18',plain,
( substmonoid
= ( ! [X4: subst] :
( ( comp @ X4 @ id )
= X4 )
& ! [X6: subst] :
( ( comp @ id @ X6 )
= X6 )
& ! [X8: subst,X10: subst,X12: subst] :
( ( comp @ ( comp @ X8 @ X10 ) @ X12 )
= ( comp @ X8 @ ( comp @ X10 @ X12 ) ) ) ) ),
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('19',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('20',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('21',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('22',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('23',plain,
( lamnotvar
= ( ! [X4: term] :
~ ( var @ ( lam @ X4 ) ) ) ),
define([status(thm)]) ).
thf(apnotvar,axiom,
( apnotvar
= ( ! [A: term,B: term] :
~ ( var @ ( ap @ A @ B ) ) ) ) ).
thf('24',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('25',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('26',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('27',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('28',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('29',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('30',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('31',plain,
( ulamvarsh
= ( ! [X4: term] :
( ( var @ X4 )
=> ( var @ ( sub @ X4 @ sh ) ) ) ) ),
define([status(thm)]) ).
thf(ulamvar1,axiom,
( ulamvar1
= ( var @ one ) ) ).
thf('32',plain,
( ulamvar1
= ( var @ one ) ),
inference(simplify_rw_rule,[status(thm)],[ulamvar1]) ).
thf('33',plain,
( ulamvar1
= ( var @ one ) ),
define([status(thm)]) ).
thf(axscons,axiom,
( axscons
= ( ! [M: subst] :
( ( push @ ( sub @ one @ M ) @ ( comp @ sh @ M ) )
= M ) ) ) ).
thf('34',plain,
( axscons
= ( ! [X4: subst] :
( ( push @ ( sub @ one @ X4 ) @ ( comp @ sh @ X4 ) )
= X4 ) ) ),
define([status(thm)]) ).
thf(axvarshift,axiom,
( axvarshift
= ( ( push @ one @ sh )
= id ) ) ).
thf('35',plain,
( axvarshift
= ( ( push @ one @ sh )
= id ) ),
define([status(thm)]) ).
thf(axidr,axiom,
( axidr
= ( ! [M: subst] :
( ( comp @ M @ id )
= M ) ) ) ).
thf('36',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('37',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('38',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('39',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('40',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('41',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('42',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('43',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('44',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('45',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,
hoasinduction_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 ) ) ) )
=> ( ( ! [X148: subst,X150: subst,X152: subst] :
( ( comp @ ( comp @ X148 @ X150 ) @ X152 )
= ( comp @ X148 @ ( comp @ X150 @ X152 ) ) )
& ! [X146: subst] :
( ( comp @ id @ X146 )
= X146 )
& ! [X144: subst] :
( ( comp @ X144 @ id )
= X144 ) )
=> ( ( ! [X156: term,X158: subst,X160: subst] :
( ( sub @ ( sub @ X156 @ X158 ) @ X160 )
= ( sub @ X156 @ ( comp @ X158 @ X160 ) ) )
& ! [X154: term] :
( ( sub @ X154 @ id )
= X154 ) )
=> ( ! [X162: term,X164: term,X166: term,X168: term] :
( ( ( ap @ ( sub @ X162 @ id ) @ X166 )
= ( ap @ ( sub @ X164 @ id ) @ X168 ) )
=> ( X162 = X164 ) )
=> ( ! [X170: term,X172: term,X174: term,X176: term] :
( ( ( ap @ ( sub @ X170 @ id ) @ X174 )
= ( ap @ ( sub @ X172 @ id ) @ X176 ) )
=> ( X174 = X176 ) )
=> ( ! [X178: subst > term > term] :
( ! [X180: subst,X182: term,X184: subst] :
( ( sub @ ( X178 @ X180 @ X182 ) @ X184 )
= ( X178 @ ( comp @ X180 @ X184 ) @ ( sub @ X182 @ X184 ) ) )
=> ! [X186: subst > term > term] :
( ! [X188: subst,X190: term,X192: subst] :
( ( sub @ ( X186 @ X188 @ X190 ) @ X192 )
= ( X186 @ ( comp @ X188 @ X192 ) @ ( sub @ X190 @ X192 ) ) )
=> ( ( ( lam @ ( X178 @ sh @ one ) )
= ( lam @ ( X186 @ sh @ one ) ) )
=> ! [X194: subst,X196: term] :
( ( X178 @ X194 @ X196 )
= ( X186 @ X194 @ X196 ) ) ) ) )
=> ( ! [X198: subst > term > term] :
( ! [X200: subst,X202: term,X204: subst] :
( ( sub @ ( X198 @ X200 @ X202 ) @ X204 )
= ( X198 @ ( comp @ X200 @ X204 ) @ ( sub @ X202 @ X204 ) ) )
=> ! [X206: term,X208: term] :
( ( lam @ ( X198 @ sh @ one ) )
!= ( ap @ ( sub @ X206 @ id ) @ X208 ) ) )
=> ( ! [X210: subst > term > term] :
( ! [X212: subst,X214: term,X216: subst] :
( ( sub @ ( X210 @ X212 @ X214 ) @ X216 )
= ( X210 @ ( comp @ X212 @ X216 ) @ ( sub @ X214 @ X216 ) ) )
=> ~ ( var @ ( sub @ ( lam @ ( X210 @ sh @ one ) ) @ id ) ) )
=> ( ! [X218: term,X220: term] :
~ ( var @ ( sub @ ( ap @ ( sub @ X218 @ id ) @ X220 ) @ id ) )
=> ( ! [X222: subst > term > subst > $o] :
( ! [X224: subst,X226: term,X228: subst,X230: subst] :
( ( X222 @ X224 @ X226 @ ( comp @ X230 @ X228 ) )
=> ( X222 @ ( comp @ X224 @ X230 ) @ ( sub @ X226 @ X230 ) @ X228 ) )
=> ( ! [X232: subst,X234: term,X236: subst,X238: subst] :
( ( X222 @ ( comp @ X232 @ X238 ) @ ( sub @ X234 @ X238 ) @ X236 )
=> ( X222 @ X232 @ X234 @ ( comp @ X238 @ X236 ) ) )
=> ( ! [X240: term] :
( ( var @ ( sub @ X240 @ id ) )
=> ( X222 @ id @ X240 @ id ) )
=> ! [X242: term] :
( ( var @ X242 )
=> ( X222 @ id @ X242 @ id ) ) ) ) )
=> ( ! [X244: subst > term > subst > $o] :
( ! [X246: subst,X248: term,X250: subst,X252: subst] :
( ( X244 @ X246 @ X248 @ ( comp @ X252 @ X250 ) )
=> ( X244 @ ( comp @ X246 @ X252 ) @ ( sub @ X248 @ X252 ) @ X250 ) )
=> ( ! [X254: subst,X256: term,X258: subst,X260: subst] :
( ( X244 @ ( comp @ X254 @ X260 ) @ ( sub @ X256 @ X260 ) @ X258 )
=> ( X244 @ X254 @ X256 @ ( comp @ X260 @ X258 ) ) )
=> ( ! [X262: term,X264: term] :
( ( X244 @ id @ X262 @ id )
=> ( ( X244 @ id @ X264 @ id )
=> ( X244 @ id @ ( ap @ ( sub @ X262 @ id ) @ X264 ) @ id ) ) )
=> ! [X266: term,X268: term] :
( ( X244 @ id @ X266 @ id )
=> ( ( X244 @ id @ X268 @ id )
=> ( X244 @ id @ ( ap @ X266 @ X268 ) @ id ) ) ) ) ) )
=> ( ! [X270: subst > term > subst > $o] :
( ! [X272: subst,X274: term,X276: subst,X278: subst] :
( ( X270 @ X272 @ X274 @ ( comp @ X278 @ X276 ) )
=> ( X270 @ ( comp @ X272 @ X278 ) @ ( sub @ X274 @ X278 ) @ X276 ) )
=> ( ! [X280: subst,X282: term,X284: subst,X286: subst] :
( ( X270 @ ( comp @ X280 @ X286 ) @ ( sub @ X282 @ X286 ) @ X284 )
=> ( X270 @ X280 @ X282 @ ( comp @ X286 @ X284 ) ) )
=> ( ! [X288: subst > term > term] :
( ! [X290: subst,X292: term,X294: subst] :
( ( sub @ ( X288 @ X290 @ X292 ) @ X294 )
= ( X288 @ ( comp @ X290 @ X294 ) @ ( sub @ X292 @ X294 ) ) )
=> ( ! [X296: term] :
( ( X270 @ id @ X296 @ id )
=> ( X270 @ id @ ( X288 @ id @ X296 ) @ id ) )
=> ( X270 @ id @ ( lam @ ( X288 @ sh @ one ) ) @ id ) ) )
=> ! [X298: term] :
( ! [X300: term] :
( ( X270 @ id @ X300 @ id )
=> ( X270 @ id @ ( sub @ X298 @ ( push @ X300 @ id ) ) @ id ) )
=> ( X270 @ id @ ( lam @ X298 ) @ id ) ) ) ) )
=> ! [X302: subst > term > subst > $o] :
( ! [X304: subst,X306: term,X308: subst,X310: subst] :
( ( X302 @ X304 @ X306 @ ( comp @ X310 @ X308 ) )
=> ( X302 @ ( comp @ X304 @ X310 ) @ ( sub @ X306 @ X310 ) @ X308 ) )
=> ( ! [X312: subst,X314: term,X316: subst,X318: subst] :
( ( X302 @ ( comp @ X312 @ X318 ) @ ( sub @ X314 @ X318 ) @ X316 )
=> ( X302 @ X312 @ X314 @ ( comp @ X318 @ X316 ) ) )
=> ( ! [X320: term] :
( ( var @ ( sub @ X320 @ id ) )
=> ( X302 @ id @ X320 @ id ) )
=> ( ! [X322: term,X324: term] :
( ( X302 @ id @ X322 @ id )
=> ( ( X302 @ id @ X324 @ id )
=> ( X302 @ id @ ( ap @ ( sub @ X322 @ id ) @ X324 ) @ id ) ) )
=> ( ! [X326: subst > term > term] :
( ! [X328: subst,X330: term,X332: subst] :
( ( sub @ ( X326 @ X328 @ X330 ) @ X332 )
= ( X326 @ ( comp @ X328 @ X332 ) @ ( sub @ X330 @ X332 ) ) )
=> ( ! [X334: term] :
( ( X302 @ id @ X334 @ id )
=> ( X302 @ id @ ( X326 @ id @ X334 ) @ id ) )
=> ( X302 @ id @ ( lam @ ( X326 @ sh @ one ) ) @ id ) ) )
=> ! [X336: term] : ( X302 @ id @ X336 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
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 ) ) ) )
=> ( ( ! [X148: subst,X150: subst,X152: subst] :
( ( comp @ ( comp @ X148 @ X150 ) @ X152 )
= ( comp @ X148 @ ( comp @ X150 @ X152 ) ) )
& ! [X146: subst] :
( ( comp @ id @ X146 )
= X146 )
& ! [X144: subst] :
( ( comp @ X144 @ id )
= X144 ) )
=> ( ( ! [X156: term,X158: subst,X160: subst] :
( ( sub @ ( sub @ X156 @ X158 ) @ X160 )
= ( sub @ X156 @ ( comp @ X158 @ X160 ) ) )
& ! [X154: term] :
( ( sub @ X154 @ id )
= X154 ) )
=> ( ! [X162: term,X164: term,X166: term,X168: term] :
( ( ( ap @ ( sub @ X162 @ id ) @ X166 )
= ( ap @ ( sub @ X164 @ id ) @ X168 ) )
=> ( X162 = X164 ) )
=> ( ! [X170: term,X172: term,X174: term,X176: term] :
( ( ( ap @ ( sub @ X170 @ id ) @ X174 )
= ( ap @ ( sub @ X172 @ id ) @ X176 ) )
=> ( X174 = X176 ) )
=> ( ! [X178: subst > term > term] :
( ! [X180: subst,X182: term,X184: subst] :
( ( sub @ ( X178 @ X180 @ X182 ) @ X184 )
= ( X178 @ ( comp @ X180 @ X184 ) @ ( sub @ X182 @ X184 ) ) )
=> ! [X186: subst > term > term] :
( ! [X188: subst,X190: term,X192: subst] :
( ( sub @ ( X186 @ X188 @ X190 ) @ X192 )
= ( X186 @ ( comp @ X188 @ X192 ) @ ( sub @ X190 @ X192 ) ) )
=> ( ( ( lam @ ( X178 @ sh @ one ) )
= ( lam @ ( X186 @ sh @ one ) ) )
=> ! [X194: subst,X196: term] :
( ( X178 @ X194 @ X196 )
= ( X186 @ X194 @ X196 ) ) ) ) )
=> ( ! [X198: subst > term > term] :
( ! [X200: subst,X202: term,X204: subst] :
( ( sub @ ( X198 @ X200 @ X202 ) @ X204 )
= ( X198 @ ( comp @ X200 @ X204 ) @ ( sub @ X202 @ X204 ) ) )
=> ! [X206: term,X208: term] :
( ( lam @ ( X198 @ sh @ one ) )
!= ( ap @ ( sub @ X206 @ id ) @ X208 ) ) )
=> ( ! [X210: subst > term > term] :
( ! [X212: subst,X214: term,X216: subst] :
( ( sub @ ( X210 @ X212 @ X214 ) @ X216 )
= ( X210 @ ( comp @ X212 @ X216 ) @ ( sub @ X214 @ X216 ) ) )
=> ~ ( var @ ( sub @ ( lam @ ( X210 @ sh @ one ) ) @ id ) ) )
=> ( ! [X218: term,X220: term] :
~ ( var @ ( sub @ ( ap @ ( sub @ X218 @ id ) @ X220 ) @ id ) )
=> ( ! [X222: subst > term > subst > $o] :
( ! [X224: subst,X226: term,X228: subst,X230: subst] :
( ( X222 @ X224 @ X226 @ ( comp @ X230 @ X228 ) )
=> ( X222 @ ( comp @ X224 @ X230 ) @ ( sub @ X226 @ X230 ) @ X228 ) )
=> ( ! [X232: subst,X234: term,X236: subst,X238: subst] :
( ( X222 @ ( comp @ X232 @ X238 ) @ ( sub @ X234 @ X238 ) @ X236 )
=> ( X222 @ X232 @ X234 @ ( comp @ X238 @ X236 ) ) )
=> ( ! [X240: term] :
( ( var @ ( sub @ X240 @ id ) )
=> ( X222 @ id @ X240 @ id ) )
=> ! [X242: term] :
( ( var @ X242 )
=> ( X222 @ id @ X242 @ id ) ) ) ) )
=> ( ! [X244: subst > term > subst > $o] :
( ! [X246: subst,X248: term,X250: subst,X252: subst] :
( ( X244 @ X246 @ X248 @ ( comp @ X252 @ X250 ) )
=> ( X244 @ ( comp @ X246 @ X252 ) @ ( sub @ X248 @ X252 ) @ X250 ) )
=> ( ! [X254: subst,X256: term,X258: subst,X260: subst] :
( ( X244 @ ( comp @ X254 @ X260 ) @ ( sub @ X256 @ X260 ) @ X258 )
=> ( X244 @ X254 @ X256 @ ( comp @ X260 @ X258 ) ) )
=> ( ! [X262: term,X264: term] :
( ( X244 @ id @ X262 @ id )
=> ( ( X244 @ id @ X264 @ id )
=> ( X244 @ id @ ( ap @ ( sub @ X262 @ id ) @ X264 ) @ id ) ) )
=> ! [X266: term,X268: term] :
( ( X244 @ id @ X266 @ id )
=> ( ( X244 @ id @ X268 @ id )
=> ( X244 @ id @ ( ap @ X266 @ X268 ) @ id ) ) ) ) ) )
=> ( ! [X270: subst > term > subst > $o] :
( ! [X272: subst,X274: term,X276: subst,X278: subst] :
( ( X270 @ X272 @ X274 @ ( comp @ X278 @ X276 ) )
=> ( X270 @ ( comp @ X272 @ X278 ) @ ( sub @ X274 @ X278 ) @ X276 ) )
=> ( ! [X280: subst,X282: term,X284: subst,X286: subst] :
( ( X270 @ ( comp @ X280 @ X286 ) @ ( sub @ X282 @ X286 ) @ X284 )
=> ( X270 @ X280 @ X282 @ ( comp @ X286 @ X284 ) ) )
=> ( ! [X288: subst > term > term] :
( ! [X290: subst,X292: term,X294: subst] :
( ( sub @ ( X288 @ X290 @ X292 ) @ X294 )
= ( X288 @ ( comp @ X290 @ X294 ) @ ( sub @ X292 @ X294 ) ) )
=> ( ! [X296: term] :
( ( X270 @ id @ X296 @ id )
=> ( X270 @ id @ ( X288 @ id @ X296 ) @ id ) )
=> ( X270 @ id @ ( lam @ ( X288 @ sh @ one ) ) @ id ) ) )
=> ! [X298: term] :
( ! [X300: term] :
( ( X270 @ id @ X300 @ id )
=> ( X270 @ id @ ( sub @ X298 @ ( push @ X300 @ id ) ) @ id ) )
=> ( X270 @ id @ ( lam @ X298 ) @ id ) ) ) ) )
=> ! [X302: subst > term > subst > $o] :
( ! [X304: subst,X306: term,X308: subst,X310: subst] :
( ( X302 @ X304 @ X306 @ ( comp @ X310 @ X308 ) )
=> ( X302 @ ( comp @ X304 @ X310 ) @ ( sub @ X306 @ X310 ) @ X308 ) )
=> ( ! [X312: subst,X314: term,X316: subst,X318: subst] :
( ( X302 @ ( comp @ X312 @ X318 ) @ ( sub @ X314 @ X318 ) @ X316 )
=> ( X302 @ X312 @ X314 @ ( comp @ X318 @ X316 ) ) )
=> ( ! [X320: term] :
( ( var @ ( sub @ X320 @ id ) )
=> ( X302 @ id @ X320 @ id ) )
=> ( ! [X322: term,X324: term] :
( ( X302 @ id @ X322 @ id )
=> ( ( X302 @ id @ X324 @ id )
=> ( X302 @ id @ ( ap @ ( sub @ X322 @ id ) @ X324 ) @ id ) ) )
=> ( ! [X326: subst > term > term] :
( ! [X328: subst,X330: term,X332: subst] :
( ( sub @ ( X326 @ X328 @ X330 ) @ X332 )
= ( X326 @ ( comp @ X328 @ X332 ) @ ( sub @ X330 @ X332 ) ) )
=> ( ! [X334: term] :
( ( X302 @ id @ X334 @ id )
=> ( X302 @ id @ ( X326 @ id @ X334 ) @ id ) )
=> ( X302 @ id @ ( lam @ ( X326 @ sh @ one ) ) @ id ) ) )
=> ! [X336: term] : ( X302 @ id @ X336 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
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 ) ) ) ) ) )
=> ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl126]) ).
thf(zip_derived_cl135,plain,
~ ( ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( comp @ ( comp @ Y0 @ Y1 ) @ Y2 )
= ( comp @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ id @ Y0 )
= Y0 ) )
& ( !!
@ ^ [Y0: subst] :
( ( comp @ Y0 @ id )
= Y0 ) ) )
=> ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl130]) ).
thf(zip_derived_cl142,plain,
~ ( ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( sub @ Y0 @ Y1 ) @ Y2 )
= ( sub @ Y0 @ ( comp @ Y1 @ Y2 ) ) ) ) ) )
& ( !!
@ ^ [Y0: term] :
( ( sub @ Y0 @ id )
= Y0 ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl135]) ).
thf(zip_derived_cl154,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y0 = Y1 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl142]) ).
thf(zip_derived_cl167,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: term] :
( ( ( ap @ ( sub @ Y0 @ id ) @ Y2 )
= ( ap @ ( sub @ Y1 @ id ) @ Y3 ) )
=> ( Y2 = Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl154]) ).
thf(zip_derived_cl186,plain,
~ ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( ( lam @ ( Y0 @ sh @ one ) )
= ( lam @ ( Y1 @ sh @ one ) ) )
=> ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( ( Y0 @ Y2 @ Y3 )
= ( Y1 @ Y2 @ Y3 ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl167]) ).
thf(zip_derived_cl203,plain,
~ ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( lam @ ( Y0 @ sh @ one ) )
!= ( ap @ ( sub @ Y1 @ id ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl186]) ).
thf(zip_derived_cl220,plain,
~ ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( (~) @ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl203]) ).
thf(zip_derived_cl239,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] : ( (~) @ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl220]) ).
thf(zip_derived_cl252,plain,
~ ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl239]) ).
thf(zip_derived_cl266,plain,
~ ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl252]) ).
thf(zip_derived_cl281,plain,
~ ( ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) )
=> ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl266]) ).
thf(zip_derived_cl292,plain,
~ ( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] : ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl281]) ).
thf(zip_derived_cl307,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( '#sk733' @ id @ Y0 @ id ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl292]) ).
thf(zip_derived_cl317,plain,
~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( '#sk733' @ id @ Y0 @ id ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl307]) ).
thf(zip_derived_cl325,plain,
~ ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( '#sk733' @ id @ Y0 @ id ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl317]) ).
thf(zip_derived_cl333,plain,
~ ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl325]) ).
thf(zip_derived_cl344,plain,
~ ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl333]) ).
thf(zip_derived_cl357,plain,
~ ( !!
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl344]) ).
thf(zip_derived_cl369,plain,
~ ( '#sk733' @ id @ '#sk1677' @ id ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl357]) ).
thf(zip_derived_cl332,plain,
( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( '#sk733' @ id @ Y0 @ id ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl325]) ).
thf(zip_derived_cl342,plain,
! [X2: term] :
( ( var @ ( sub @ X2 @ id ) )
=> ( '#sk733' @ id @ X2 @ id ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl332]) ).
thf(zip_derived_cl354,plain,
! [X2: term] :
( ~ ( var @ ( sub @ X2 @ id ) )
| ( '#sk733' @ id @ X2 @ id ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl342]) ).
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_cl501,plain,
! [X2: term] :
( ~ ( var @ X2 )
| ( '#sk733' @ id @ X2 @ id ) ),
inference(demod,[status(thm)],[zip_derived_cl354,zip_derived_cl17]) ).
thf(zip_derived_cl291,plain,
( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst > term > term] :
( ( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: term] :
( !!
@ ^ [Y4: subst] :
( ( sub @ ( Y1 @ Y2 @ Y3 ) @ Y4 )
= ( Y1 @ ( comp @ Y2 @ Y4 ) @ ( sub @ Y3 @ Y4 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( Y1 @ id @ Y2 ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ ( Y1 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) @ id ) ) )
=> ( Y0 @ id @ ( lam @ Y1 ) @ id ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl281]) ).
thf(zip_derived_cl303,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl291]) ).
thf(zip_derived_cl315,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl303]) ).
thf(zip_derived_cl322,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ Y0 @ ( comp @ Y2 @ Y1 ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl315]) ).
thf(zip_derived_cl329,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ Y1 @ Y0 ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y1 ) @ ( sub @ ( '#sk839' @ X2 ) @ Y1 ) @ Y0 ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl322]) ).
thf(zip_derived_cl339,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ Y0 @ ( '#sk967' @ X2 ) ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk839' @ X2 ) @ Y0 ) @ ( '#sk967' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl329]) ).
thf(zip_derived_cl351,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl339]) ).
thf(zip_derived_cl363,plain,
! [X2: subst > term > subst > $o] :
( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl351]) ).
thf(zip_derived_cl375,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl363]) ).
thf(zip_derived_cl384,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl375]) ).
thf(zip_derived_cl392,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y1 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y1 ) @ Y0 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y1 @ Y0 ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl384]) ).
thf(zip_derived_cl402,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y0 ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y0 @ ( '#sk1944' @ X2 ) ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl392]) ).
thf(zip_derived_cl414,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl402]) ).
thf(zip_derived_cl265,plain,
( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( var @ ( sub @ Y1 @ id ) )
=> ( Y0 @ id @ Y1 @ id ) ) )
=> ( !!
@ ^ [Y1: term] :
( ( var @ Y1 )
=> ( Y0 @ id @ Y1 @ id ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl252]) ).
thf(zip_derived_cl279,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl265]) ).
thf(zip_derived_cl289,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl279]) ).
thf(zip_derived_cl301,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ Y0 @ ( comp @ Y2 @ Y1 ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl289]) ).
thf(zip_derived_cl313,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ Y1 @ Y0 ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y1 ) @ ( sub @ ( '#sk839' @ X2 ) @ Y1 ) @ Y0 ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl301]) ).
thf(zip_derived_cl320,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ Y0 @ ( '#sk967' @ X2 ) ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk839' @ X2 ) @ Y0 ) @ ( '#sk967' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl313]) ).
thf(zip_derived_cl327,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
=> ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl320]) ).
thf(zip_derived_cl337,plain,
! [X2: subst > term > subst > $o] :
( ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl327]) ).
thf(zip_derived_cl348,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl337]) ).
thf(zip_derived_cl360,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl348]) ).
thf(zip_derived_cl372,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y1 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y1 ) @ Y0 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y1 @ Y0 ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl360]) ).
thf(zip_derived_cl381,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y0 ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y0 @ ( '#sk1944' @ X2 ) ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl372]) ).
thf(zip_derived_cl389,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl381]) ).
thf(zip_derived_cl389_001,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl381]) ).
thf(zip_derived_cl397,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form2417' @ X2 )
| ( ( !!
@ ^ [Y0: term] :
( ( var @ ( sub @ Y0 @ id ) )
=> ( X2 @ id @ Y0 @ id ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ id @ Y0 @ id ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl399,plain,
! [X2: subst > term > subst > $o] :
( ( '#form2417' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl389,zip_derived_cl397]) ).
thf(zip_derived_cl407,plain,
! [X2: subst > term > subst > $o] :
( ( '#form2686' @ X2 )
| ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl422,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl414,zip_derived_cl407]) ).
thf(zip_derived_cl429,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl422]) ).
thf(zip_derived_cl437,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) ) )
| ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl429]) ).
thf(zip_derived_cl444,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl437]) ).
thf(zip_derived_cl364,plain,
! [X2: subst > term > subst > $o] :
( ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl351]) ).
thf(zip_derived_cl376,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl364]) ).
thf(zip_derived_cl385,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl376]) ).
thf(zip_derived_cl393,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y1 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y1 ) @ Y0 )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y1 @ Y0 ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl385]) ).
thf(zip_derived_cl403,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk1760' @ X2 ) @ Y0 ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ Y0 @ ( '#sk1944' @ X2 ) ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl393]) ).
thf(zip_derived_cl415,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl403]) ).
thf(zip_derived_cl407_002,plain,
! [X2: subst > term > subst > $o] :
( ( '#form2686' @ X2 )
| ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl423,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl415,zip_derived_cl407]) ).
thf(zip_derived_cl430,plain,
! [X2: subst > term > subst > $o] :
( ~ ( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl423]) ).
thf(zip_derived_cl438,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl430]) ).
thf(zip_derived_cl445,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form3615' @ X2 )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl455,plain,
! [X2: subst > term > subst > $o] :
( ( '#form3615' @ X2 )
| ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl444,zip_derived_cl445]) ).
thf(zip_derived_cl467,plain,
! [X2: subst > term > subst > $o] :
( ~ ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl455]) ).
thf(zip_derived_cl438_003,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl430]) ).
thf(zip_derived_cl445_004,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form3615' @ X2 )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl447,plain,
! [X2: subst > term > subst > $o] :
( ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 )
| ~ ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl438,zip_derived_cl445]) ).
thf(zip_derived_cl457,plain,
! [X2: subst > term > subst > $o] :
( ~ ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
=> ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl447]) ).
thf(zip_derived_cl470,plain,
! [X2: subst > term > subst > $o] :
( ~ ( X2 @ id @ ( lam @ ( '#sk3410' @ X2 @ sh @ one ) ) @ id )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl457]) ).
thf(zip_derived_cl356,plain,
( !!
@ ^ [Y0: subst > term > term] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( ( sub @ ( Y0 @ Y1 @ Y2 ) @ Y3 )
= ( Y0 @ ( comp @ Y1 @ Y3 ) @ ( sub @ Y2 @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( Y0 @ id @ Y1 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl344]) ).
thf(zip_derived_cl368,plain,
! [X2: subst > term > term] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( X2 @ Y0 @ Y1 ) @ Y2 )
= ( X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl356]) ).
thf(zip_derived_cl379,plain,
! [X2: subst > term > term] :
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( X2 @ Y0 @ Y1 ) @ Y2 )
= ( X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl368]) ).
thf(zip_derived_cl387,plain,
! [X2: subst > term > term] :
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ Y0 ) @ Y1 )
= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl379]) ).
thf(zip_derived_cl394,plain,
! [X2: subst > term > term] :
( ~ ( !!
@ ^ [Y0: subst] :
( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ Y0 )
= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ Y0 ) @ ( sub @ ( '#sk467' @ X2 ) @ Y0 ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl387]) ).
thf(zip_derived_cl404,plain,
! [X2: subst > term > term] :
( ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl394]) ).
thf(zip_derived_cl416,plain,
! [X2: subst > term > term] :
( ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
=> ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl404]) ).
thf(zip_derived_cl417,plain,
! [X2: subst > term > term] :
( ~ ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ Y0 ) @ id ) ) )
| ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id )
| ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl416]) ).
thf(zip_derived_cl424,plain,
! [X2: subst > term > term] :
( ~ ( ( '#sk733' @ id @ ( '#sk3185' @ X2 ) @ id )
=> ( '#sk733' @ id @ ( X2 @ id @ ( '#sk3185' @ X2 ) ) @ id ) )
| ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) )
| ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl417]) ).
thf(zip_derived_cl431,plain,
! [X2: subst > term > term] :
( ( '#sk733' @ id @ ( '#sk3185' @ X2 ) @ id )
| ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id )
| ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl424]) ).
thf(zip_derived_cl134,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_cl130]) ).
thf(zip_derived_cl140,plain,
! [X2: term > $o] :
( ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ Y0 ) ) )
=> ( ( !!
@ ^ [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] : ( X2 @ Y0 ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl134]) ).
thf(zip_derived_cl149,plain,
! [X2: term > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( ( var @ Y0 )
=> ( X2 @ Y0 ) ) )
| ( ( !!
@ ^ [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] : ( X2 @ Y0 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl140]) ).
thf(zip_derived_cl160,plain,
! [X2: term > $o] :
( ~ ( ( var @ ( '#sk46' @ X2 ) )
=> ( X2 @ ( '#sk46' @ X2 ) ) )
| ( ( !!
@ ^ [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] : ( X2 @ Y0 ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl149]) ).
thf(zip_derived_cl177,plain,
! [X2: term > $o] :
( ( var @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [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] : ( X2 @ Y0 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl160]) ).
thf(zip_derived_cl195,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] : ( X2 @ Y0 ) ) )
| ( var @ ( '#sk46' @ X2 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl177]) ).
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_cl139,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_cl146,plain,
! [X2: term > $o] :
( ( '#form108' @ X2 )
| ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ Y0 )
=> ( ( X2 @ Y1 )
=> ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl212,plain,
! [X2: term > $o] :
( ~ ( '#form108'
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ( var @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl195,zip_derived_cl146]) ).
thf(zip_derived_cl229,plain,
! [X2: term > $o] :
( ~ ( '#form108' @ X2 )
| ( var @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ) ),
inference(ho_norm,[status(thm)],[zip_derived_cl212]) ).
thf(zip_derived_cl230,plain,
! [X2: term > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ( var @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl229]) ).
thf(zip_derived_cl244,plain,
! [X2: term > $o] :
( ~ ( ( !!
@ ^ [Y0: term] :
( ( X2 @ Y0 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ Y0 @ id ) ) ) ) )
=> ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) ) )
| ~ ( '#form108' @ X2 )
| ( var @ ( '#sk46' @ X2 ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl230]) ).
thf(zip_derived_cl256,plain,
! [X2: term > $o] :
( ~ ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ( var @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl244]) ).
thf(zip_derived_cl271,plain,
! [X2: term > $o,X4: term] :
( ( X2 @ X4 )
| ~ ( '#form108' @ X2 )
| ( var @ ( '#sk46' @ X2 ) )
| ~ ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl256]) ).
thf(zip_derived_cl466,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl455]) ).
thf(zip_derived_cl479,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ( ( X2 @ id @ X4 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ X4 ) @ id ) )
| ( '#form3615' @ X2 )
| ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl466]) ).
thf(zip_derived_cl491,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ~ ( X2 @ id @ X4 @ id )
| ( X2 @ id @ ( '#sk3410' @ X2 @ id @ X4 ) @ id )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl479]) ).
thf(zip_derived_cl432,plain,
! [X2: subst > term > term] :
( ~ ( '#sk733' @ id @ ( X2 @ id @ ( '#sk3185' @ X2 ) ) @ id )
| ( '#sk733' @ id @ ( lam @ ( X2 @ sh @ one ) ) @ id )
| ( ( sub @ ( X2 @ ( '#sk430' @ X2 ) @ ( '#sk467' @ X2 ) ) @ ( '#sk516' @ X2 ) )
!= ( X2 @ ( comp @ ( '#sk430' @ X2 ) @ ( '#sk516' @ X2 ) ) @ ( sub @ ( '#sk467' @ X2 ) @ ( '#sk516' @ X2 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl424]) ).
thf(zip_derived_cl445_005,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form3615' @ X2 )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl446,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( sub @ X4 @ ( push @ Y0 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ X4 ) @ id ) )
| ~ ( '#form3615' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl445]) ).
thf(zip_derived_cl458,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ~ ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( sub @ X4 @ ( push @ Y0 @ id ) ) @ id ) ) )
| ( X2 @ id @ ( lam @ X4 ) @ id )
| ~ ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl446]) ).
thf(zip_derived_cl471,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ~ ( ( X2 @ id @ ( '#sk4068' @ X2 @ X4 ) @ id )
=> ( X2 @ id @ ( sub @ X4 @ ( push @ ( '#sk4068' @ X2 @ X4 ) @ id ) ) @ id ) )
| ~ ( '#form3615' @ X2 )
| ( X2 @ id @ ( lam @ X4 ) @ id ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl458]) ).
thf(zip_derived_cl482,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ( X2 @ id @ ( '#sk4068' @ X2 @ X4 ) @ id )
| ( X2 @ id @ ( lam @ X4 ) @ id )
| ~ ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl471]) ).
thf(zip_derived_cl178,plain,
! [X2: term > $o] :
( ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [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] : ( X2 @ Y0 ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl160]) ).
thf(zip_derived_cl196,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] : ( X2 @ Y0 ) ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl178]) ).
thf(zip_derived_cl146_006,plain,
! [X2: term > $o] :
( ( '#form108' @ X2 )
| ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ Y0 )
=> ( ( X2 @ Y1 )
=> ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl213,plain,
! [X2: term > $o] :
( ~ ( '#form108'
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl196,zip_derived_cl146]) ).
thf(zip_derived_cl231,plain,
! [X2: term > $o] :
( ~ ( '#form108' @ X2 )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
=> ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ) ),
inference(ho_norm,[status(thm)],[zip_derived_cl213]) ).
thf(zip_derived_cl232,plain,
! [X2: term > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ Y1 )
=> ( X2 @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) ) ) )
=> ( X2 @ ( lam @ Y0 ) ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl231]) ).
thf(zip_derived_cl245,plain,
! [X2: term > $o] :
( ~ ( ( !!
@ ^ [Y0: term] :
( ( X2 @ Y0 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ Y0 @ id ) ) ) ) )
=> ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) ) )
| ~ ( '#form108' @ X2 )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl232]) ).
thf(zip_derived_cl258,plain,
! [X2: term > $o] :
( ~ ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl245]) ).
thf(zip_derived_cl273,plain,
! [X2: term > $o,X4: term] :
( ( X2 @ X4 )
| ~ ( '#form108' @ X2 )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ~ ( X2 @ ( lam @ ( '#sk196' @ X2 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl258]) ).
thf(zip_derived_cl469,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: term] :
( ( X2 @ id @ Y0 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ Y0 ) @ id ) ) )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl457]) ).
thf(zip_derived_cl481,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ( ( X2 @ id @ X4 @ id )
=> ( X2 @ id @ ( '#sk3410' @ X2 @ id @ X4 ) @ id ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl469]) ).
thf(zip_derived_cl493,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ~ ( X2 @ id @ X4 @ id )
| ( X2 @ id @ ( '#sk3410' @ X2 @ id @ X4 ) @ id )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl481]) ).
thf(zip_derived_cl443,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl437]) ).
thf(zip_derived_cl445_007,plain,
! [X2: subst > term > subst > $o] :
( ~ ( '#form3615' @ X2 )
| ( !!
@ ^ [Y0: term] :
( ( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( sub @ Y0 @ ( push @ Y1 @ id ) ) @ id ) ) )
=> ( X2 @ id @ ( lam @ Y0 ) @ id ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl454,plain,
! [X2: subst > term > subst > $o] :
( ( '#form3615' @ X2 )
| ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl443,zip_derived_cl445]) ).
thf(zip_derived_cl465,plain,
! [X2: subst > term > subst > $o,X4: subst] :
( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( '#sk3410' @ X2 @ X4 @ Y0 ) @ Y1 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl454]) ).
thf(zip_derived_cl478,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term] :
( ( !!
@ ^ [Y0: subst] :
( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ Y0 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ Y0 ) @ ( sub @ X6 @ Y0 ) ) ) )
| ( '#form3615' @ X2 )
| ~ ( '#form2686' @ X2 )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl465]) ).
thf(zip_derived_cl490,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term,X8: subst] :
( ( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ X8 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl478]) ).
thf(zip_derived_cl498,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term,X8: subst] :
( ( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ X8 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
| ( X2 @ ( '#sk708' @ X2 ) @ ( '#sk839' @ X2 ) @ ( comp @ ( '#sk1077' @ X2 ) @ ( '#sk967' @ X2 ) ) )
| ~ ( '#form2686' @ X2 )
| ( '#form3615' @ X2 ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl490]) ).
thf(zip_derived_cl255,plain,
! [X2: term > $o] :
( ( !!
@ ^ [Y0: term] :
( ( X2 @ Y0 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ Y0 @ id ) ) ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ( var @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl244]) ).
thf(zip_derived_cl270,plain,
! [X2: term > $o,X4: term] :
( ( ( X2 @ X4 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) ) )
| ~ ( '#form108' @ X2 )
| ( var @ ( '#sk46' @ X2 ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl255]) ).
thf(zip_derived_cl283,plain,
! [X2: term > $o,X4: term] :
( ~ ( X2 @ X4 )
| ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ( var @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl270]) ).
thf(zip_derived_cl295,plain,
! [X2: term > $o,X4: term,X6: term] :
( ( X2 @ X6 )
| ~ ( '#form108' @ X2 )
| ( var @ ( '#sk46' @ X2 ) )
| ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) )
| ~ ( X2 @ X4 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl283]) ).
thf(zip_derived_cl308,plain,
! [X0: term > $o,X1: term] :
( ~ ( X0 @ X1 )
| ~ ( '#form108' @ X0 )
| ( var @ ( '#sk46' @ X0 ) )
| ( X0 @ ( sub @ ( '#sk196' @ X0 ) @ ( push @ X1 @ id ) ) ) ),
inference(condensation,[status(thm)],[zip_derived_cl295]) ).
thf(zip_derived_cl483,plain,
! [X2: subst > term > subst > $o,X4: term] :
( ~ ( X2 @ id @ ( sub @ X4 @ ( push @ ( '#sk4068' @ X2 @ X4 ) @ id ) ) @ id )
| ( X2 @ id @ ( lam @ X4 ) @ id )
| ~ ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl471]) ).
thf(zip_derived_cl407_008,plain,
! [X2: subst > term > subst > $o] :
( ( '#form2686' @ X2 )
| ~ ( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
=> ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl408,plain,
! [X2: subst > term > subst > $o] :
( ( X2 @ ( comp @ ( '#sk1549' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( sub @ ( '#sk1760' @ X2 ) @ ( '#sk2144' @ X2 ) ) @ ( '#sk1944' @ X2 ) )
| ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl407]) ).
thf(zip_derived_cl316,plain,
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl307]) ).
thf(zip_derived_cl323,plain,
! [X2: subst] :
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( '#sk733' @ X2 @ Y0 @ ( comp @ Y2 @ Y1 ) )
=> ( '#sk733' @ ( comp @ X2 @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl316]) ).
thf(zip_derived_cl330,plain,
! [X2: subst,X4: term] :
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( '#sk733' @ X2 @ X4 @ ( comp @ Y1 @ Y0 ) )
=> ( '#sk733' @ ( comp @ X2 @ Y1 ) @ ( sub @ X4 @ Y1 ) @ Y0 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl323]) ).
thf(zip_derived_cl340,plain,
! [X2: subst,X4: term,X6: subst] :
( !!
@ ^ [Y0: subst] :
( ( '#sk733' @ X2 @ X4 @ ( comp @ Y0 @ X6 ) )
=> ( '#sk733' @ ( comp @ X2 @ Y0 ) @ ( sub @ X4 @ Y0 ) @ X6 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl330]) ).
thf(zip_derived_cl352,plain,
! [X2: subst,X4: term,X6: subst,X8: subst] :
( ( '#sk733' @ X2 @ X4 @ ( comp @ X8 @ X6 ) )
=> ( '#sk733' @ ( comp @ X2 @ X8 ) @ ( sub @ X4 @ X8 ) @ X6 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl340]) ).
thf(zip_derived_cl365,plain,
! [X2: subst,X4: term,X6: subst,X8: subst] :
( ~ ( '#sk733' @ X2 @ X4 @ ( comp @ X8 @ X6 ) )
| ( '#sk733' @ ( comp @ X2 @ X8 ) @ ( sub @ X4 @ X8 ) @ X6 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl352]) ).
thf(zip_derived_cl456,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( ( sub @ ( '#sk3410' @ X2 @ Y0 @ Y1 ) @ Y2 )
= ( '#sk3410' @ X2 @ ( comp @ Y0 @ Y2 ) @ ( sub @ Y1 @ Y2 ) ) ) ) ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl447]) ).
thf(zip_derived_cl468,plain,
! [X2: subst > term > subst > $o,X4: subst] :
( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( ( sub @ ( '#sk3410' @ X2 @ X4 @ Y0 ) @ Y1 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ Y1 ) @ ( sub @ Y0 @ Y1 ) ) ) ) )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl456]) ).
thf(zip_derived_cl480,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term] :
( ( !!
@ ^ [Y0: subst] :
( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ Y0 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ Y0 ) @ ( sub @ X6 @ Y0 ) ) ) )
| ~ ( '#form2686' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ( '#form3615' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl468]) ).
thf(zip_derived_cl492,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term,X8: subst] :
( ( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ X8 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl480]) ).
thf(zip_derived_cl499,plain,
! [X2: subst > term > subst > $o,X4: subst,X6: term,X8: subst] :
( ( ( sub @ ( '#sk3410' @ X2 @ X4 @ X6 ) @ X8 )
= ( '#sk3410' @ X2 @ ( comp @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) )
| ( '#form3615' @ X2 )
| ~ ( X2 @ ( comp @ ( '#sk708' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( sub @ ( '#sk839' @ X2 ) @ ( '#sk1077' @ X2 ) ) @ ( '#sk967' @ X2 ) )
| ~ ( '#form2686' @ X2 ) ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl492]) ).
thf(zip_derived_cl257,plain,
! [X2: term > $o] :
( ( !!
@ ^ [Y0: term] :
( ( X2 @ Y0 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ Y0 @ id ) ) ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl245]) ).
thf(zip_derived_cl272,plain,
! [X2: term > $o,X4: term] :
( ( ( X2 @ X4 )
=> ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) ) )
| ~ ( '#form108' @ X2 )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl257]) ).
thf(zip_derived_cl284,plain,
! [X2: term > $o,X4: term] :
( ~ ( X2 @ X4 )
| ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) )
| ( !!
@ ^ [Y0: term] : ( X2 @ Y0 ) )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ~ ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl272]) ).
thf(zip_derived_cl296,plain,
! [X2: term > $o,X4: term,X6: term] :
( ( X2 @ X6 )
| ~ ( '#form108' @ X2 )
| ~ ( X2 @ ( '#sk46' @ X2 ) )
| ( X2 @ ( sub @ ( '#sk196' @ X2 ) @ ( push @ X4 @ id ) ) )
| ~ ( X2 @ X4 ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl284]) ).
thf(zip_derived_cl309,plain,
! [X0: term > $o,X1: term] :
( ~ ( X0 @ X1 )
| ~ ( '#form108' @ X0 )
| ~ ( X0 @ ( '#sk46' @ X0 ) )
| ( X0 @ ( sub @ ( '#sk196' @ X0 ) @ ( push @ X1 @ id ) ) ) ),
inference(condensation,[status(thm)],[zip_derived_cl296]) ).
thf(zip_derived_cl409,plain,
! [X2: subst > term > subst > $o] :
( ~ ( X2 @ ( '#sk1549' @ X2 ) @ ( '#sk1760' @ X2 ) @ ( comp @ ( '#sk2144' @ X2 ) @ ( '#sk1944' @ X2 ) ) )
| ( '#form2686' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl407]) ).
thf(zip_derived_cl324,plain,
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl317]) ).
thf(zip_derived_cl331,plain,
! [X2: subst] :
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( '#sk733' @ ( comp @ X2 @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 )
=> ( '#sk733' @ X2 @ Y0 @ ( comp @ Y2 @ Y1 ) ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl324]) ).
thf(zip_derived_cl341,plain,
! [X2: subst,X4: term] :
( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( '#sk733' @ ( comp @ X2 @ Y1 ) @ ( sub @ X4 @ Y1 ) @ Y0 )
=> ( '#sk733' @ X2 @ X4 @ ( comp @ Y1 @ Y0 ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl331]) ).
thf(zip_derived_cl353,plain,
! [X2: subst,X4: term,X6: subst] :
( !!
@ ^ [Y0: subst] :
( ( '#sk733' @ ( comp @ X2 @ Y0 ) @ ( sub @ X4 @ Y0 ) @ X6 )
=> ( '#sk733' @ X2 @ X4 @ ( comp @ Y0 @ X6 ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl341]) ).
thf(zip_derived_cl366,plain,
! [X2: subst,X4: term,X6: subst,X8: subst] :
( ( '#sk733' @ ( comp @ X2 @ X8 ) @ ( sub @ X4 @ X8 ) @ X6 )
=> ( '#sk733' @ X2 @ X4 @ ( comp @ X8 @ X6 ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl353]) ).
thf(zip_derived_cl377,plain,
! [X2: subst,X4: term,X6: subst,X8: subst] :
( ~ ( '#sk733' @ ( comp @ X2 @ X8 ) @ ( sub @ X4 @ X8 ) @ X6 )
| ( '#sk733' @ X2 @ X4 @ ( comp @ X8 @ X6 ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl366]) ).
thf(zip_derived_cl146_009,plain,
! [X2: term > $o] :
( ( '#form108' @ X2 )
| ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ Y0 )
=> ( ( X2 @ Y1 )
=> ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl147,plain,
! [X2: term > $o] :
( ~ ( !!
@ ^ [Y0: term] :
( ( X2 @ ( '#sk109' @ X2 ) )
=> ( ( X2 @ Y0 )
=> ( X2 @ ( ap @ ( '#sk109' @ X2 ) @ Y0 ) ) ) ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl146]) ).
thf(zip_derived_cl159,plain,
! [X2: term > $o] :
( ~ ( ( X2 @ ( '#sk109' @ X2 ) )
=> ( ( X2 @ ( '#sk153' @ X2 ) )
=> ( X2 @ ( ap @ ( '#sk109' @ X2 ) @ ( '#sk153' @ X2 ) ) ) ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl147]) ).
thf(zip_derived_cl175,plain,
! [X2: term > $o] :
( ( X2 @ ( '#sk109' @ X2 ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl159]) ).
thf(zip_derived_cl176,plain,
! [X2: term > $o] :
( ~ ( ( X2 @ ( '#sk153' @ X2 ) )
=> ( X2 @ ( ap @ ( '#sk109' @ X2 ) @ ( '#sk153' @ X2 ) ) ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl159]) ).
thf(zip_derived_cl193,plain,
! [X2: term > $o] :
( ( X2 @ ( '#sk153' @ X2 ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl176]) ).
thf(zip_derived_cl343,plain,
( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl333]) ).
thf(zip_derived_cl355,plain,
! [X2: term] :
( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ X2 @ id )
=> ( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ X2 @ id ) @ Y0 ) @ id ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl343]) ).
thf(zip_derived_cl367,plain,
! [X2: term,X4: term] :
( ( '#sk733' @ id @ X2 @ id )
=> ( ( '#sk733' @ id @ X4 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ X2 @ id ) @ X4 ) @ id ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl355]) ).
thf(zip_derived_cl378,plain,
! [X2: term,X4: term] :
( ~ ( '#sk733' @ id @ X2 @ id )
| ( ( '#sk733' @ id @ X4 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ X2 @ id ) @ X4 ) @ id ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl367]) ).
thf(zip_derived_cl386,plain,
! [X2: term,X4: term] :
( ~ ( '#sk733' @ id @ X4 @ id )
| ( '#sk733' @ id @ ( ap @ ( sub @ X2 @ id ) @ X4 ) @ id )
| ~ ( '#sk733' @ id @ X2 @ id ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl378]) ).
thf(zip_derived_cl17_010,plain,
! [X2: term] :
( ( sub @ X2 @ id )
= X2 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl12]) ).
thf(zip_derived_cl510,plain,
! [X2: term,X4: term] :
( ~ ( '#sk733' @ id @ X4 @ id )
| ( '#sk733' @ id @ ( ap @ X2 @ X4 ) @ id )
| ~ ( '#sk733' @ id @ X2 @ id ) ),
inference(demod,[status(thm)],[zip_derived_cl386,zip_derived_cl17]) ).
thf(zip_derived_cl280,plain,
( !!
@ ^ [Y0: subst > term > subst > $o] :
( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) )
=> ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: term] :
( !!
@ ^ [Y3: subst] :
( !!
@ ^ [Y4: subst] :
( ( Y0 @ ( comp @ Y1 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y3 )
=> ( Y0 @ Y1 @ Y2 @ ( comp @ Y4 @ Y3 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ ( sub @ Y1 @ id ) @ Y2 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: term] :
( ( Y0 @ id @ Y1 @ id )
=> ( ( Y0 @ id @ Y2 @ id )
=> ( Y0 @ id @ ( ap @ Y1 @ Y2 ) @ id ) ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl266]) ).
thf(zip_derived_cl290,plain,
! [X2: subst > term > subst > $o] :
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( X2 @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( X2 @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y0 @ id )
=> ( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ id @ Y0 @ id )
=> ( ( X2 @ id @ Y1 @ id )
=> ( X2 @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_forall,[status(thm)],[zip_derived_cl280]) ).
thf(zip_derived_cl305,plain,
( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(triggered_bool_instantiation,[status(thm)],[zip_derived_cl290]) ).
thf(zip_derived_cl577,plain,
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) )
=> ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl305]) ).
thf(zip_derived_cl578,plain,
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: subst] :
( !!
@ ^ [Y2: subst] :
( ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ Y0 @ ( comp @ Y2 @ Y1 ) )
=> ( '#sk733' @ ( comp @ ( '#sk708' @ '#sk733' ) @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl577]) ).
thf(zip_derived_cl579,plain,
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: subst] :
( ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ Y1 @ Y0 ) )
=> ( '#sk733' @ ( comp @ ( '#sk708' @ '#sk733' ) @ Y1 ) @ ( sub @ ( '#sk839' @ '#sk733' ) @ Y1 ) @ Y0 ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl578]) ).
thf(zip_derived_cl580,plain,
( ~ ( !!
@ ^ [Y0: subst] :
( ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ Y0 @ ( '#sk967' @ '#sk733' ) ) )
=> ( '#sk733' @ ( comp @ ( '#sk708' @ '#sk733' ) @ Y0 ) @ ( sub @ ( '#sk839' @ '#sk733' ) @ Y0 ) @ ( '#sk967' @ '#sk733' ) ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl579]) ).
thf(zip_derived_cl581,plain,
( ~ ( ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
=> ( '#sk733' @ ( comp @ ( '#sk708' @ '#sk733' ) @ ( '#sk1077' @ '#sk733' ) ) @ ( sub @ ( '#sk839' @ '#sk733' ) @ ( '#sk1077' @ '#sk733' ) ) @ ( '#sk967' @ '#sk733' ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl580]) ).
thf(zip_derived_cl582,plain,
( ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ( ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
=> ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl581]) ).
thf(zip_derived_cl584,plain,
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl582]) ).
thf(zip_derived_cl584_011,plain,
( ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) )
| ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl582]) ).
thf(zip_derived_cl586,plain,
( '#form5466'
| ~ ( !!
@ ^ [Y0: subst] :
( !!
@ ^ [Y1: term] :
( !!
@ ^ [Y2: subst] :
( !!
@ ^ [Y3: subst] :
( ( '#sk733' @ ( comp @ Y0 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y2 )
=> ( '#sk733' @ Y0 @ Y1 @ ( comp @ Y3 @ Y2 ) ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl588,plain,
( ~ '#form5466'
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ( ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
=> ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl584,zip_derived_cl586]) ).
thf(zip_derived_cl590,plain,
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
| ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ~ '#form5466' ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl588]) ).
thf(zip_derived_cl590_012,plain,
( ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) )
| ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ Y0 @ Y1 ) @ id ) ) ) ) )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ~ '#form5466' ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl588]) ).
thf(zip_derived_cl593,plain,
! [X2: term > $o] :
( ~ ( '#form108' @ X2 )
| ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ Y0 )
=> ( ( X2 @ Y1 )
=> ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl146_013,plain,
! [X2: term > $o] :
( ( '#form108' @ X2 )
| ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( X2 @ Y0 )
=> ( ( X2 @ Y1 )
=> ( X2 @ ( ap @ Y0 @ Y1 ) ) ) ) ) ) ),
define([status(thm)]) ).
thf(zip_derived_cl595,plain,
( ( '#form108'
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) )
| ~ '#form5466'
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ~ ( !!
@ ^ [Y0: term] :
( !!
@ ^ [Y1: term] :
( ( '#sk733' @ id @ Y0 @ id )
=> ( ( '#sk733' @ id @ Y1 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) ) ) ),
inference(renaming,[status(thm)],[zip_derived_cl590,zip_derived_cl593,zip_derived_cl146]) ).
thf(zip_derived_cl598,plain,
( ~ ( !!
@ ^ [Y0: term] :
( ( '#sk733' @ id @ ( '#sk3223' @ '#sk733' ) @ id )
=> ( ( '#sk733' @ id @ Y0 @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ ( '#sk3223' @ '#sk733' ) @ id ) @ Y0 ) @ id ) ) ) )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ~ '#form5466'
| ( '#form108'
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl595]) ).
thf(zip_derived_cl602,plain,
( ~ ( ( '#sk733' @ id @ ( '#sk3223' @ '#sk733' ) @ id )
=> ( ( '#sk733' @ id @ ( '#sk3356' @ '#sk733' ) @ id )
=> ( '#sk733' @ id @ ( ap @ ( sub @ ( '#sk3223' @ '#sk733' ) @ id ) @ ( '#sk3356' @ '#sk733' ) ) @ id ) ) )
| ( '#form108'
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) )
| ~ '#form5466'
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) ) ),
inference(lazy_cnf_exists,[status(thm)],[zip_derived_cl598]) ).
thf(zip_derived_cl17_014,plain,
! [X2: term] :
( ( sub @ X2 @ id )
= X2 ),
inference('simplify nested equalities',[status(thm)],[zip_derived_cl12]) ).
thf(zip_derived_cl607,plain,
( ~ ( ( '#sk733' @ id @ ( '#sk3223' @ '#sk733' ) @ id )
=> ( ( '#sk733' @ id @ ( '#sk3356' @ '#sk733' ) @ id )
=> ( '#sk733' @ id @ ( ap @ ( '#sk3223' @ '#sk733' ) @ ( '#sk3356' @ '#sk733' ) ) @ id ) ) )
| ( '#form108'
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) )
| ~ '#form5466'
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) ) ),
inference(demod,[status(thm)],[zip_derived_cl602,zip_derived_cl17]) ).
thf(zip_derived_cl608,plain,
( ( '#sk733' @ id @ ( '#sk3223' @ '#sk733' ) @ id )
| ( '#sk733' @ ( '#sk708' @ '#sk733' ) @ ( '#sk839' @ '#sk733' ) @ ( comp @ ( '#sk1077' @ '#sk733' ) @ ( '#sk967' @ '#sk733' ) ) )
| ~ '#form5466'
| ( '#form108'
@ ^ [Y0: term] : ( '#sk733' @ id @ Y0 @ id ) ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl607]) ).
thf(zip_derived_cl14198,plain,
! [X1: term] :
( ( '#l_lift30324' @ X1 )
= ( '#sk733' @ id @ X1 @ id ) ),
define([status(thm)]) ).
thf(zip_derived_cl194,plain,
! [X2: term > $o] :
( ~ ( X2 @ ( ap @ ( '#sk109' @ X2 ) @ ( '#sk153' @ X2 ) ) )
| ( '#form108' @ X2 ) ),
inference(lazy_cnf_imply,[status(thm)],[zip_derived_cl176]) ).
thf(zip_derived_cl14227,plain,
$false,
inference(eprover,[status(thm)],[zip_derived_cl369,zip_derived_cl501,zip_derived_cl467,zip_derived_cl470,zip_derived_cl431,zip_derived_cl271,zip_derived_cl491,zip_derived_cl432,zip_derived_cl482,zip_derived_cl273,zip_derived_cl493,zip_derived_cl498,zip_derived_cl308,zip_derived_cl483,zip_derived_cl408,zip_derived_cl365,zip_derived_cl499,zip_derived_cl309,zip_derived_cl409,zip_derived_cl377,zip_derived_cl175,zip_derived_cl193,zip_derived_cl510,zip_derived_cl14198,zip_derived_cl194]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13 % Problem : ALG269^1 : TPTP v8.1.2. Bugfixed v5.2.0.
% 0.00/0.14 % Command : python3 /export/starexec/sandbox/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox/tmp/tmp.HR7YgmDJtZ true
% 0.13/0.35 % Computer : n019.cluster.edu
% 0.13/0.35 % Model : x86_64 x86_64
% 0.13/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35 % Memory : 8042.1875MB
% 0.13/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35 % CPULimit : 300
% 0.13/0.35 % WCLimit : 300
% 0.13/0.35 % DateTime : Mon Aug 28 04:23:28 EDT 2023
% 0.13/0.35 % CPUTime :
% 0.13/0.35 % Running portfolio for 300 s
% 0.13/0.35 % File : /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.35 % Number of cores: 8
% 0.13/0.36 % Python version: Python 3.6.8
% 0.13/0.36 % Running in HO mode
% 0.21/0.64 % Total configuration time : 828
% 0.21/0.64 % Estimated wc time : 1656
% 0.21/0.64 % Estimated cpu time (8 cpus) : 207.0
% 0.21/0.73 % /export/starexec/sandbox/solver/bin/lams/40_c.s.sh running for 80s
% 0.21/0.75 % /export/starexec/sandbox/solver/bin/lams/35_full_unif4.sh running for 80s
% 0.21/0.76 % /export/starexec/sandbox/solver/bin/lams/15_e_short1.sh running for 30s
% 0.21/0.76 % /export/starexec/sandbox/solver/bin/lams/40_c_ic.sh running for 80s
% 0.21/0.77 % /export/starexec/sandbox/solver/bin/lams/40_noforms.sh running for 90s
% 0.21/0.77 % /export/starexec/sandbox/solver/bin/lams/20_acsne_simpl.sh running for 40s
% 0.21/0.77 % /export/starexec/sandbox/solver/bin/lams/40_b.comb.sh running for 70s
% 0.21/0.79 % /export/starexec/sandbox/solver/bin/lams/30_sp5.sh running for 60s
% 0.21/0.83 % /export/starexec/sandbox/solver/bin/lams/30_b.l.sh running for 90s
% 55.36/7.78 % Solved by lams/20_acsne_simpl.sh.
% 55.36/7.78 % done 643 iterations in 6.416s
% 55.36/7.78 % SZS status Theorem for '/export/starexec/sandbox/benchmark/theBenchmark.p'
% 55.36/7.78 % SZS output start Refutation
% See solution above
% 55.36/7.85
% 55.36/7.85
% 55.36/7.85 % /export/starexec/sandbox/solver/bin/lams/35_full_unif.sh running for 56s
% 55.36/7.85 % Terminating...
% 58.40/8.31 % Runner terminated.
% 58.40/8.32 % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------