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 : 64 ( 2 unt; 0 def)
% Number of atoms : 347 ( 53 equ)
% Maximal formula atoms : 18 ( 5 avg)
% Number of connectives : 283 ( 0 ~; 0 |; 23 &)
% ( 4 <=>; 256 =>; 0 <=; 0 <~>)
% Maximal formula depth : 26 ( 10 avg)
% Maximal term depth : 11 ( 2 avg)
% Number of predicates : 4 ( 3 usr; 0 prp; 1-2 aty)
% Number of functors : 66 ( 66 usr; 3 con; 0-9 aty)
% Number of variables : 320 ( 311 !; 9 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2Efmaptree_2Efmaptree,axiom,
! [A0] :
( ne(A0)
=> ! [A1] :
( ne(A1)
=> ne(ty_2Efmaptree_2Efmaptree(A0,A1)) ) ) ).
fof(mem_c_2Efmaptree_2EFTNode,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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)))) ) ) ).
fof(mem_c_2Efmaptree_2Eapply__path,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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))))) ) ) ).
fof(mem_c_2Efmaptree_2Econstruct,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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))))) ) ) ).
fof(mem_c_2Efmaptree_2Efmtreerec,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> 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))) ) ) ) ).
fof(mem_c_2Efmaptree_2EfromF,axiom,
! [A_27key] :
( ne(A_27key)
=> ! [A_27value] :
( ne(A_27value)
=> 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))) ) ) ).
fof(mem_c_2Efmaptree_2Efupd__at__path,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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)))))) ) ) ).
fof(mem_c_2Efmaptree_2Eitem,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2Efmaptree_2Eitem(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),A_27b)) ) ) ).
fof(mem_c_2Efmaptree_2Emap,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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)))) ) ) ).
fof(mem_c_2Efmaptree_2Erelrec,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> 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)))) ) ) ) ).
fof(mem_c_2Efmaptree_2EtoF,axiom,
! [A_27key] :
( ne(A_27key)
=> ! [A_27value] :
( ne(A_27value)
=> 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)))) ) ) ).
fof(mem_c_2Efmaptree_2Eupdate__at__path,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> 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)))))) ) ) ).
fof(mem_c_2Efmaptree_2Ewf,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2Efmaptree_2Ewf(A_27a,A_27b),arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)) ) ) ).
fof(lameq_f2040,axiom,
! [A_27a,A_27b,V3h] :
( mem(V3h,A_27b)
=> ! [V1kfm] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V4t] : 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)) ) ) ).
fof(lameq_f2041,axiom,
! [A_27a,A_27b,V1kfm] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V3h] : ap(f2041(A_27a,A_27b,V1kfm),V3h) = f2040(A_27a,A_27b,V3h,V1kfm) ) ).
fof(ax_thm_2Efmaptree_2Econstruct__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0a] :
( mem(V0a,A_27a)
=> ! [V1kfm] :
( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V2kl] :
( 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)) ) ) ) ) ) ).
fof(lameq_f2042,axiom,
! [A_27a,A_27b,V1wf_27] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V4fm] :
( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ! [V5k] : 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))) ) ) ).
fof(lameq_f2043,axiom,
! [A_27a,A_27b,V3a] :
( mem(V3a,A_27a)
=> ! [V2a0] :
( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V1wf_27] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V4fm] : 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))) ) ) ) ).
fof(lameq_f2044,axiom,
! [A_27b,A_27a,V1wf_27] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V2a0] :
( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V3a] : 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)) ) ) ).
fof(lameq_f2045,axiom,
! [A_27b,A_27a,V1wf_27] :
( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ! [V2a0] : 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)) ) ).
fof(lameq_f2046,axiom,
! [A_27b,A_27a,V0a0] :
( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ! [V1wf_27] : 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)) ) ).
fof(lameq_f2047,axiom,
! [A_27b,A_27a,V0a0] : 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)) ).
fof(ax_thm_2Efmaptree_2Ewf__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> c_2Efmaptree_2Ewf(A_27a,A_27b) = f2047(A_27b,A_27a) ) ) ).
fof(conj_thm_2Efmaptree_2Ewf__rules,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0a] :
( mem(V0a,A_27a)
=> ! [V1fm] :
( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V2k] :
( 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))) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Ewf__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0wf_27] :
( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ( ! [V1a] :
( mem(V1a,A_27a)
=> ! [V2fm] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V3k] :
( 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] :
( 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)) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Ewf__strongind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0wf_27] :
( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
=> ( ! [V1a] :
( mem(V1a,A_27a)
=> ! [V2fm] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
=> ( ! [V3k] :
( 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] :
( 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)) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Ewf__cases,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0a0] :
( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
=> ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V0a0))
<=> ? [V1a] :
( mem(V1a,A_27a)
& ? [V2fm] :
( 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] :
( 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))) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2Efmaptree_2Efmaptree__TY__DEF,axiom,
! [A_27key] :
( ne(A_27key)
=> ! [A_27value] :
( ne(A_27value)
=> ? [V0rep] :
( 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)) ) ) ) ).
fof(ax_thm_2Efmaptree_2Efmap__bij__thm,axiom,
! [A_27key] :
( ne(A_27key)
=> ! [A_27value] :
( ne(A_27value)
=> ( ! [V0a] :
( 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] :
( 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 ) ) ) ) ) ).
fof(ax_thm_2Efmaptree_2EFTNode__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27b)
=> ! [V1fm] :
( 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))) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2EFTNode__11,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i1] :
( mem(V0i1,A_27b)
=> ! [V1f1] :
( mem(V1f1,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ! [V2i2] :
( mem(V2i2,A_27b)
=> ! [V3f2] :
( 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 ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Efmaptree__nchotomy,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0ft] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ? [V1i] :
( mem(V1i,A_27b)
& ? [V2fm] :
( 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) ) ) ) ) ) ).
fof(ax_thm_2Efmaptree_2Eitem__map__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0ft] :
( 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)) ) ) ) ).
fof(conj_thm_2Efmaptree_2Eitem__thm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1fm] :
( 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 ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Emap__thm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1fm] :
( 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 ) ) ) ) ).
fof(ax_thm_2Efmaptree_2Eapply__path__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0ft] :
( 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] :
( mem(V1h,A_27a)
=> ! [V2t] :
( mem(V2t,ty_2Elist_2Elist(A_27a))
=> ! [V3ft] :
( 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))) ) ) ) ) ) ) ).
fof(lameq_f2048,axiom,
! [A_27a,A_27b,V5ft] :
( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V2h] :
( mem(V2h,A_27a)
=> ! [V6ft_27] : 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)))) ) ) ).
fof(ax_thm_2Efmaptree_2Eupdate__at__path__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0a] :
( mem(V0a,A_27b)
=> ! [V1ft] :
( 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] :
( mem(V2h,A_27a)
=> ! [V3t] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ! [V4a] :
( mem(V4a,A_27b)
=> ! [V5ft] :
( 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))) ) ) ) ) ) ) ) ).
fof(ax_thm_2Efmaptree_2Efupd__at__path__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0f] :
( mem(V0f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
=> ! [V1ft] :
( 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] :
( mem(V2h,A_27a)
=> ! [V3t] :
( mem(V3t,ty_2Elist_2Elist(A_27a))
=> ! [V4f] :
( mem(V4f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
=> ! [V5ft] :
( 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))) ) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Eft__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0P] :
( mem(V0P,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),bool))
=> ( ! [V1a] :
( mem(V1a,A_27b)
=> ! [V2fm] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
=> ( ! [V3k] :
( 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] :
( mem(V4ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> p(ap(V0P,V4ft)) ) ) ) ) ) ).
fof(lameq_f2049,axiom,
! [A_27a,A_27b,V1p] :
( mem(V1p,ty_2Elist_2Elist(A_27a))
=> ! [V0ft] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V2ft_27] : 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)) ) ) ).
fof(lameq_f2050,axiom,
! [A_27b,A_27a,V0ft] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V1p] : 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))) ) ).
fof(conj_thm_2Efmaptree_2Eapplicable__paths__FINITE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0ft] :
( 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)))) ) ) ) ).
fof(lameq_f2051,axiom,
! [A_27b,A_27a,V1x] :
( mem(V1x,A_27a)
=> ! [V3ft_27] : 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) ) ).
fof(conj_thm_2Efmaptree_2Eapply__path__SNOC,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0ft] :
( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2p] :
( 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)) ) ) ) ) ) ).
fof(lameq_f2052,axiom,
! [A_27a,A_27c,A_27b,V8rfm] :
( mem(V8rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
=> ! [V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V7fm] :
( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V9d] : 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))) ) ) ) ).
fof(lameq_f2053,axiom,
! [A_27a,A_27b,A_27c,V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1] :
( mem(V5a1,A_27c)
=> ! [V0h] :
( 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] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V6i] :
( mem(V6i,A_27a)
=> ! [V7fm] :
( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V8rfm] : 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))))) ) ) ) ) ) ) ).
fof(lameq_f2054,axiom,
! [A_27c,A_27a,A_27b,V6i] :
( mem(V6i,A_27a)
=> ! [V4a0] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V0h] :
( 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] :
( mem(V5a1,A_27c)
=> ! [V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V7fm] : 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)) ) ) ) ) ) ).
fof(lameq_f2055,axiom,
! [A_27b,A_27c,A_27a,V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1] :
( mem(V5a1,A_27c)
=> ! [V0h] :
( 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] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V6i] : 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)) ) ) ) ) ).
fof(lameq_f2056,axiom,
! [A_27b,A_27a,A_27c,V0h] :
( 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] :
( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V5a1] : 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)) ) ) ) ).
fof(lameq_f2057,axiom,
! [A_27c,A_27b,A_27a,V3relrec_27] :
( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ! [V0h] :
( 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] : 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)) ) ) ).
fof(lameq_f2058,axiom,
! [A_27a,A_27b,A_27c,V2a1] :
( mem(V2a1,A_27c)
=> ! [V1a0] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V0h] :
( 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] : 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)) ) ) ) ).
fof(lameq_f2059,axiom,
! [A_27b,A_27a,A_27c,V0h] :
( 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] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V2a1] : 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)) ) ) ).
fof(lameq_f2060,axiom,
! [A_27c,A_27b,A_27a,V0h] :
( 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] : ap(f2060(A_27c,A_27b,A_27a,V0h),V1a0) = f2059(A_27b,A_27a,A_27c,V0h,V1a0) ) ).
fof(lameq_f2061,axiom,
! [A_27c,A_27b,A_27a,V0h] : ap(f2061(A_27c,A_27b,A_27a),V0h) = f2060(A_27c,A_27b,A_27a,V0h) ).
fof(ax_thm_2Efmaptree_2Erelrec__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c) = f2061(A_27c,A_27b,A_27a) ) ) ) ).
fof(conj_thm_2Efmaptree_2Erelrec__rules,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1i,A_27a)
=> ! [V2fm] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V3rfm] :
( 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] :
( 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))) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Erelrec__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ( ! [V2i] :
( mem(V2i,A_27a)
=> ! [V3fm] :
( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V4rfm] :
( 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] :
( 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] :
( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V7a1] :
( 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)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Erelrec__strongind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
=> ( ! [V2i] :
( mem(V2i,A_27a)
=> ! [V3fm] :
( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
=> ! [V4rfm] :
( 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] :
( 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] :
( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V7a1] :
( 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)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Erelrec__cases,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
=> ! [V2a1] :
( mem(V2a1,A_27c)
=> ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V1a0),V2a1))
<=> ? [V3i] :
( mem(V3i,A_27a)
& ? [V4fm] :
( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
& ? [V5rfm] :
( 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] :
( 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))) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f2062,axiom,
! [A_27c,A_27b,A_27a,V1ft] :
( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
=> ! [V0h] :
( 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] : 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) ) ) ).
fof(ax_thm_2Efmaptree_2Efmtreerec__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( 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)) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Efmtreerec__thm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1i,A_27b)
=> ! [V2fm] :
( 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) ) ) ) ) ) ) ).
fof(conj_thm_2Efmaptree_2Efmtree__Axiom,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0h] :
( 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] :
( mem(V1f,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c))
& ! [V2i] :
( mem(V2i,A_27a)
=> ! [V3fm] :
( 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)) ) ) ) ) ) ) ) ).
%------------------------------------------------------------------------------