ITP001 Axioms: ITP083_5.ax
%------------------------------------------------------------------------------
% File : ITP083_5 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 set theory export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : fmaptree_2.ax [Gau20]
% : HL4083_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 99 ( 16 unt; 36 typ; 0 def)
% Number of atoms : 1164 ( 53 equ)
% Maximal formula atoms : 15 ( 11 avg)
% Number of connectives : 191 ( 0 ~; 0 |; 23 &)
% ( 4 <=>; 164 =>; 0 <=; 0 <~>)
% Maximal formula depth : 23 ( 9 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 910 ( 910 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 134 ( 36 >; 98 *; 0 +; 0 <<)
% Number of predicates : 34 ( 33 usr; 4 prp; 0-3 aty)
% Number of functors : 36 ( 36 usr; 0 con; 2-9 aty)
% Number of variables : 318 ( 309 !; 9 ?; 318 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2Efmaptree_2Efmaptree,type,
ty_2Efmaptree_2Efmaptree: ( del * del ) > del ).
tff(tp_c_2Efmaptree_2EFTNode,type,
c_2Efmaptree_2EFTNode: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2EFTNode,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2EFTNode(A_27a,A_27b),arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))) ).
tff(tp_c_2Efmaptree_2Eapply__path,type,
c_2Efmaptree_2Eapply__path: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Eapply__path,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eapply__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))) ).
tff(tp_c_2Efmaptree_2Econstruct,type,
c_2Efmaptree_2Econstruct: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Econstruct,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Econstruct(A_27a,A_27b),arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))) ).
tff(tp_c_2Efmaptree_2Efmtreerec,type,
c_2Efmaptree_2Efmtreerec: ( del * del * del ) > $i ).
tff(mem_c_2Efmaptree_2Efmtreerec,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),arr(arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))),arr(ty_2Efmaptree_2Efmaptree(A_27c,A_27b),A_27a))) ).
tff(tp_c_2Efmaptree_2EfromF,type,
c_2Efmaptree_2EfromF: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2EfromF,axiom,
! [A_27key: del,A_27value: del] : mem(c_2Efmaptree_2EfromF(A_27key,A_27value),arr(arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)),ty_2Efmaptree_2Efmaptree(A_27key,A_27value))) ).
tff(tp_c_2Efmaptree_2Efupd__at__path,type,
c_2Efmaptree_2Efupd__at__path: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Efupd__at__path,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))))) ).
tff(tp_c_2Efmaptree_2Eitem,type,
c_2Efmaptree_2Eitem: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Eitem,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eitem(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),A_27b)) ).
tff(tp_c_2Efmaptree_2Emap,type,
c_2Efmaptree_2Emap: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Emap,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Emap(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))) ).
tff(tp_c_2Efmaptree_2Erelrec,type,
c_2Efmaptree_2Erelrec: ( del * del * del ) > $i ).
tff(mem_c_2Efmaptree_2Erelrec,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),arr(arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))),arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))) ).
tff(tp_c_2Efmaptree_2EtoF,type,
c_2Efmaptree_2EtoF: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2EtoF,axiom,
! [A_27key: del,A_27value: del] : mem(c_2Efmaptree_2EtoF(A_27key,A_27value),arr(ty_2Efmaptree_2Efmaptree(A_27key,A_27value),arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)))) ).
tff(tp_c_2Efmaptree_2Eupdate__at__path,type,
c_2Efmaptree_2Eupdate__at__path: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Eupdate__at__path,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(A_27b,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))))) ).
tff(tp_c_2Efmaptree_2Ewf,type,
c_2Efmaptree_2Ewf: ( del * del ) > $i ).
tff(mem_c_2Efmaptree_2Ewf,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Ewf(A_27a,A_27b),arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)) ).
tff(lamtp_f2040,type,
f2040: ( del * del * $i * $i ) > $i ).
tff(lameq_f2040,axiom,
! [A_27a: del,A_27b: del,V3h: $i] :
( mem(V3h,A_27b)
=> ! [V1kfm: $i] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V4t: $i] : ( ap(f2040(A_27a,A_27b,V3h,V1kfm),V4t) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(A_27a)),ap(ap(c_2Ebool_2EIN(A_27b),V3h),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1kfm))),ap(ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1kfm),V3h),V4t)),c_2Eoption_2ENONE(A_27a)) ) ) ) ).
tff(lamtp_f2041,type,
f2041: ( del * del * $i ) > $i ).
tff(lameq_f2041,axiom,
! [A_27a: del,A_27b: del,V1kfm: $i] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V3h: $i] : ( ap(f2041(A_27a,A_27b,V1kfm),V3h) = f2040(A_27a,A_27b,V3h,V1kfm) ) ) ).
tff(ax_thm_2Efmaptree_2Econstruct__def,axiom,
! [A_27a: del,A_27b: del,V0a: $i] :
( mem(V0a,A_27a)
=> ! [V1kfm: $i] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V2kl: $i] :
( mem(V2kl,ty_2Elist_2Elist(A_27b))
=> ( ap(ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V0a),V1kfm),V2kl) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27b,ty_2Eoption_2Eoption(A_27a)),V2kl),ap(c_2Eoption_2ESOME(A_27a),V0a)),f2041(A_27a,A_27b,V1kfm)) ) ) ) ) ).
tff(lamtp_f2042,type,
f2042: ( del * del * $i * $i ) > $i ).
tff(lameq_f2042,axiom,
! [A_27a: del,A_27b: del,V1wf_27: $i] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V4fm: $i] :
( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V5k: $i] : ( ap(f2042(A_27a,A_27b,V1wf_27,V4fm),V5k) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2EIN(A_27b),V5k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V4fm))),ap(V1wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V4fm),V5k))) ) ) ) ).
tff(lamtp_f2043,type,
f2043: ( del * del * $i * $i * $i ) > $i ).
tff(lameq_f2043,axiom,
! [A_27a: del,A_27b: del,V3a: $i] :
( mem(V3a,A_27a)
=> ! [V2a0: $i] :
( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V1wf_27: $i] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V4fm: $i] : ( ap(f2043(A_27a,A_27b,V3a,V2a0,V1wf_27),V4fm) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2a0),ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V3a),V4fm))),ap(c_2Ebool_2E_21(A_27b),f2042(A_27a,A_27b,V1wf_27,V4fm))) ) ) ) ) ).
tff(lamtp_f2044,type,
f2044: ( del * del * $i * $i ) > $i ).
tff(lameq_f2044,axiom,
! [A_27b: del,A_27a: del,V1wf_27: $i] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V2a0: $i] :
( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V3a: $i] : ( ap(f2044(A_27b,A_27a,V1wf_27,V2a0),V3a) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))),f2043(A_27a,A_27b,V3a,V2a0,V1wf_27)) ) ) ) ).
tff(lamtp_f2045,type,
f2045: ( del * del * $i ) > $i ).
tff(lameq_f2045,axiom,
! [A_27b: del,A_27a: del,V1wf_27: $i] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V2a0: $i] : ( ap(f2045(A_27b,A_27a,V1wf_27),V2a0) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f2044(A_27b,A_27a,V1wf_27,V2a0))),ap(V1wf_27,V2a0)) ) ) ).
tff(lamtp_f2046,type,
f2046: ( del * del * $i ) > $i ).
tff(lameq_f2046,axiom,
! [A_27b: del,A_27a: del,V0a0: $i] :
( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V1wf_27: $i] : ( ap(f2046(A_27b,A_27a,V0a0),V1wf_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_21(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),f2045(A_27b,A_27a,V1wf_27))),ap(V1wf_27,V0a0)) ) ) ).
tff(lamtp_f2047,type,
f2047: ( del * del ) > $i ).
tff(lameq_f2047,axiom,
! [A_27b: del,A_27a: del,V0a0: $i] : ( ap(f2047(A_27b,A_27a),V0a0) = ap(c_2Ebool_2E_21(arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)),f2046(A_27b,A_27a,V0a0)) ) ).
tff(ax_thm_2Efmaptree_2Ewf__def,axiom,
! [A_27a: del,A_27b: del] : ( c_2Efmaptree_2Ewf(A_27a,A_27b) = f2047(A_27b,A_27a) ) ).
tff(conj_thm_2Efmaptree_2Ewf__rules,axiom,
! [A_27a: del,A_27b: del,V0a: $i] :
( mem(V0a,A_27a)
=> ! [V1fm: $i] :
( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V2k: $i] :
( mem(V2k,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V2k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1fm)))
=> p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1fm),V2k))) ) )
=> p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V0a),V1fm))) ) ) ) ).
tff(conj_thm_2Efmaptree_2Ewf__ind,axiom,
! [A_27a: del,A_27b: del,V0wf_27: $i] :
( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ( ! [V1a: $i] :
( mem(V1a,A_27a)
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V3k: $i] :
( mem(V3k,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
=> p(ap(V0wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) )
=> p(ap(V0wf_27,ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm))) ) ) )
=> ! [V4a0: $i] :
( mem(V4a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V4a0))
=> p(ap(V0wf_27,V4a0)) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Ewf__strongind,axiom,
! [A_27a: del,A_27b: del,V0wf_27: $i] :
( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ( ! [V1a: $i] :
( mem(V1a,A_27a)
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V3k: $i] :
( mem(V3k,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k)))
& p(ap(V0wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) ) )
=> p(ap(V0wf_27,ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm))) ) ) )
=> ! [V4a0: $i] :
( mem(V4a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V4a0))
=> p(ap(V0wf_27,V4a0)) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Ewf__cases,axiom,
! [A_27a: del,A_27b: del,V0a0: $i] :
( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V0a0))
<=> ? [V1a: $i] :
( mem(V1a,A_27a)
& ? [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
& ( V0a0 = ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm) )
& ! [V3k: $i] :
( mem(V3k,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
=> p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) ) ) ) ) ) ).
tff(ax_thm_2Efmaptree_2Efmaptree__TY__DEF,axiom,
! [A_27key: del,A_27value: del] :
? [V0rep: $i] :
( mem(V0rep,arr(ty_2Efmaptree_2Efmaptree(A_27key,A_27value),arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value))))
& p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)),ty_2Efmaptree_2Efmaptree(A_27key,A_27value)),c_2Efmaptree_2Ewf(A_27value,A_27key)),V0rep)) ) ).
tff(ax_thm_2Efmaptree_2Efmap__bij__thm,axiom,
! [A_27key: del,A_27value: del] :
( ! [V0a: $i] :
( mem(V0a,ty_2Efmaptree_2Efmaptree(A_27key,A_27value))
=> ( ap(c_2Efmaptree_2EfromF(A_27key,A_27value),ap(c_2Efmaptree_2EtoF(A_27key,A_27value),V0a)) = V0a ) )
& ! [V1r: $i] :
( mem(V1r,arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27value,A_27key),V1r))
<=> ( ap(c_2Efmaptree_2EtoF(A_27key,A_27value),ap(c_2Efmaptree_2EfromF(A_27key,A_27value),V1r)) = V1r ) ) ) ) ).
tff(ax_thm_2Efmaptree_2EFTNode__def,axiom,
! [A_27a: del,A_27b: del,V0i: $i] :
( mem(V0i,A_27b)
=> ! [V1fm: $i] :
( mem(V1fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ( ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0i),V1fm) = ap(c_2Efmaptree_2EfromF(A_27a,A_27b),ap(ap(c_2Efmaptree_2Econstruct(A_27b,A_27a),V0i),ap(ap(c_2Efinite__map_2Eo__f(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),ty_2Eoption_2Eoption(A_27b))),c_2Efmaptree_2EtoF(A_27a,A_27b)),V1fm))) ) ) ) ).
tff(conj_thm_2Efmaptree_2EFTNode__11,axiom,
! [A_27a: del,A_27b: del,V0i1: $i] :
( mem(V0i1,A_27b)
=> ! [V1f1: $i] :
( mem(V1f1,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ! [V2i2: $i] :
( mem(V2i2,A_27b)
=> ! [V3f2: $i] :
( mem(V3f2,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ( ( ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0i1),V1f1) = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V2i2),V3f2) )
<=> ( ( V0i1 = V2i2 )
& ( V1f1 = V3f2 ) ) ) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Efmaptree__nchotomy,axiom,
! [A_27a: del,A_27b: del,V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ? [V1i: $i] :
( mem(V1i,A_27b)
& ? [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
& ( V0ft = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V1i),V2fm) ) ) ) ) ).
tff(ax_thm_2Efmaptree_2Eitem__map__def,axiom,
! [A_27a: del,A_27b: del,V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( V0ft = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),ap(c_2Efmaptree_2Eitem(A_27a,A_27b),V0ft)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V0ft)) ) ) ).
tff(conj_thm_2Efmaptree_2Eitem__thm,axiom,
! [A_27a: del,A_27b: del,V0i: $i] :
( mem(V0i,A_27a)
=> ! [V1fm: $i] :
( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ( ap(c_2Efmaptree_2Eitem(A_27b,A_27a),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V0i),V1fm)) = V0i ) ) ) ).
tff(conj_thm_2Efmaptree_2Emap__thm,axiom,
! [A_27a: del,A_27b: del,V0i: $i] :
( mem(V0i,A_27a)
=> ! [V1fm: $i] :
( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ( ap(c_2Efmaptree_2Emap(A_27b,A_27a),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V0i),V1fm)) = V1fm ) ) ) ).
tff(ax_thm_2Efmaptree_2Eapply__path__def,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0ft) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V0ft) ) )
& ! [V1h: $i] :
( mem(V1h,A_27a)
=> ! [V2t: $i] :
( mem(V2t,ty_2Elist_2Elist(A_27a))
=> ! [V3ft: $i] :
( mem(V3ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V1h),V2t)),V3ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V1h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft)))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V2t),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft)),V1h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ).
tff(lamtp_f2048,type,
f2048: ( del * del * $i * $i ) > $i ).
tff(lameq_f2048,axiom,
! [A_27a: del,A_27b: del,V5ft: $i] :
( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V2h: $i] :
( mem(V2h,A_27a)
=> ! [V6ft_27: $i] : ( ap(f2048(A_27a,A_27b,V5ft,V2h),V6ft_27) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),ap(c_2Efmaptree_2Eitem(A_27a,A_27b),V5ft)),ap(ap(c_2Efinite__map_2EFUPDATE(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2h),V6ft_27)))) ) ) ) ).
tff(ax_thm_2Efmaptree_2Eupdate__at__path__def,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0a: $i] :
( mem(V0a,A_27b)
=> ! [V1ft: $i] :
( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0a),V1ft) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0a),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V1ft))) ) ) )
& ! [V2h: $i] :
( mem(V2h,A_27a)
=> ! [V3t: $i] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ! [V4a: $i] :
( mem(V4a,A_27b)
=> ! [V5ft: $i] :
( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)),V4a),V5ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V2h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),V3t),V4a),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2048(A_27a,A_27b,V5ft,V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ) ).
tff(ax_thm_2Efmaptree_2Efupd__at__path__def,axiom,
! [A_27a: del,A_27b: del] :
( ! [V0f: $i] :
( mem(V0f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
=> ! [V1ft: $i] :
( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0f),V1ft) = ap(V0f,V1ft) ) ) )
& ! [V2h: $i] :
( mem(V2h,A_27a)
=> ! [V3t: $i] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ! [V4f: $i] :
( mem(V4f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
=> ! [V5ft: $i] :
( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ( ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)),V4f),V5ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V2h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),V3t),V4f),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2048(A_27a,A_27b,V5ft,V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Eft__ind,axiom,
! [A_27a: del,A_27b: del,V0P: $i] :
( mem(V0P,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),bool))
=> ( ! [V1a: $i] :
( mem(V1a,A_27b)
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ( ! [V3k: $i] :
( mem(V3k,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V3k),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2fm)))
=> p(ap(V0P,ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2fm),V3k))) ) )
=> p(ap(V0P,ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V1a),V2fm))) ) ) )
=> ! [V4ft: $i] :
( mem(V4ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> p(ap(V0P,V4ft)) ) ) ) ).
tff(lamtp_f2049,type,
f2049: ( del * del * $i * $i ) > $i ).
tff(lameq_f2049,axiom,
! [A_27a: del,A_27b: del,V1p: $i] :
( mem(V1p,ty_2Elist_2Elist(A_27a))
=> ! [V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V2ft_27: $i] : ( ap(f2049(A_27a,A_27b,V1p,V0ft),V2ft_27) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V1p),V0ft)),ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2ft_27)) ) ) ) ).
tff(lamtp_f2050,type,
f2050: ( del * del * $i ) > $i ).
tff(lameq_f2050,axiom,
! [A_27b: del,A_27a: del,V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V1p: $i] : ( ap(f2050(A_27b,A_27a,V0ft),V1p) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),bool),V1p),ap(c_2Ebool_2E_3F(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),f2049(A_27a,A_27b,V1p,V0ft))) ) ) ).
tff(conj_thm_2Efmaptree_2Eapplicable__paths__FINITE,axiom,
! [A_27a: del,A_27b: del,V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> p(ap(c_2Epred__set_2EFINITE(ty_2Elist_2Elist(A_27a)),ap(c_2Epred__set_2EGSPEC(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)),f2050(A_27b,A_27a,V0ft)))) ) ).
tff(lamtp_f2051,type,
f2051: ( del * del * $i ) > $i ).
tff(lameq_f2051,axiom,
! [A_27b: del,A_27a: del,V1x: $i] :
( mem(V1x,A_27a)
=> ! [V3ft_27: $i] : ( ap(f2051(A_27b,A_27a,V1x),V3ft_27) = ap(ap(c_2Efinite__map_2EFLOOKUP(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft_27)),V1x) ) ) ).
tff(conj_thm_2Efmaptree_2Eapply__path__SNOC,axiom,
! [A_27a: del,A_27b: del,V0ft: $i] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ! [V2p: $i] :
( mem(V2p,ty_2Elist_2Elist(A_27a))
=> ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),ap(ap(c_2Elist_2EAPPEND(A_27a),V2p),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))),V0ft) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V2p),V0ft)),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2051(A_27b,A_27a,V1x)) ) ) ) ) ).
tff(lamtp_f2052,type,
f2052: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2052,axiom,
! [A_27a: del,A_27c: del,A_27b: del,V8rfm: $i] :
( mem(V8rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V7fm: $i] :
( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V9d: $i] : ( ap(f2052(A_27a,A_27c,A_27b,V8rfm,V3relrec_27,V7fm),V9d) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2EIN(A_27b),V9d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm))),ap(ap(V3relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm),V9d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V8rfm),V9d))) ) ) ) ) ).
tff(lamtp_f2053,type,
f2053: ( del * del * del * $i * $i * $i * $i * $i * $i ) > $i ).
tff(lameq_f2053,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1: $i] :
( mem(V5a1,A_27c)
=> ! [V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V4a0: $i] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V6i: $i] :
( mem(V6i,A_27a)
=> ! [V7fm: $i] :
( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V8rfm: $i] : ( ap(f2053(A_27a,A_27b,A_27c,V3relrec_27,V5a1,V0h,V4a0,V6i,V7fm),V8rfm) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4a0),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V6i),V7fm))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27c),V5a1),ap(ap(ap(V0h,V6i),V8rfm),V7fm))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(arr(A_27b,bool)),ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V8rfm)),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm))),ap(c_2Ebool_2E_21(A_27b),f2052(A_27a,A_27c,A_27b,V8rfm,V3relrec_27,V7fm))))) ) ) ) ) ) ) ) ).
tff(lamtp_f2054,type,
f2054: ( del * del * del * $i * $i * $i * $i * $i ) > $i ).
tff(lameq_f2054,axiom,
! [A_27c: del,A_27a: del,A_27b: del,V6i: $i] :
( mem(V6i,A_27a)
=> ! [V4a0: $i] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V5a1: $i] :
( mem(V5a1,A_27c)
=> ! [V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V7fm: $i] : ( ap(f2054(A_27c,A_27a,A_27b,V6i,V4a0,V0h,V5a1,V3relrec_27),V7fm) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,A_27c)),f2053(A_27a,A_27b,A_27c,V3relrec_27,V5a1,V0h,V4a0,V6i,V7fm)) ) ) ) ) ) ) ).
tff(lamtp_f2055,type,
f2055: ( del * del * del * $i * $i * $i * $i ) > $i ).
tff(lameq_f2055,axiom,
! [A_27b: del,A_27c: del,A_27a: del,V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1: $i] :
( mem(V5a1,A_27c)
=> ! [V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V4a0: $i] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V6i: $i] : ( ap(f2055(A_27b,A_27c,A_27a,V3relrec_27,V5a1,V0h,V4a0),V6i) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))),f2054(A_27c,A_27a,A_27b,V6i,V4a0,V0h,V5a1,V3relrec_27)) ) ) ) ) ) ).
tff(lamtp_f2056,type,
f2056: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2056,axiom,
! [A_27b: del,A_27a: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V4a0: $i] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1: $i] : ( ap(f2056(A_27b,A_27a,A_27c,V0h,V4a0,V3relrec_27),V5a1) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f2055(A_27b,A_27c,A_27a,V3relrec_27,V5a1,V0h,V4a0))),ap(ap(V3relrec_27,V4a0),V5a1)) ) ) ) ) ).
tff(lamtp_f2057,type,
f2057: ( del * del * del * $i * $i ) > $i ).
tff(lameq_f2057,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V3relrec_27: $i] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V4a0: $i] : ( ap(f2057(A_27c,A_27b,A_27a,V3relrec_27,V0h),V4a0) = ap(c_2Ebool_2E_21(A_27c),f2056(A_27b,A_27a,A_27c,V0h,V4a0,V3relrec_27)) ) ) ) ).
tff(lamtp_f2058,type,
f2058: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2058,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V2a1: $i] :
( mem(V2a1,A_27c)
=> ! [V1a0: $i] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V3relrec_27: $i] : ( ap(f2058(A_27a,A_27b,A_27c,V2a1,V1a0,V0h),V3relrec_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_21(ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),f2057(A_27c,A_27b,A_27a,V3relrec_27,V0h))),ap(ap(V3relrec_27,V1a0),V2a1)) ) ) ) ) ).
tff(lamtp_f2059,type,
f2059: ( del * del * del * $i * $i ) > $i ).
tff(lameq_f2059,axiom,
! [A_27b: del,A_27a: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1a0: $i] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V2a1: $i] : ( ap(f2059(A_27b,A_27a,A_27c,V0h,V1a0),V2a1) = ap(c_2Ebool_2E_21(arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool))),f2058(A_27a,A_27b,A_27c,V2a1,V1a0,V0h)) ) ) ) ).
tff(lamtp_f2060,type,
f2060: ( del * del * del * $i ) > $i ).
tff(lameq_f2060,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1a0: $i] : ( ap(f2060(A_27c,A_27b,A_27a,V0h),V1a0) = f2059(A_27b,A_27a,A_27c,V0h,V1a0) ) ) ).
tff(lamtp_f2061,type,
f2061: ( del * del * del ) > $i ).
tff(lameq_f2061,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V0h: $i] : ( ap(f2061(A_27c,A_27b,A_27a),V0h) = f2060(A_27c,A_27b,A_27a,V0h) ) ).
tff(ax_thm_2Efmaptree_2Erelrec__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c) = f2061(A_27c,A_27b,A_27a) ) ).
tff(conj_thm_2Efmaptree_2Erelrec__rules,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1i: $i] :
( mem(V1i,A_27a)
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V3rfm: $i] :
( mem(V3rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V3rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm) )
& ! [V4d: $i] :
( mem(V4d,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V4d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm)))
=> p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm),V4d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V3rfm),V4d))) ) ) )
=> p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V1i),V2fm)),ap(ap(ap(V0h,V1i),V3rfm),V2fm))) ) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Erelrec__ind,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1relrec_27: $i] :
( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ( ! [V2i: $i] :
( mem(V2i,A_27a)
=> ! [V3fm: $i] :
( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V4rfm: $i] :
( mem(V4rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V4rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm) )
& ! [V5d: $i] :
( mem(V5d,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V5d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm)))
=> p(ap(ap(V1relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d))) ) ) )
=> p(ap(ap(V1relrec_27,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)),ap(ap(ap(V0h,V2i),V4rfm),V3fm))) ) ) ) )
=> ! [V6a0: $i] :
( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V7a1: $i] :
( mem(V7a1,A_27c)
=> ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V6a0),V7a1))
=> p(ap(ap(V1relrec_27,V6a0),V7a1)) ) ) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Erelrec__strongind,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1relrec_27: $i] :
( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ( ! [V2i: $i] :
( mem(V2i,A_27a)
=> ! [V3fm: $i] :
( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V4rfm: $i] :
( mem(V4rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V4rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm) )
& ! [V5d: $i] :
( mem(V5d,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V5d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm)))
=> ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d)))
& p(ap(ap(V1relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d))) ) ) ) )
=> p(ap(ap(V1relrec_27,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)),ap(ap(ap(V0h,V2i),V4rfm),V3fm))) ) ) ) )
=> ! [V6a0: $i] :
( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V7a1: $i] :
( mem(V7a1,A_27c)
=> ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V6a0),V7a1))
=> p(ap(ap(V1relrec_27,V6a0),V7a1)) ) ) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Erelrec__cases,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
=> ! [V1a0: $i] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V2a1: $i] :
( mem(V2a1,A_27c)
=> ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V1a0),V2a1))
<=> ? [V3i: $i] :
( mem(V3i,A_27a)
& ? [V4fm: $i] :
( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
& ? [V5rfm: $i] :
( mem(V5rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
& ( V1a0 = ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V3i),V4fm) )
& ( V2a1 = ap(ap(ap(V0h,V3i),V5rfm),V4fm) )
& ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V5rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm) )
& ! [V6d: $i] :
( mem(V6d,A_27b)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27b),V6d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm)))
=> p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm),V6d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V5rfm),V6d))) ) ) ) ) ) ) ) ) ) ).
tff(lamtp_f2062,type,
f2062: ( del * del * del * $i * $i ) > $i ).
tff(lameq_f2062,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V1ft: $i] :
( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
=> ! [V0h: $i] :
( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
=> ! [V2r: $i] : ( ap(f2062(A_27c,A_27b,A_27a,V1ft,V0h),V2r) = ap(ap(ap(c_2Efmaptree_2Erelrec(A_27b,A_27c,A_27a),V0h),V1ft),V2r) ) ) ) ).
tff(ax_thm_2Efmaptree_2Efmtreerec__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
=> ! [V1ft: $i] :
( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
=> ( ap(ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h),V1ft) = ap(c_2Emin_2E_40(A_27a),f2062(A_27c,A_27b,A_27a,V1ft,V0h)) ) ) ) ).
tff(conj_thm_2Efmaptree_2Efmtreerec__thm,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
=> ! [V1i: $i] :
( mem(V1i,A_27b)
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)))
=> ( ap(ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efmaptree_2EFTNode(A_27c,A_27b),V1i),V2fm)) = ap(ap(ap(V0h,V1i),ap(ap(c_2Efinite__map_2Eo__f(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b),A_27a),ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h)),V2fm)),V2fm) ) ) ) ) ).
tff(conj_thm_2Efmaptree_2Efmtree__Axiom,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),A_27c))))
=> ? [V1f: $i] :
( mem(V1f,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c))
& ! [V2i: $i] :
( mem(V2i,A_27a)
=> ! [V3fm: $i] :
( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ( ap(V1f,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)) = ap(ap(ap(V0h,V2i),V3fm),ap(ap(c_2Efinite__map_2Eo__f(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c),V1f),V3fm)) ) ) ) ) ) ).
%------------------------------------------------------------------------------