ITP001 Axioms: ITP067+5.ax
%------------------------------------------------------------------------------
% File : ITP067+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 : mergesort+2.ax [Gau20]
% : HL4067+5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 74 ( 2 unt; 0 def)
% Number of atoms : 656 ( 87 equ)
% Maximal formula atoms : 76 ( 8 avg)
% Number of connectives : 604 ( 22 ~; 0 |; 96 &)
% ( 8 <=>; 478 =>; 0 <=; 0 <~>)
% Maximal formula depth : 38 ( 11 avg)
% Maximal term depth : 12 ( 2 avg)
% Number of predicates : 6 ( 3 usr; 2 prp; 0-2 aty)
% Number of functors : 67 ( 67 usr; 11 con; 0-5 aty)
% Number of variables : 484 ( 484 !; 0 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Emergesort_2Emerge,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Emerge(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))) ) ).
fof(mem_c_2Emergesort_2Emerge__tail,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Emerge__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))))) ) ).
fof(mem_c_2Emergesort_2Emergesort,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Emergesort(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))) ) ).
fof(mem_c_2Emergesort_2EmergesortN,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2EmergesortN(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))) ) ).
fof(mem_c_2Emergesort_2EmergesortN__tail,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2EmergesortN__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))))) ) ).
fof(mem_c_2Emergesort_2Emergesort__tail,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Emergesort__tail(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))) ) ).
fof(mem_c_2Emergesort_2Esort2,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Esort2(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a))))) ) ).
fof(mem_c_2Emergesort_2Esort2__tail,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Esort2__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a)))))) ) ).
fof(mem_c_2Emergesort_2Esort3,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Esort3(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a)))))) ) ).
fof(mem_c_2Emergesort_2Esort3__tail,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Esort3__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a))))))) ) ).
fof(mem_c_2Emergesort_2Estable,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2Emergesort_2Estable(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool)))) ) ).
fof(ax_thm_2Emergesort_2Estable__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
<=> ! [V3p] :
( mem(V3p,arr(A_27a,bool))
=> ( ! [V4x] :
( mem(V4x,A_27a)
=> ! [V5y] :
( mem(V5y,A_27a)
=> ( ( p(ap(V3p,V4x))
& p(ap(V3p,V5y)) )
=> p(ap(ap(V0R,V4x),V5y)) ) ) )
=> ap(ap(c_2Elist_2EFILTER(A_27a),V3p),V1l1) = ap(ap(c_2Elist_2EFILTER(A_27a),V3p),V2l2) ) ) ) ) ) ) ) ).
fof(ax_thm_2Emergesort_2Esort2__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V2y)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))) ) ) ) ) ).
fof(ax_thm_2Emergesort_2Esort3__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ! [V3z] :
( mem(V3z,A_27a)
=> ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V2y)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V2y),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a))))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V2y),V3z)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))))),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))))
=> ( ( ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(V0P,V1R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a))) )
& ! [V2R] :
( mem(V2R,arr(A_27a,arr(A_27a,bool)))
=> ! [V3v8] :
( mem(V3v8,A_27a)
=> ! [V4v9] :
( mem(V4v9,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V2R),ap(ap(c_2Elist_2ECONS(A_27a),V3v8),V4v9)),c_2Elist_2ENIL(A_27a))) ) ) )
& ! [V5R] :
( mem(V5R,arr(A_27a,arr(A_27a,bool)))
=> ! [V6v4] :
( mem(V6v4,A_27a)
=> ! [V7v5] :
( mem(V7v5,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V5R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V6v4),V7v5))) ) ) )
& ! [V8R] :
( mem(V8R,arr(A_27a,arr(A_27a,bool)))
=> ! [V9x] :
( mem(V9x,A_27a)
=> ! [V10l1] :
( mem(V10l1,ty_2Elist_2Elist(A_27a))
=> ! [V11y] :
( mem(V11y,A_27a)
=> ! [V12l2] :
( mem(V12l2,ty_2Elist_2Elist(A_27a))
=> ( ( ( ~ p(ap(ap(V8R,V9x),V11y))
=> p(ap(ap(ap(V0P,V8R),ap(ap(c_2Elist_2ECONS(A_27a),V9x),V10l1)),V12l2)) )
& ( p(ap(ap(V8R,V9x),V11y))
=> p(ap(ap(ap(V0P,V8R),V10l1),ap(ap(c_2Elist_2ECONS(A_27a),V11y),V12l2))) ) )
=> p(ap(ap(ap(V0P,V8R),ap(ap(c_2Elist_2ECONS(A_27a),V9x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27a),V11y),V12l2))) ) ) ) ) ) ) )
=> ! [V13v] :
( mem(V13v,arr(A_27a,arr(A_27a,bool)))
=> ! [V14v1] :
( mem(V14v1,ty_2Elist_2Elist(A_27a))
=> ! [V15v2] :
( mem(V15v2,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V13v),V14v1),V15v2)) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) )
& ! [V1v9] :
( mem(V1v9,ty_2Elist_2Elist(A_27a))
=> ! [V2v8] :
( mem(V2v8,A_27a)
=> ! [V3R] :
( mem(V3R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V3R),ap(ap(c_2Elist_2ECONS(A_27a),V2v8),V1v9)),c_2Elist_2ENIL(A_27a)) = ap(ap(c_2Elist_2ECONS(A_27a),V2v8),V1v9) ) ) )
& ! [V4v5] :
( mem(V4v5,ty_2Elist_2Elist(A_27a))
=> ! [V5v4] :
( mem(V5v4,A_27a)
=> ! [V6R] :
( mem(V6R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V6R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V5v4),V4v5)) = ap(ap(c_2Elist_2ECONS(A_27a),V5v4),V4v5) ) ) )
& ! [V7y] :
( mem(V7y,A_27a)
=> ! [V8x] :
( mem(V8x,A_27a)
=> ! [V9l2] :
( mem(V9l2,ty_2Elist_2Elist(A_27a))
=> ! [V10l1] :
( mem(V10l1,ty_2Elist_2Elist(A_27a))
=> ! [V11R] :
( mem(V11R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),ap(ap(c_2Elist_2ECONS(A_27a),V8x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27a),V7y),V9l2)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V11R,V8x),V7y)),ap(ap(c_2Elist_2ECONS(A_27a),V8x),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),V10l1),ap(ap(c_2Elist_2ECONS(A_27a),V7y),V9l2)))),ap(ap(c_2Elist_2ECONS(A_27a),V7y),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),ap(ap(c_2Elist_2ECONS(A_27a),V8x),V10l1)),V9l2))) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),bool))))
=> ( ( ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V1R),c_2Enum_2E0),V2l)) ) )
& ! [V3R] :
( mem(V3R,arr(A_27a,arr(A_27a,bool)))
=> ! [V4x] :
( mem(V4x,A_27a)
=> ! [V5l] :
( mem(V5l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V3R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V4x),V5l))) ) ) )
& ! [V6R] :
( mem(V6R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(V0P,V6R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a))) )
& ! [V7R] :
( mem(V7R,arr(A_27a,arr(A_27a,bool)))
=> ! [V8x] :
( mem(V8x,A_27a)
=> ! [V9y] :
( mem(V9y,A_27a)
=> ! [V10l] :
( mem(V10l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V7R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V8x),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V10l)))) ) ) ) )
& ! [V11R] :
( mem(V11R,arr(A_27a,arr(A_27a,bool)))
=> ! [V12x] :
( mem(V12x,A_27a)
=> p(ap(ap(ap(V0P,V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V12x),c_2Elist_2ENIL(A_27a)))) ) )
& ! [V13R] :
( mem(V13R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(V0P,V13R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a))) )
& ! [V14R] :
( mem(V14R,arr(A_27a,arr(A_27a,bool)))
=> ! [V15x] :
( mem(V15x,A_27a)
=> ! [V16y] :
( mem(V16y,A_27a)
=> ! [V17z] :
( mem(V17z,A_27a)
=> ! [V18l] :
( mem(V18l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V14R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V15x),ap(ap(c_2Elist_2ECONS(A_27a),V16y),ap(ap(c_2Elist_2ECONS(A_27a),V17z),V18l))))) ) ) ) ) )
& ! [V19R] :
( mem(V19R,arr(A_27a,arr(A_27a,bool)))
=> ! [V20x] :
( mem(V20x,A_27a)
=> ! [V21y] :
( mem(V21y,A_27a)
=> p(ap(ap(ap(V0P,V19R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V20x),ap(ap(c_2Elist_2ECONS(A_27a),V21y),c_2Elist_2ENIL(A_27a))))) ) ) )
& ! [V22R] :
( mem(V22R,arr(A_27a,arr(A_27a,bool)))
=> ! [V23x] :
( mem(V23x,A_27a)
=> p(ap(ap(ap(V0P,V22R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V23x),c_2Elist_2ENIL(A_27a)))) ) )
& ! [V24R] :
( mem(V24R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(V0P,V24R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) )
& ! [V25R] :
( mem(V25R,arr(A_27a,arr(A_27a,bool)))
=> ! [V26v4] :
( mem(V26v4,ty_2Enum_2Enum)
=> ! [V27l] :
( mem(V27l,ty_2Elist_2Elist(A_27a))
=> ( ( ! [V28len1] :
( mem(V28len1,ty_2Enum_2Enum)
=> ( ( V26v4 != c_2Enum_2E0
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
& V28len1 = ap(c_2Earithmetic_2EDIV2,V26v4) )
=> p(ap(ap(ap(V0P,V25R),ap(c_2Earithmetic_2EDIV2,V26v4)),V27l)) ) )
& ! [V29len1] :
( mem(V29len1,ty_2Enum_2Enum)
=> ( ( V26v4 != c_2Enum_2E0
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))
& V26v4 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
& V29len1 = ap(c_2Earithmetic_2EDIV2,V26v4) )
=> p(ap(ap(ap(V0P,V25R),ap(ap(c_2Earithmetic_2E_2D,V26v4),V29len1)),ap(ap(c_2Elist_2EDROP(A_27a),V29len1),V27l))) ) ) )
=> p(ap(ap(ap(V0P,V25R),V26v4),V27l)) ) ) ) ) )
=> ! [V30v] :
( mem(V30v,arr(A_27a,arr(A_27a,bool)))
=> ! [V31v1] :
( mem(V31v1,ty_2Enum_2Enum)
=> ! [V32v2] :
( mem(V32v2,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(V0P,V30v),V31v1),V32v2)) ) ) ) ) ) ) ).
fof(lameq_f1802,axiom,
! [A_27a,V27x] : ap(f1802(A_27a),V27x) = k(ty_2Elist_2Elist(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V27x),c_2Elist_2ENIL(A_27a))) ).
fof(lameq_f1803,axiom,
! [A_27a,V29x_27] :
( mem(V29x_27,A_27a)
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V31y] : ap(f1803(A_27a,V29x_27,V26R),V31y) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V26R),V29x_27),V31y)) ) ) ).
fof(lameq_f1804,axiom,
! [A_27a,V29x_27] :
( mem(V29x_27,A_27a)
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V30v17] : ap(f1804(A_27a,V29x_27,V26R),V30v17) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V30v17),ap(ap(c_2Elist_2ECONS(A_27a),V29x_27),c_2Elist_2ENIL(A_27a))),f1803(A_27a,V29x_27,V26R)) ) ) ).
fof(lameq_f1805,axiom,
! [A_27a,V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V29x_27] : ap(f1805(A_27a,V26R),V29x_27) = f1804(A_27a,V29x_27,V26R) ) ).
fof(lameq_f1806,axiom,
! [A_27a,V35y_27] :
( mem(V35y_27,A_27a)
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V33x_27_27] :
( mem(V33x_27_27,A_27a)
=> ! [V37z] : ap(f1806(A_27a,V35y_27,V26R,V33x_27_27),V37z) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V26R),V33x_27_27),V35y_27),V37z)) ) ) ) ).
fof(lameq_f1807,axiom,
! [A_27a,V35y_27] :
( mem(V35y_27,A_27a)
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V33x_27_27] :
( mem(V33x_27_27,A_27a)
=> ! [V36v29] : ap(f1807(A_27a,V35y_27,V26R,V33x_27_27),V36v29) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36v29),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V26R),V33x_27_27),V35y_27)),f1806(A_27a,V35y_27,V26R,V33x_27_27)) ) ) ) ).
fof(lameq_f1808,axiom,
! [A_27a,V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V33x_27_27] :
( mem(V33x_27_27,A_27a)
=> ! [V35y_27] : ap(f1808(A_27a,V26R,V33x_27_27),V35y_27) = f1807(A_27a,V35y_27,V26R,V33x_27_27) ) ) ).
fof(lameq_f1809,axiom,
! [A_27a,V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V33x_27_27] :
( mem(V33x_27_27,A_27a)
=> ! [V34v25] : ap(f1809(A_27a,V26R,V33x_27_27),V34v25) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V34v25),ap(ap(c_2Elist_2ECONS(A_27a),V33x_27_27),c_2Elist_2ENIL(A_27a))),f1808(A_27a,V26R,V33x_27_27)) ) ) ).
fof(lameq_f1810,axiom,
! [A_27a,V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V33x_27_27] : ap(f1810(A_27a,V26R),V33x_27_27) = f1809(A_27a,V26R,V33x_27_27) ) ).
fof(lameq_f1811,axiom,
! [A_27a,V25l] :
( mem(V25l,ty_2Elist_2Elist(A_27a))
=> ! [V24v4] :
( mem(V24v4,ty_2Enum_2Enum)
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ! [V39len1] : ap(f1811(A_27a,V25l,V24v4,V26R),V39len1) = ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V26R),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),ap(c_2Earithmetic_2EDIV2,V24v4)),V25l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),ap(ap(c_2Earithmetic_2E_2D,V24v4),V39len1)),ap(ap(c_2Elist_2EDROP(A_27a),V39len1),V25l))) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0l] :
( mem(V0l,ty_2Elist_2Elist(A_27a))
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),c_2Enum_2E0),V0l) = c_2Elist_2ENIL(A_27a) ) )
& ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3l] :
( mem(V3l,ty_2Elist_2Elist(A_27a))
=> ! [V4R] :
( mem(V4R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V4R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3l)) = ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)) ) ) )
& ! [V5R] :
( mem(V5R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V5R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) )
& ! [V6y] :
( mem(V6y,A_27a)
=> ! [V7x] :
( mem(V7x,A_27a)
=> ! [V8l] :
( mem(V8l,ty_2Elist_2Elist(A_27a))
=> ! [V9R] :
( mem(V9R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V9R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V7x),ap(ap(c_2Elist_2ECONS(A_27a),V6y),V8l))) = ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V9R),V7x),V6y) ) ) ) )
& ! [V10x] :
( mem(V10x,A_27a)
=> ! [V11R] :
( mem(V11R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V10x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V10x),c_2Elist_2ENIL(A_27a)) ) )
& ! [V12R] :
( mem(V12R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V12R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) )
& ! [V13z] :
( mem(V13z,A_27a)
=> ! [V14y] :
( mem(V14y,A_27a)
=> ! [V15x] :
( mem(V15x,A_27a)
=> ! [V16l] :
( mem(V16l,ty_2Elist_2Elist(A_27a))
=> ! [V17R] :
( mem(V17R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V17R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V15x),ap(ap(c_2Elist_2ECONS(A_27a),V14y),ap(ap(c_2Elist_2ECONS(A_27a),V13z),V16l)))) = ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V17R),V15x),V14y),V13z) ) ) ) ) )
& ! [V18y] :
( mem(V18y,A_27a)
=> ! [V19x] :
( mem(V19x,A_27a)
=> ! [V20R] :
( mem(V20R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V20R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V19x),ap(ap(c_2Elist_2ECONS(A_27a),V18y),c_2Elist_2ENIL(A_27a)))) = ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V20R),V19x),V18y) ) ) )
& ! [V21x] :
( mem(V21x,A_27a)
=> ! [V22R] :
( mem(V22R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V22R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V21x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V21x),c_2Elist_2ENIL(A_27a)) ) )
& ! [V23R] :
( mem(V23R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V23R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) )
& ! [V24v4] :
( mem(V24v4,ty_2Enum_2Enum)
=> ! [V25l] :
( mem(V25l,ty_2Elist_2Elist(A_27a))
=> ! [V26R] :
( mem(V26R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),V24v4),V25l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V24v4),c_2Enum_2E0)),c_2Elist_2ENIL(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V24v4),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1802(A_27a))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V24v4),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1805(A_27a,V26R))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V24v4),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1810(A_27a,V26R))),ap(ap(c_2Ebool_2ELET(ty_2Enum_2Enum,ty_2Elist_2Elist(A_27a)),f1811(A_27a,V25l,V24v4,V26R)),ap(c_2Earithmetic_2EDIV2,V24v4)))))) ) ) ) ) ) ).
fof(ax_thm_2Emergesort_2Emergesort__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l) = ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),ap(c_2Elist_2ELENGTH(A_27a),V1l)),V1l) ) ) ) ).
fof(ax_thm_2Emergesort_2Esort2__tail__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V0neg),V1R),V2x),V3y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V3y)),V0neg))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a)))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))) ) ) ) ) ) ).
fof(ax_thm_2Emergesort_2Esort3__tail__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ! [V4z] :
( mem(V4z,A_27a)
=> ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),V0neg),V1R),V2x),V3y),V4z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V3y)),V0neg))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V3y),V4z)),V0neg))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V4z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V4z)),V0neg))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a))))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V3y),V4z)),V0neg))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V4z)),V0neg))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V4z),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))))),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))))) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__tail__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))))))
=> ( ( ! [V1negate] :
( mem(V1negate,bool)
=> ! [V2R] :
( mem(V2R,arr(A_27a,arr(A_27a,bool)))
=> ! [V3acc] :
( mem(V3acc,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(ap(V0P,V1negate),V2R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)),V3acc)) ) ) )
& ! [V4negate] :
( mem(V4negate,bool)
=> ! [V5R] :
( mem(V5R,arr(A_27a,arr(A_27a,bool)))
=> ! [V6v12] :
( mem(V6v12,A_27a)
=> ! [V7v13] :
( mem(V7v13,ty_2Elist_2Elist(A_27a))
=> ! [V8acc] :
( mem(V8acc,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(ap(V0P,V4negate),V5R),ap(ap(c_2Elist_2ECONS(A_27a),V6v12),V7v13)),c_2Elist_2ENIL(A_27a)),V8acc)) ) ) ) ) )
& ! [V9negate] :
( mem(V9negate,bool)
=> ! [V10R] :
( mem(V10R,arr(A_27a,arr(A_27a,bool)))
=> ! [V11v8] :
( mem(V11v8,A_27a)
=> ! [V12v9] :
( mem(V12v9,ty_2Elist_2Elist(A_27a))
=> ! [V13acc] :
( mem(V13acc,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(ap(V0P,V9negate),V10R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V11v8),V12v9)),V13acc)) ) ) ) ) )
& ! [V14negate] :
( mem(V14negate,bool)
=> ! [V15R] :
( mem(V15R,arr(A_27a,arr(A_27a,bool)))
=> ! [V16x] :
( mem(V16x,A_27a)
=> ! [V17l1] :
( mem(V17l1,ty_2Elist_2Elist(A_27a))
=> ! [V18y] :
( mem(V18y,A_27a)
=> ! [V19l2] :
( mem(V19l2,ty_2Elist_2Elist(A_27a))
=> ! [V20acc] :
( mem(V20acc,ty_2Elist_2Elist(A_27a))
=> ( ( ( ~ ~ ( p(ap(ap(V15R,V16x),V18y))
<=> p(V14negate) )
=> p(ap(ap(ap(ap(ap(V0P,V14negate),V15R),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V17l1)),V19l2),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V20acc))) )
& ( ~ ( p(ap(ap(V15R,V16x),V18y))
<=> p(V14negate) )
=> p(ap(ap(ap(ap(ap(V0P,V14negate),V15R),V17l1),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V19l2)),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V20acc))) ) )
=> p(ap(ap(ap(ap(ap(V0P,V14negate),V15R),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V17l1)),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V19l2)),V20acc)) ) ) ) ) ) ) ) ) )
=> ! [V21v] :
( mem(V21v,bool)
=> ! [V22v1] :
( mem(V22v1,arr(A_27a,arr(A_27a,bool)))
=> ! [V23v2] :
( mem(V23v2,ty_2Elist_2Elist(A_27a))
=> ! [V24v3] :
( mem(V24v3,ty_2Elist_2Elist(A_27a))
=> ! [V25v4] :
( mem(V25v4,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(ap(V0P,V21v),V22v1),V23v2),V24v3),V25v4)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__tail__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0negate] :
( mem(V0negate,bool)
=> ! [V1acc] :
( mem(V1acc,ty_2Elist_2Elist(A_27a))
=> ! [V2R] :
( mem(V2R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V0negate),V2R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)),V1acc) = V1acc ) ) )
& ! [V3v13] :
( mem(V3v13,ty_2Elist_2Elist(A_27a))
=> ! [V4v12] :
( mem(V4v12,A_27a)
=> ! [V5negate] :
( mem(V5negate,bool)
=> ! [V6acc] :
( mem(V6acc,ty_2Elist_2Elist(A_27a))
=> ! [V7R] :
( mem(V7R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V5negate),V7R),ap(ap(c_2Elist_2ECONS(A_27a),V4v12),V3v13)),c_2Elist_2ENIL(A_27a)),V6acc) = ap(ap(c_2Elist_2EREV(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V4v12),V3v13)),V6acc) ) ) ) ) )
& ! [V8v9] :
( mem(V8v9,ty_2Elist_2Elist(A_27a))
=> ! [V9v8] :
( mem(V9v8,A_27a)
=> ! [V10negate] :
( mem(V10negate,bool)
=> ! [V11acc] :
( mem(V11acc,ty_2Elist_2Elist(A_27a))
=> ! [V12R] :
( mem(V12R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V10negate),V12R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V9v8),V8v9)),V11acc) = ap(ap(c_2Elist_2EREV(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V9v8),V8v9)),V11acc) ) ) ) ) )
& ! [V13y] :
( mem(V13y,A_27a)
=> ! [V14x] :
( mem(V14x,A_27a)
=> ! [V15negate] :
( mem(V15negate,bool)
=> ! [V16l2] :
( mem(V16l2,ty_2Elist_2Elist(A_27a))
=> ! [V17l1] :
( mem(V17l1,ty_2Elist_2Elist(A_27a))
=> ! [V18acc] :
( mem(V18acc,ty_2Elist_2Elist(A_27a))
=> ! [V19R] :
( mem(V19R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V15negate),V19R),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V17l1)),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V16l2)),V18acc) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V19R,V14x),V13y)),V15negate))),ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V15negate),V19R),V17l1),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V16l2)),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V18acc))),ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V15negate),V19R),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V17l1)),V16l2),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V18acc))) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__tail__ind,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),bool)))))
=> ( ( ! [V1negate] :
( mem(V1negate,bool)
=> ! [V2R] :
( mem(V2R,arr(A_27a,arr(A_27a,bool)))
=> ! [V3l] :
( mem(V3l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(V0P,V1negate),V2R),c_2Enum_2E0),V3l)) ) ) )
& ! [V4negate] :
( mem(V4negate,bool)
=> ! [V5R] :
( mem(V5R,arr(A_27a,arr(A_27a,bool)))
=> ! [V6x] :
( mem(V6x,A_27a)
=> ! [V7l] :
( mem(V7l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(V0P,V4negate),V5R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V7l))) ) ) ) )
& ! [V8negate] :
( mem(V8negate,bool)
=> ! [V9R] :
( mem(V9R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(ap(V0P,V8negate),V9R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a))) ) )
& ! [V10negate] :
( mem(V10negate,bool)
=> ! [V11R] :
( mem(V11R,arr(A_27a,arr(A_27a,bool)))
=> ! [V12x] :
( mem(V12x,A_27a)
=> ! [V13y] :
( mem(V13y,A_27a)
=> ! [V14l] :
( mem(V14l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(V0P,V10negate),V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V12x),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V14l)))) ) ) ) ) )
& ! [V15negate] :
( mem(V15negate,bool)
=> ! [V16R] :
( mem(V16R,arr(A_27a,arr(A_27a,bool)))
=> ! [V17x] :
( mem(V17x,A_27a)
=> p(ap(ap(ap(ap(V0P,V15negate),V16R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V17x),c_2Elist_2ENIL(A_27a)))) ) ) )
& ! [V18negate] :
( mem(V18negate,bool)
=> ! [V19R] :
( mem(V19R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(ap(V0P,V18negate),V19R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a))) ) )
& ! [V20negate] :
( mem(V20negate,bool)
=> ! [V21R] :
( mem(V21R,arr(A_27a,arr(A_27a,bool)))
=> ! [V22x] :
( mem(V22x,A_27a)
=> ! [V23y] :
( mem(V23y,A_27a)
=> ! [V24z] :
( mem(V24z,A_27a)
=> ! [V25l] :
( mem(V25l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(V0P,V20negate),V21R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V22x),ap(ap(c_2Elist_2ECONS(A_27a),V23y),ap(ap(c_2Elist_2ECONS(A_27a),V24z),V25l))))) ) ) ) ) ) )
& ! [V26negate] :
( mem(V26negate,bool)
=> ! [V27R] :
( mem(V27R,arr(A_27a,arr(A_27a,bool)))
=> ! [V28x] :
( mem(V28x,A_27a)
=> ! [V29y] :
( mem(V29y,A_27a)
=> p(ap(ap(ap(ap(V0P,V26negate),V27R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V28x),ap(ap(c_2Elist_2ECONS(A_27a),V29y),c_2Elist_2ENIL(A_27a))))) ) ) ) )
& ! [V30negate] :
( mem(V30negate,bool)
=> ! [V31R] :
( mem(V31R,arr(A_27a,arr(A_27a,bool)))
=> ! [V32x] :
( mem(V32x,A_27a)
=> p(ap(ap(ap(ap(V0P,V30negate),V31R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V32x),c_2Elist_2ENIL(A_27a)))) ) ) )
& ! [V33negate] :
( mem(V33negate,bool)
=> ! [V34R] :
( mem(V34R,arr(A_27a,arr(A_27a,bool)))
=> p(ap(ap(ap(ap(V0P,V33negate),V34R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) ) )
& ! [V35negate] :
( mem(V35negate,bool)
=> ! [V36R] :
( mem(V36R,arr(A_27a,arr(A_27a,bool)))
=> ! [V37v6] :
( mem(V37v6,ty_2Enum_2Enum)
=> ! [V38l] :
( mem(V38l,ty_2Elist_2Elist(A_27a))
=> ( ( ! [V39len1] :
( mem(V39len1,ty_2Enum_2Enum)
=> ! [V40neg] :
( mem(V40neg,bool)
=> ( ( V37v6 != c_2Enum_2E0
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
& V39len1 = ap(c_2Earithmetic_2EDIV2,V37v6)
& ( p(V40neg)
<=> ~ p(V35negate) ) )
=> p(ap(ap(ap(ap(V0P,V40neg),V36R),ap(c_2Earithmetic_2EDIV2,V37v6)),V38l)) ) ) )
& ! [V41len1] :
( mem(V41len1,ty_2Enum_2Enum)
=> ! [V42neg] :
( mem(V42neg,bool)
=> ( ( V37v6 != c_2Enum_2E0
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))
& V37v6 != ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))
& V41len1 = ap(c_2Earithmetic_2EDIV2,V37v6)
& ( p(V42neg)
<=> ~ p(V35negate) ) )
=> p(ap(ap(ap(ap(V0P,V42neg),V36R),ap(ap(c_2Earithmetic_2E_2D,V37v6),V41len1)),ap(ap(c_2Elist_2EDROP(A_27a),V41len1),V38l))) ) ) ) )
=> p(ap(ap(ap(ap(V0P,V35negate),V36R),V37v6),V38l)) ) ) ) ) ) )
=> ! [V43v] :
( mem(V43v,bool)
=> ! [V44v1] :
( mem(V44v1,arr(A_27a,arr(A_27a,bool)))
=> ! [V45v2] :
( mem(V45v2,ty_2Enum_2Enum)
=> ! [V46v3] :
( mem(V46v3,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(ap(ap(V0P,V43v),V44v1),V45v2),V46v3)) ) ) ) ) ) ) ) ).
fof(lameq_f1812,axiom,
! [A_27a,V38x] : ap(f1812(A_27a),V38x) = k(ty_2Elist_2Elist(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V38x),c_2Elist_2ENIL(A_27a))) ).
fof(lameq_f1813,axiom,
! [A_27a,V40x_27] :
( mem(V40x_27,A_27a)
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V42y] : ap(f1813(A_27a,V40x_27,V35negate,V37R),V42y) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V35negate),V37R),V40x_27),V42y)) ) ) ) ).
fof(lameq_f1814,axiom,
! [A_27a,V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V40x_27] :
( mem(V40x_27,A_27a)
=> ! [V41v19] : ap(f1814(A_27a,V37R,V35negate,V40x_27),V41v19) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V41v19),ap(ap(c_2Elist_2ECONS(A_27a),V40x_27),c_2Elist_2ENIL(A_27a))),f1813(A_27a,V40x_27,V35negate,V37R)) ) ) ) ).
fof(lameq_f1815,axiom,
! [A_27a,V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V40x_27] : ap(f1815(A_27a,V37R,V35negate),V40x_27) = f1814(A_27a,V37R,V35negate,V40x_27) ) ) ).
fof(lameq_f1816,axiom,
! [A_27a,V46y_27] :
( mem(V46y_27,A_27a)
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V44x_27_27] :
( mem(V44x_27_27,A_27a)
=> ! [V48z] : ap(f1816(A_27a,V46y_27,V37R,V35negate,V44x_27_27),V48z) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),V35negate),V37R),V44x_27_27),V46y_27),V48z)) ) ) ) ) ).
fof(lameq_f1817,axiom,
! [A_27a,V46y_27] :
( mem(V46y_27,A_27a)
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V44x_27_27] :
( mem(V44x_27_27,A_27a)
=> ! [V47v31] : ap(f1817(A_27a,V46y_27,V37R,V35negate,V44x_27_27),V47v31) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V47v31),ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V35negate),V37R),V44x_27_27),V46y_27)),f1816(A_27a,V46y_27,V37R,V35negate,V44x_27_27)) ) ) ) ) ).
fof(lameq_f1818,axiom,
! [A_27a,V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V44x_27_27] :
( mem(V44x_27_27,A_27a)
=> ! [V46y_27] : ap(f1818(A_27a,V37R,V35negate,V44x_27_27),V46y_27) = f1817(A_27a,V46y_27,V37R,V35negate,V44x_27_27) ) ) ) ).
fof(lameq_f1819,axiom,
! [A_27a,V35negate] :
( mem(V35negate,bool)
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V44x_27_27] :
( mem(V44x_27_27,A_27a)
=> ! [V45v27] : ap(f1819(A_27a,V35negate,V37R,V44x_27_27),V45v27) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V45v27),ap(ap(c_2Elist_2ECONS(A_27a),V44x_27_27),c_2Elist_2ENIL(A_27a))),f1818(A_27a,V37R,V35negate,V44x_27_27)) ) ) ) ).
fof(lameq_f1820,axiom,
! [A_27a,V35negate] :
( mem(V35negate,bool)
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V44x_27_27] : ap(f1820(A_27a,V35negate,V37R),V44x_27_27) = f1819(A_27a,V35negate,V37R,V44x_27_27) ) ) ).
fof(lameq_f1821,axiom,
! [A_27a,V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V34v6] :
( mem(V34v6,ty_2Enum_2Enum)
=> ! [V36l] :
( mem(V36l,ty_2Elist_2Elist(A_27a))
=> ! [V50len1] :
( mem(V50len1,ty_2Enum_2Enum)
=> ! [V51neg] : ap(f1821(A_27a,V37R,V34v6,V36l,V50len1),V51neg) = ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V51neg),V37R),ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V51neg),V37R),ap(c_2Earithmetic_2EDIV2,V34v6)),V36l)),ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V51neg),V37R),ap(ap(c_2Earithmetic_2E_2D,V34v6),V50len1)),ap(ap(c_2Elist_2EDROP(A_27a),V50len1),V36l))),c_2Elist_2ENIL(A_27a)) ) ) ) ) ).
fof(lameq_f1822,axiom,
! [A_27a,V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ! [V34v6] :
( mem(V34v6,ty_2Enum_2Enum)
=> ! [V36l] :
( mem(V36l,ty_2Elist_2Elist(A_27a))
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V50len1] : ap(f1822(A_27a,V37R,V34v6,V36l,V35negate),V50len1) = ap(ap(c_2Ebool_2ELET(bool,ty_2Elist_2Elist(A_27a)),f1821(A_27a,V37R,V34v6,V36l,V50len1)),ap(c_2Ebool_2E_7E,V35negate)) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__tail__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ( ! [V0negate] :
( mem(V0negate,bool)
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ! [V2R] :
( mem(V2R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V0negate),V2R),c_2Enum_2E0),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
& ! [V3x] :
( mem(V3x,A_27a)
=> ! [V4negate] :
( mem(V4negate,bool)
=> ! [V5l] :
( mem(V5l,ty_2Elist_2Elist(A_27a))
=> ! [V6R] :
( mem(V6R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V4negate),V6R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V3x),V5l)) = ap(ap(c_2Elist_2ECONS(A_27a),V3x),c_2Elist_2ENIL(A_27a)) ) ) ) )
& ! [V7negate] :
( mem(V7negate,bool)
=> ! [V8R] :
( mem(V8R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V7negate),V8R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
& ! [V9y] :
( mem(V9y,A_27a)
=> ! [V10x] :
( mem(V10x,A_27a)
=> ! [V11negate] :
( mem(V11negate,bool)
=> ! [V12l] :
( mem(V12l,ty_2Elist_2Elist(A_27a))
=> ! [V13R] :
( mem(V13R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V11negate),V13R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V10x),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V12l))) = ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V11negate),V13R),V10x),V9y) ) ) ) ) )
& ! [V14x] :
( mem(V14x,A_27a)
=> ! [V15negate] :
( mem(V15negate,bool)
=> ! [V16R] :
( mem(V16R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V15negate),V16R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),ap(ap(c_2Elist_2ECONS(A_27a),V14x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V14x),c_2Elist_2ENIL(A_27a)) ) ) )
& ! [V17negate] :
( mem(V17negate,bool)
=> ! [V18R] :
( mem(V18R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V17negate),V18R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
& ! [V19z] :
( mem(V19z,A_27a)
=> ! [V20y] :
( mem(V20y,A_27a)
=> ! [V21x] :
( mem(V21x,A_27a)
=> ! [V22negate] :
( mem(V22negate,bool)
=> ! [V23l] :
( mem(V23l,ty_2Elist_2Elist(A_27a))
=> ! [V24R] :
( mem(V24R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V22negate),V24R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V21x),ap(ap(c_2Elist_2ECONS(A_27a),V20y),ap(ap(c_2Elist_2ECONS(A_27a),V19z),V23l)))) = ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),V22negate),V24R),V21x),V20y),V19z) ) ) ) ) ) )
& ! [V25y] :
( mem(V25y,A_27a)
=> ! [V26x] :
( mem(V26x,A_27a)
=> ! [V27negate] :
( mem(V27negate,bool)
=> ! [V28R] :
( mem(V28R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V27negate),V28R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V26x),ap(ap(c_2Elist_2ECONS(A_27a),V25y),c_2Elist_2ENIL(A_27a)))) = ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V27negate),V28R),V26x),V25y) ) ) ) )
& ! [V29x] :
( mem(V29x,A_27a)
=> ! [V30negate] :
( mem(V30negate,bool)
=> ! [V31R] :
( mem(V31R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V30negate),V31R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V29x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V29x),c_2Elist_2ENIL(A_27a)) ) ) )
& ! [V32negate] :
( mem(V32negate,bool)
=> ! [V33R] :
( mem(V33R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V32negate),V33R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
& ! [V34v6] :
( mem(V34v6,ty_2Enum_2Enum)
=> ! [V35negate] :
( mem(V35negate,bool)
=> ! [V36l] :
( mem(V36l,ty_2Elist_2Elist(A_27a))
=> ! [V37R] :
( mem(V37R,arr(A_27a,arr(A_27a,bool)))
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V35negate),V37R),V34v6),V36l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V34v6),c_2Enum_2E0)),c_2Elist_2ENIL(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V34v6),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1812(A_27a))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V34v6),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1815(A_27a,V37R,V35negate))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V34v6),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1820(A_27a,V35negate,V37R))),ap(ap(c_2Ebool_2ELET(ty_2Enum_2Enum,ty_2Elist_2Elist(A_27a)),f1822(A_27a,V37R,V34v6,V36l,V35negate)),ap(c_2Earithmetic_2EDIV2,V34v6)))))) ) ) ) ) ) ) ).
fof(ax_thm_2Emergesort_2Emergesort__tail__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ap(ap(c_2Emergesort_2Emergesort__tail(A_27a),V0R),V1l) = ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),c_2Ebool_2EF),V0R),ap(c_2Elist_2ELENGTH(A_27a),V1l)),V1l) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort2__perm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort3__perm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ! [V3z] :
( mem(V3z,A_27a)
=> p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__perm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V2l2)),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__perm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ETAKE(A_27a),V1n),V2l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),V1n),V2l))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__perm,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> p(ap(ap(c_2Esorting_2EPERM(A_27a),V1l),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort2__sorted,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
=> p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort3__sorted,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ! [V3z] :
( mem(V3z,A_27a)
=> ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
=> p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__sorted,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
& p(ap(c_2Erelation_2Etotal(A_27a),V0R))
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V1l1))
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V2l2)) )
=> p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__sorted,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
& p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
=> p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),V1n),V2l))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__sorted,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
& p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
=> p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Estable__cong,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V3l3] :
( mem(V3l3,ty_2Elist_2Elist(A_27a))
=> ! [V4l4] :
( mem(V4l4,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
& p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V3l3),V4l4)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V3l3)),ap(ap(c_2Elist_2EAPPEND(A_27a),V2l2),V4l4))) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Estable__trans,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ! [V3l3] :
( mem(V3l3,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
& p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V2l2),V3l3)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V3l3)) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort2__stable,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort3__stable,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1x] :
( mem(V1x,A_27a)
=> ! [V2y] :
( mem(V2y,A_27a)
=> ! [V3z] :
( mem(V3z,A_27a)
=> ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
& p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Efilter__merge,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l1] :
( mem(V2l1,ty_2Elist_2Elist(A_27a))
=> ! [V3l2] :
( mem(V3l2,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V1R))
& ! [V4x] :
( mem(V4x,A_27a)
=> ! [V5y] :
( mem(V5y,A_27a)
=> ( ( p(ap(V0P,V4x))
& p(ap(V0P,V5y)) )
=> p(ap(ap(V1R,V4x),V5y)) ) ) )
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),V2l1)) )
=> ap(ap(c_2Elist_2EFILTER(A_27a),V0P),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),V2l1),V3l2)) = ap(ap(c_2Elist_2EFILTER(A_27a),V0P),ap(ap(c_2Elist_2EAPPEND(A_27a),V2l1),V3l2)) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__stable,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l1] :
( mem(V1l1,ty_2Elist_2Elist(A_27a))
=> ! [V2l2] :
( mem(V2l2,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V1l1)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V2l2)),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__stable,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1n] :
( mem(V1n,ty_2Enum_2Enum)
=> ! [V2l] :
( mem(V2l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
& p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ETAKE(A_27a),V1n),V2l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),V1n),V2l))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__stable,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
& p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
=> p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__STABLE__SORT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
& p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
=> p(ap(ap(c_2Esorting_2ESTABLE(A_27a),c_2Emergesort_2Emergesort(A_27a)),V0R)) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__mem,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1L] :
( mem(V1L,ty_2Elist_2Elist(A_27a))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1L))))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1L))) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort2__tail__correct,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),V0neg),V1R),V2x),V3y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),V0neg),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V1R),V2x),V3y))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V1R),V2x),V3y)) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Esort3__tail__correct,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2x] :
( mem(V2x,A_27a)
=> ! [V3y] :
( mem(V3y,A_27a)
=> ! [V4z] :
( mem(V4z,A_27a)
=> ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),V0neg),V1R),V2x),V3y),V4z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),V0neg),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V1R),V2x),V3y),V4z))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V1R),V2x),V3y),V4z)) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__tail__correct1,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l1] :
( mem(V2l1,ty_2Elist_2Elist(A_27a))
=> ! [V3l2] :
( mem(V3l2,ty_2Elist_2Elist(A_27a))
=> ! [V4acc] :
( mem(V4acc,ty_2Elist_2Elist(A_27a))
=> ( ( p(V0neg)
<=> $false )
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V0neg),V1R),V2l1),V3l2),V4acc) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),V2l1),V3l2))),V4acc) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__empty,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ! [V2acc] :
( mem(V2acc,A_27b)
=> ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l),c_2Elist_2ENIL(A_27a)) = V1l
& ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),c_2Elist_2ENIL(A_27a)),V1l) = V1l ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emerge__tail__correct2,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0neg] :
( mem(V0neg,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2l1] :
( mem(V2l1,ty_2Elist_2Elist(A_27a))
=> ! [V3l2] :
( mem(V3l2,ty_2Elist_2Elist(A_27a))
=> ! [V4acc] :
( mem(V4acc,ty_2Elist_2Elist(A_27a))
=> ( ( ( p(V0neg)
<=> $true )
& p(ap(c_2Erelation_2Etransitive(A_27a),V1R))
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V2l1)))
& p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V3l2))) )
=> ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),V0neg),V1R),V2l1),V3l2),V4acc) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V2l1)),ap(c_2Elist_2EREVERSE(A_27a),V3l2))),V4acc) ) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2EmergesortN__correct,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0negate] :
( mem(V0negate,bool)
=> ! [V1R] :
( mem(V1R,arr(A_27a,arr(A_27a,bool)))
=> ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ! [V3l] :
( mem(V3l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etotal(A_27a),V1R))
& p(ap(c_2Erelation_2Etransitive(A_27a),V1R)) )
=> ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),V0negate),V1R),V2n),V3l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),V0negate),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),V2n),V3l))),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),V2n),V3l)) ) ) ) ) ) ) ).
fof(conj_thm_2Emergesort_2Emergesort__tail__correct,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0R] :
( mem(V0R,arr(A_27a,arr(A_27a,bool)))
=> ! [V1l] :
( mem(V1l,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
& p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
=> ap(ap(c_2Emergesort_2Emergesort__tail(A_27a),V0R),V1l) = ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l) ) ) ) ) ).
%------------------------------------------------------------------------------