ITP001 Axioms: ITP076+5.ax


%------------------------------------------------------------------------------
% File     : ITP076+5 : TPTP v8.2.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    : ternaryComparisons+2.ax [Gau20]
%          : HL4076+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   57 (  15 unt;   0 def)
%            Number of atoms       :  324 (  92 equ)
%            Maximal formula atoms :   25 (   5 avg)
%            Number of connectives :  271 (   4   ~;   4   |;  61   &)
%                                         (  17 <=>; 185  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   24 (   7 avg)
%            Maximal term depth    :    8 (   2 avg)
%            Number of predicates  :    6 (   3 usr;   2 prp; 0-2 aty)
%            Number of functors    :   46 (  46 usr;  26 con; 0-4 aty)
%            Number of variables   :  176 ( 172   !;   4   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2EternaryComparisons_2Eordering,axiom,
    ne(ty_2EternaryComparisons_2Eordering) ).

fof(mem_c_2EternaryComparisons_2EEQUAL,axiom,
    mem(c_2EternaryComparisons_2EEQUAL,ty_2EternaryComparisons_2Eordering) ).

fof(mem_c_2EternaryComparisons_2EGREATER,axiom,
    mem(c_2EternaryComparisons_2EGREATER,ty_2EternaryComparisons_2Eordering) ).

fof(mem_c_2EternaryComparisons_2ELESS,axiom,
    mem(c_2EternaryComparisons_2ELESS,ty_2EternaryComparisons_2Eordering) ).

fof(mem_c_2EternaryComparisons_2Ebool__compare,axiom,
    mem(c_2EternaryComparisons_2Ebool__compare,arr(bool,arr(bool,ty_2EternaryComparisons_2Eordering))) ).

fof(mem_c_2EternaryComparisons_2Echar__compare,axiom,
    mem(c_2EternaryComparisons_2Echar__compare,arr(ty_2Estring_2Echar,arr(ty_2Estring_2Echar,ty_2EternaryComparisons_2Eordering))) ).

fof(mem_c_2EternaryComparisons_2Einvert__comparison,axiom,
    mem(c_2EternaryComparisons_2Einvert__comparison,arr(ty_2EternaryComparisons_2Eordering,ty_2EternaryComparisons_2Eordering)) ).

fof(mem_c_2EternaryComparisons_2Elist__compare,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27b),ty_2EternaryComparisons_2Eordering)))) ) ) ).

fof(mem_c_2EternaryComparisons_2Elist__merge,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EternaryComparisons_2Elist__merge(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_2EternaryComparisons_2Enum2ordering,axiom,
    mem(c_2EternaryComparisons_2Enum2ordering,arr(ty_2Enum_2Enum,ty_2EternaryComparisons_2Eordering)) ).

fof(mem_c_2EternaryComparisons_2Enum__compare,axiom,
    mem(c_2EternaryComparisons_2Enum__compare,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2EternaryComparisons_2Eordering))) ).

fof(mem_c_2EternaryComparisons_2Eoption__compare,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EternaryComparisons_2Eoption__compare(A_27a,A_27b),arr(arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)),arr(ty_2Eoption_2Eoption(A_27a),arr(ty_2Eoption_2Eoption(A_27b),ty_2EternaryComparisons_2Eordering)))) ) ) ).

fof(mem_c_2EternaryComparisons_2Eordering2num,axiom,
    mem(c_2EternaryComparisons_2Eordering2num,arr(ty_2EternaryComparisons_2Eordering,ty_2Enum_2Enum)) ).

fof(mem_c_2EternaryComparisons_2Eordering__CASE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EternaryComparisons_2Eordering__CASE(A_27a),arr(ty_2EternaryComparisons_2Eordering,arr(A_27a,arr(A_27a,arr(A_27a,A_27a))))) ) ).

fof(mem_c_2EternaryComparisons_2Eordering__size,axiom,
    mem(c_2EternaryComparisons_2Eordering__size,arr(ty_2EternaryComparisons_2Eordering,ty_2Enum_2Enum)) ).

fof(mem_c_2EternaryComparisons_2Epair__compare,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => mem(c_2EternaryComparisons_2Epair__compare(A_27a,A_27b,A_27c,A_27d),arr(arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)),arr(arr(A_27c,arr(A_27d,ty_2EternaryComparisons_2Eordering)),arr(ty_2Epair_2Eprod(A_27a,A_27c),arr(ty_2Epair_2Eprod(A_27b,A_27d),ty_2EternaryComparisons_2Eordering))))) ) ) ) ) ).

fof(mem_c_2EternaryComparisons_2Estring__compare,axiom,
    mem(c_2EternaryComparisons_2Estring__compare,arr(ty_2Elist_2Elist(ty_2Estring_2Echar),arr(ty_2Elist_2Elist(ty_2Estring_2Echar),ty_2EternaryComparisons_2Eordering))) ).

fof(lameq_f1949,axiom,
    ! [V1n] : ap(f1949,V1n) = ap(ap(c_2Eprim__rec_2E_3C,V1n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ).

fof(ax_thm_2EternaryComparisons_2Eordering__TY__DEF,axiom,
    ? [V0rep] :
      ( mem(V0rep,arr(ty_2EternaryComparisons_2Eordering,ty_2Enum_2Enum))
      & p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(ty_2Enum_2Enum,ty_2EternaryComparisons_2Eordering),f1949),V0rep)) ) ).

fof(lameq_f1950,axiom,
    ! [V2n] : ap(f1950,V2n) = ap(ap(c_2Eprim__rec_2E_3C,V2n),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))) ).

fof(ax_thm_2EternaryComparisons_2Eordering__BIJ,axiom,
    ( ! [V0a] :
        ( mem(V0a,ty_2EternaryComparisons_2Eordering)
       => ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2EternaryComparisons_2Eordering2num,V0a)) = V0a )
    & ! [V1r] :
        ( mem(V1r,ty_2Enum_2Enum)
       => ( p(ap(f1950,V1r))
        <=> ap(c_2EternaryComparisons_2Eordering2num,ap(c_2EternaryComparisons_2Enum2ordering,V1r)) = V1r ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Enum2ordering__ordering2num,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2EternaryComparisons_2Eordering)
     => ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2EternaryComparisons_2Eordering2num,V0a)) = V0a ) ).

fof(conj_thm_2EternaryComparisons_2Eordering2num__num2ordering,axiom,
    ! [V0r] :
      ( mem(V0r,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0r),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))
      <=> ap(c_2EternaryComparisons_2Eordering2num,ap(c_2EternaryComparisons_2Enum2ordering,V0r)) = V0r ) ) ).

fof(conj_thm_2EternaryComparisons_2Enum2ordering__11,axiom,
    ! [V0r] :
      ( mem(V0r,ty_2Enum_2Enum)
     => ! [V1r_27] :
          ( mem(V1r_27,ty_2Enum_2Enum)
         => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0r),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))
           => ( p(ap(ap(c_2Eprim__rec_2E_3C,V1r_27),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))
             => ( ap(c_2EternaryComparisons_2Enum2ordering,V0r) = ap(c_2EternaryComparisons_2Enum2ordering,V1r_27)
              <=> V0r = V1r_27 ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering2num__11,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2EternaryComparisons_2Eordering)
     => ! [V1a_27] :
          ( mem(V1a_27,ty_2EternaryComparisons_2Eordering)
         => ( ap(c_2EternaryComparisons_2Eordering2num,V0a) = ap(c_2EternaryComparisons_2Eordering2num,V1a_27)
          <=> V0a = V1a_27 ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Enum2ordering__ONTO,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2EternaryComparisons_2Eordering)
     => ? [V1r] :
          ( mem(V1r,ty_2Enum_2Enum)
          & V0a = ap(c_2EternaryComparisons_2Enum2ordering,V1r)
          & p(ap(ap(c_2Eprim__rec_2E_3C,V1r),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering2num__ONTO,axiom,
    ! [V0r] :
      ( mem(V0r,ty_2Enum_2Enum)
     => ( p(ap(ap(c_2Eprim__rec_2E_3C,V0r),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))
      <=> ? [V1a] :
            ( mem(V1a,ty_2EternaryComparisons_2Eordering)
            & V0r = ap(c_2EternaryComparisons_2Eordering2num,V1a) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Enum2ordering__thm,axiom,
    ( ap(c_2EternaryComparisons_2Enum2ordering,c_2Enum_2E0) = c_2EternaryComparisons_2ELESS
    & ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = c_2EternaryComparisons_2EEQUAL
    & ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) = c_2EternaryComparisons_2EGREATER ) ).

fof(conj_thm_2EternaryComparisons_2Eordering2num__thm,axiom,
    ( ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2ELESS) = c_2Enum_2E0
    & ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2EEQUAL) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
    & ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2EGREATER) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO)) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__EQ__ordering,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2EternaryComparisons_2Eordering)
     => ! [V1a_27] :
          ( mem(V1a_27,ty_2EternaryComparisons_2Eordering)
         => ( V0a = V1a_27
          <=> ap(c_2EternaryComparisons_2Eordering2num,V0a) = ap(c_2EternaryComparisons_2Eordering2num,V1a_27) ) ) ) ).

fof(ax_thm_2EternaryComparisons_2Eordering__size__def,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2EternaryComparisons_2Eordering)
     => ap(c_2EternaryComparisons_2Eordering__size,V0x) = c_2Enum_2E0 ) ).

fof(lameq_f1951,axiom,
    ! [A_27a,V3v2] :
      ( mem(V3v2,A_27a)
     => ! [V2v1] :
          ( mem(V2v1,A_27a)
         => ! [V1v0] :
              ( mem(V1v0,A_27a)
             => ! [V4m] : ap(f1951(A_27a,V3v2,V2v1,V1v0),V4m) = ap(ap(ap(c_2Ebool_2ECOND(A_27a),ap(ap(c_2Eprim__rec_2E_3C,V4m),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V1v0),ap(ap(ap(c_2Ebool_2ECOND(A_27a),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V4m),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V2v1),V3v2)) ) ) ) ).

fof(ax_thm_2EternaryComparisons_2Eordering__CASE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2EternaryComparisons_2Eordering)
         => ! [V1v0] :
              ( mem(V1v0,A_27a)
             => ! [V2v1] :
                  ( mem(V2v1,A_27a)
                 => ! [V3v2] :
                      ( mem(V3v2,A_27a)
                     => ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),V0x),V1v0),V2v1),V3v2) = ap(f1951(A_27a,V3v2,V2v1,V1v0),ap(c_2EternaryComparisons_2Eordering2num,V0x)) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__case__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( ! [V0v0] :
            ( mem(V0v0,A_27a)
           => ! [V1v1] :
                ( mem(V1v1,A_27a)
               => ! [V2v2] :
                    ( mem(V2v2,A_27a)
                   => ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),c_2EternaryComparisons_2ELESS),V0v0),V1v1),V2v2) = V0v0 ) ) )
        & ! [V3v0] :
            ( mem(V3v0,A_27a)
           => ! [V4v1] :
                ( mem(V4v1,A_27a)
               => ! [V5v2] :
                    ( mem(V5v2,A_27a)
                   => ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),c_2EternaryComparisons_2EEQUAL),V3v0),V4v1),V5v2) = V4v1 ) ) )
        & ! [V6v0] :
            ( mem(V6v0,A_27a)
           => ! [V7v1] :
                ( mem(V7v1,A_27a)
               => ! [V8v2] :
                    ( mem(V8v2,A_27a)
                   => ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),c_2EternaryComparisons_2EGREATER),V6v0),V7v1),V8v2) = V8v2 ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Edatatype__ordering,axiom,
    ! [V0ordering] :
      ( mem(V0ordering,arr(ty_2EternaryComparisons_2Eordering,arr(ty_2EternaryComparisons_2Eordering,arr(ty_2EternaryComparisons_2Eordering,bool))))
     => p(ap(c_2Ebool_2EDATATYPE(bool),ap(ap(ap(V0ordering,c_2EternaryComparisons_2ELESS),c_2EternaryComparisons_2EEQUAL),c_2EternaryComparisons_2EGREATER))) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__distinct,axiom,
    ( c_2EternaryComparisons_2ELESS != c_2EternaryComparisons_2EEQUAL
    & c_2EternaryComparisons_2ELESS != c_2EternaryComparisons_2EGREATER
    & c_2EternaryComparisons_2EEQUAL != c_2EternaryComparisons_2EGREATER ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__nchotomy,axiom,
    ! [V0a] :
      ( mem(V0a,ty_2EternaryComparisons_2Eordering)
     => ( V0a = c_2EternaryComparisons_2ELESS
        | V0a = c_2EternaryComparisons_2EEQUAL
        | V0a = c_2EternaryComparisons_2EGREATER ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__Axiom,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x0] :
          ( mem(V0x0,A_27a)
         => ! [V1x1] :
              ( mem(V1x1,A_27a)
             => ! [V2x2] :
                  ( mem(V2x2,A_27a)
                 => ? [V3f] :
                      ( mem(V3f,arr(ty_2EternaryComparisons_2Eordering,A_27a))
                      & ap(V3f,c_2EternaryComparisons_2ELESS) = V0x0
                      & ap(V3f,c_2EternaryComparisons_2EEQUAL) = V1x1
                      & ap(V3f,c_2EternaryComparisons_2EGREATER) = V2x2 ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__induction,axiom,
    ! [V0P] :
      ( mem(V0P,arr(ty_2EternaryComparisons_2Eordering,bool))
     => ( ( p(ap(V0P,c_2EternaryComparisons_2EEQUAL))
          & p(ap(V0P,c_2EternaryComparisons_2EGREATER))
          & p(ap(V0P,c_2EternaryComparisons_2ELESS)) )
       => ! [V1a] :
            ( mem(V1a,ty_2EternaryComparisons_2Eordering)
           => p(ap(V0P,V1a)) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__case__cong,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0v0_27] :
          ( mem(V0v0_27,A_27a)
         => ! [V1v1_27] :
              ( mem(V1v1_27,A_27a)
             => ! [V2v2_27] :
                  ( mem(V2v2_27,A_27a)
                 => ! [V3M] :
                      ( mem(V3M,ty_2EternaryComparisons_2Eordering)
                     => ! [V4M_27] :
                          ( mem(V4M_27,ty_2EternaryComparisons_2Eordering)
                         => ! [V5v0] :
                              ( mem(V5v0,A_27a)
                             => ! [V6v1] :
                                  ( mem(V6v1,A_27a)
                                 => ! [V7v2] :
                                      ( mem(V7v2,A_27a)
                                     => ( ( V3M = V4M_27
                                          & ( V4M_27 = c_2EternaryComparisons_2ELESS
                                           => V5v0 = V0v0_27 )
                                          & ( V4M_27 = c_2EternaryComparisons_2EEQUAL
                                           => V6v1 = V1v1_27 )
                                          & ( V4M_27 = c_2EternaryComparisons_2EGREATER
                                           => V7v2 = V2v2_27 ) )
                                       => ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),V3M),V5v0),V6v1),V7v2) = ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),V4M_27),V0v0_27),V1v1_27),V2v2_27) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__case__eq,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2EternaryComparisons_2Eordering)
         => ! [V1v0] :
              ( mem(V1v0,A_27a)
             => ! [V2v1] :
                  ( mem(V2v1,A_27a)
                 => ! [V3v2] :
                      ( mem(V3v2,A_27a)
                     => ! [V4v] :
                          ( mem(V4v,A_27a)
                         => ( ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(A_27a),V0x),V1v0),V2v1),V3v2) = V4v
                          <=> ( ( V0x = c_2EternaryComparisons_2ELESS
                                & V1v0 = V4v )
                              | ( V0x = c_2EternaryComparisons_2EEQUAL
                                & V2v1 = V4v )
                              | ( V0x = c_2EternaryComparisons_2EGREATER
                                & V3v2 = V4v ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eordering__eq__dec,axiom,
    ( ! [V0x] :
        ( mem(V0x,ty_2EternaryComparisons_2Eordering)
       => ( V0x = V0x
        <=> $true ) )
    & ( c_2EternaryComparisons_2ELESS = c_2EternaryComparisons_2EEQUAL
    <=> $false )
    & ( c_2EternaryComparisons_2ELESS = c_2EternaryComparisons_2EGREATER
    <=> $false )
    & ( c_2EternaryComparisons_2EEQUAL = c_2EternaryComparisons_2EGREATER
    <=> $false )
    & ( c_2EternaryComparisons_2EEQUAL = c_2EternaryComparisons_2ELESS
    <=> $false )
    & ( c_2EternaryComparisons_2EGREATER = c_2EternaryComparisons_2ELESS
    <=> $false )
    & ( c_2EternaryComparisons_2EGREATER = c_2EternaryComparisons_2EEQUAL
    <=> $false )
    & ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2ELESS) = c_2Enum_2E0
    & ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2EEQUAL) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))
    & ap(c_2EternaryComparisons_2Eordering2num,c_2EternaryComparisons_2EGREATER) = ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))
    & ap(c_2EternaryComparisons_2Enum2ordering,c_2Enum_2E0) = c_2EternaryComparisons_2ELESS
    & ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))) = c_2EternaryComparisons_2EEQUAL
    & ap(c_2EternaryComparisons_2Enum2ordering,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,c_2Earithmetic_2EZERO))) = c_2EternaryComparisons_2EGREATER ) ).

fof(conj_thm_2EternaryComparisons_2Ebool__compare__ind,axiom,
    ! [V0P] :
      ( mem(V0P,arr(bool,arr(bool,bool)))
     => ( ( p(ap(ap(V0P,c_2Ebool_2ET),c_2Ebool_2ET))
          & p(ap(ap(V0P,c_2Ebool_2EF),c_2Ebool_2EF))
          & p(ap(ap(V0P,c_2Ebool_2ET),c_2Ebool_2EF))
          & p(ap(ap(V0P,c_2Ebool_2EF),c_2Ebool_2ET)) )
       => ! [V1v] :
            ( mem(V1v,bool)
           => ! [V2v1] :
                ( mem(V2v1,bool)
               => p(ap(ap(V0P,V1v),V2v1)) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Ebool__compare__def,axiom,
    ( ap(ap(c_2EternaryComparisons_2Ebool__compare,c_2Ebool_2ET),c_2Ebool_2ET) = c_2EternaryComparisons_2EEQUAL
    & ap(ap(c_2EternaryComparisons_2Ebool__compare,c_2Ebool_2EF),c_2Ebool_2EF) = c_2EternaryComparisons_2EEQUAL
    & ap(ap(c_2EternaryComparisons_2Ebool__compare,c_2Ebool_2ET),c_2Ebool_2EF) = c_2EternaryComparisons_2EGREATER
    & ap(ap(c_2EternaryComparisons_2Ebool__compare,c_2Ebool_2EF),c_2Ebool_2ET) = c_2EternaryComparisons_2ELESS ) ).

fof(ax_thm_2EternaryComparisons_2Epair__compare__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => ! [V0c1] :
                      ( mem(V0c1,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V1c2] :
                          ( mem(V1c2,arr(A_27c,arr(A_27d,ty_2EternaryComparisons_2Eordering)))
                         => ! [V2a] :
                              ( mem(V2a,A_27a)
                             => ! [V3b] :
                                  ( mem(V3b,A_27c)
                                 => ! [V4x] :
                                      ( mem(V4x,A_27b)
                                     => ! [V5y] :
                                          ( mem(V5y,A_27d)
                                         => ap(ap(ap(ap(c_2EternaryComparisons_2Epair__compare(A_27a,A_27b,A_27c,A_27d),V0c1),V1c2),ap(ap(c_2Epair_2E_2C(A_27a,A_27c),V2a),V3b)),ap(ap(c_2Epair_2E_2C(A_27b,A_27d),V4x),V5y)) = ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(ty_2EternaryComparisons_2Eordering),ap(ap(V0c1,V2a),V4x)),c_2EternaryComparisons_2ELESS),ap(ap(V1c2,V3b),V5y)),c_2EternaryComparisons_2EGREATER) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eoption__compare__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0P] :
              ( mem(V0P,arr(arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)),arr(ty_2Eoption_2Eoption(A_27a),arr(ty_2Eoption_2Eoption(A_27b),bool))))
             => ( ( ! [V1c] :
                      ( mem(V1c,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => p(ap(ap(ap(V0P,V1c),c_2Eoption_2ENONE(A_27a)),c_2Eoption_2ENONE(A_27b))) )
                  & ! [V2c] :
                      ( mem(V2c,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V3v0] :
                          ( mem(V3v0,A_27b)
                         => p(ap(ap(ap(V0P,V2c),c_2Eoption_2ENONE(A_27a)),ap(c_2Eoption_2ESOME(A_27b),V3v0))) ) )
                  & ! [V4c] :
                      ( mem(V4c,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V5v3] :
                          ( mem(V5v3,A_27a)
                         => p(ap(ap(ap(V0P,V4c),ap(c_2Eoption_2ESOME(A_27a),V5v3)),c_2Eoption_2ENONE(A_27b))) ) )
                  & ! [V6c] :
                      ( mem(V6c,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V7v1] :
                          ( mem(V7v1,A_27a)
                         => ! [V8v2] :
                              ( mem(V8v2,A_27b)
                             => p(ap(ap(ap(V0P,V6c),ap(c_2Eoption_2ESOME(A_27a),V7v1)),ap(c_2Eoption_2ESOME(A_27b),V8v2))) ) ) ) )
               => ! [V9v] :
                    ( mem(V9v,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                   => ! [V10v1] :
                        ( mem(V10v1,ty_2Eoption_2Eoption(A_27a))
                       => ! [V11v2] :
                            ( mem(V11v2,ty_2Eoption_2Eoption(A_27b))
                           => p(ap(ap(ap(V0P,V9v),V10v1),V11v2)) ) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Eoption__compare__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0c] :
              ( mem(V0c,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
             => ! [V1v0] :
                  ( mem(V1v0,A_27b)
                 => ! [V2v3] :
                      ( mem(V2v3,A_27a)
                     => ! [V3v1] :
                          ( mem(V3v1,A_27a)
                         => ! [V4v2] :
                              ( mem(V4v2,A_27b)
                             => ( ap(ap(ap(c_2EternaryComparisons_2Eoption__compare(A_27a,A_27b),V0c),c_2Eoption_2ENONE(A_27a)),c_2Eoption_2ENONE(A_27b)) = c_2EternaryComparisons_2EEQUAL
                                & ap(ap(ap(c_2EternaryComparisons_2Eoption__compare(A_27a,A_27b),V0c),c_2Eoption_2ENONE(A_27a)),ap(c_2Eoption_2ESOME(A_27b),V1v0)) = c_2EternaryComparisons_2ELESS
                                & ap(ap(ap(c_2EternaryComparisons_2Eoption__compare(A_27a,A_27b),V0c),ap(c_2Eoption_2ESOME(A_27a),V2v3)),c_2Eoption_2ENONE(A_27b)) = c_2EternaryComparisons_2EGREATER
                                & ap(ap(ap(c_2EternaryComparisons_2Eoption__compare(A_27a,A_27b),V0c),ap(c_2Eoption_2ESOME(A_27a),V3v1)),ap(c_2Eoption_2ESOME(A_27b),V4v2)) = ap(ap(V0c,V3v1),V4v2) ) ) ) ) ) ) ) ) ).

fof(ax_thm_2EternaryComparisons_2Enum__compare__def,axiom,
    ! [V0n1] :
      ( mem(V0n1,ty_2Enum_2Enum)
     => ! [V1n2] :
          ( mem(V1n2,ty_2Enum_2Enum)
         => ap(ap(c_2EternaryComparisons_2Enum__compare,V0n1),V1n2) = ap(ap(ap(c_2Ebool_2ECOND(ty_2EternaryComparisons_2Eordering),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),V0n1),V1n2)),c_2EternaryComparisons_2EEQUAL),ap(ap(ap(c_2Ebool_2ECOND(ty_2EternaryComparisons_2Eordering),ap(ap(c_2Eprim__rec_2E_3C,V0n1),V1n2)),c_2EternaryComparisons_2ELESS),c_2EternaryComparisons_2EGREATER)) ) ) ).

fof(ax_thm_2EternaryComparisons_2Echar__compare__def,axiom,
    ! [V0c1] :
      ( mem(V0c1,ty_2Estring_2Echar)
     => ! [V1c2] :
          ( mem(V1c2,ty_2Estring_2Echar)
         => ap(ap(c_2EternaryComparisons_2Echar__compare,V0c1),V1c2) = ap(ap(c_2EternaryComparisons_2Enum__compare,ap(c_2Estring_2EORD,V0c1)),ap(c_2Estring_2EORD,V1c2)) ) ) ).

fof(conj_thm_2EternaryComparisons_2Elist__compare__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0P] :
              ( mem(V0P,arr(arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27b),bool))))
             => ( ( ! [V1cmp] :
                      ( mem(V1cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => p(ap(ap(ap(V0P,V1cmp),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27b))) )
                  & ! [V2cmp] :
                      ( mem(V2cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V3v8] :
                          ( mem(V3v8,A_27b)
                         => ! [V4v9] :
                              ( mem(V4v9,ty_2Elist_2Elist(A_27b))
                             => p(ap(ap(ap(V0P,V2cmp),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27b),V3v8),V4v9))) ) ) )
                  & ! [V5cmp] :
                      ( mem(V5cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V6v4] :
                          ( mem(V6v4,A_27a)
                         => ! [V7v5] :
                              ( mem(V7v5,ty_2Elist_2Elist(A_27a))
                             => p(ap(ap(ap(V0P,V5cmp),ap(ap(c_2Elist_2ECONS(A_27a),V6v4),V7v5)),c_2Elist_2ENIL(A_27b))) ) ) )
                  & ! [V8cmp] :
                      ( mem(V8cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                     => ! [V9x] :
                          ( mem(V9x,A_27a)
                         => ! [V10l1] :
                              ( mem(V10l1,ty_2Elist_2Elist(A_27a))
                             => ! [V11y] :
                                  ( mem(V11y,A_27b)
                                 => ! [V12l2] :
                                      ( mem(V12l2,ty_2Elist_2Elist(A_27b))
                                     => ( ( ap(ap(V8cmp,V9x),V11y) = c_2EternaryComparisons_2EEQUAL
                                         => p(ap(ap(ap(V0P,V8cmp),V10l1),V12l2)) )
                                       => p(ap(ap(ap(V0P,V8cmp),ap(ap(c_2Elist_2ECONS(A_27a),V9x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27b),V11y),V12l2))) ) ) ) ) ) ) )
               => ! [V13v] :
                    ( mem(V13v,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                   => ! [V14v1] :
                        ( mem(V14v1,ty_2Elist_2Elist(A_27a))
                       => ! [V15v2] :
                            ( mem(V15v2,ty_2Elist_2Elist(A_27b))
                           => p(ap(ap(ap(V0P,V13v),V14v1),V15v2)) ) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Elist__compare__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0cmp] :
                ( mem(V0cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
               => ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),V0cmp),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27b)) = c_2EternaryComparisons_2EEQUAL )
            & ! [V1v9] :
                ( mem(V1v9,ty_2Elist_2Elist(A_27b))
               => ! [V2v8] :
                    ( mem(V2v8,A_27b)
                   => ! [V3cmp] :
                        ( mem(V3cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                       => ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),V3cmp),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27b),V2v8),V1v9)) = c_2EternaryComparisons_2ELESS ) ) )
            & ! [V4v5] :
                ( mem(V4v5,ty_2Elist_2Elist(A_27a))
               => ! [V5v4] :
                    ( mem(V5v4,A_27a)
                   => ! [V6cmp] :
                        ( mem(V6cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                       => ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),V6cmp),ap(ap(c_2Elist_2ECONS(A_27a),V5v4),V4v5)),c_2Elist_2ENIL(A_27b)) = c_2EternaryComparisons_2EGREATER ) ) )
            & ! [V7y] :
                ( mem(V7y,A_27b)
               => ! [V8x] :
                    ( mem(V8x,A_27a)
                   => ! [V9l2] :
                        ( mem(V9l2,ty_2Elist_2Elist(A_27b))
                       => ! [V10l1] :
                            ( mem(V10l1,ty_2Elist_2Elist(A_27a))
                           => ! [V11cmp] :
                                ( mem(V11cmp,arr(A_27a,arr(A_27b,ty_2EternaryComparisons_2Eordering)))
                               => ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),V11cmp),ap(ap(c_2Elist_2ECONS(A_27a),V8x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27b),V7y),V9l2)) = ap(ap(ap(ap(c_2EternaryComparisons_2Eordering__CASE(ty_2EternaryComparisons_2Eordering),ap(ap(V11cmp,V8x),V7y)),c_2EternaryComparisons_2ELESS),ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27b),V11cmp),V10l1),V9l2)),c_2EternaryComparisons_2EGREATER) ) ) ) ) ) ) ) ) ).

fof(ax_thm_2EternaryComparisons_2Estring__compare__def,axiom,
    c_2EternaryComparisons_2Estring__compare = ap(c_2EternaryComparisons_2Elist__compare(ty_2Estring_2Echar,ty_2Estring_2Echar),c_2EternaryComparisons_2Echar__compare) ).

fof(conj_thm_2EternaryComparisons_2Ecompare__equal,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0cmp] :
          ( mem(V0cmp,arr(A_27a,arr(A_27a,ty_2EternaryComparisons_2Eordering)))
         => ( ! [V1x] :
                ( mem(V1x,A_27a)
               => ! [V2y] :
                    ( mem(V2y,A_27a)
                   => ( ap(ap(V0cmp,V1x),V2y) = c_2EternaryComparisons_2EEQUAL
                    <=> V1x = V2y ) ) )
           => ! [V3l1] :
                ( mem(V3l1,ty_2Elist_2Elist(A_27a))
               => ! [V4l2] :
                    ( mem(V4l2,ty_2Elist_2Elist(A_27a))
                   => ( ap(ap(ap(c_2EternaryComparisons_2Elist__compare(A_27a,A_27a),V0cmp),V3l1),V4l2) = c_2EternaryComparisons_2EEQUAL
                    <=> V3l1 = V4l2 ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Elist__merge__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))))
         => ( ( ! [V1a__lt] :
                  ( mem(V1a__lt,arr(A_27a,arr(A_27a,bool)))
                 => ! [V2l1] :
                      ( mem(V2l1,ty_2Elist_2Elist(A_27a))
                     => p(ap(ap(ap(V0P,V1a__lt),V2l1),c_2Elist_2ENIL(A_27a))) ) )
              & ! [V3a__lt] :
                  ( mem(V3a__lt,arr(A_27a,arr(A_27a,bool)))
                 => ! [V4v4] :
                      ( mem(V4v4,A_27a)
                     => ! [V5v5] :
                          ( mem(V5v5,ty_2Elist_2Elist(A_27a))
                         => p(ap(ap(ap(V0P,V3a__lt),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V4v4),V5v5))) ) ) )
              & ! [V6a__lt] :
                  ( mem(V6a__lt,arr(A_27a,arr(A_27a,bool)))
                 => ! [V7x] :
                      ( mem(V7x,A_27a)
                     => ! [V8l1] :
                          ( mem(V8l1,ty_2Elist_2Elist(A_27a))
                         => ! [V9y] :
                              ( mem(V9y,A_27a)
                             => ! [V10l2] :
                                  ( mem(V10l2,ty_2Elist_2Elist(A_27a))
                                 => ( ( ( ~ p(ap(ap(V6a__lt,V7x),V9y))
                                       => p(ap(ap(ap(V0P,V6a__lt),ap(ap(c_2Elist_2ECONS(A_27a),V7x),V8l1)),V10l2)) )
                                      & ( p(ap(ap(V6a__lt,V7x),V9y))
                                       => p(ap(ap(ap(V0P,V6a__lt),V8l1),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V10l2))) ) )
                                   => p(ap(ap(ap(V0P,V6a__lt),ap(ap(c_2Elist_2ECONS(A_27a),V7x),V8l1)),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V10l2))) ) ) ) ) ) ) )
           => ! [V11v] :
                ( mem(V11v,arr(A_27a,arr(A_27a,bool)))
               => ! [V12v1] :
                    ( mem(V12v1,ty_2Elist_2Elist(A_27a))
                   => ! [V13v2] :
                        ( mem(V13v2,ty_2Elist_2Elist(A_27a))
                       => p(ap(ap(ap(V0P,V11v),V12v1),V13v2)) ) ) ) ) ) ) ).

fof(conj_thm_2EternaryComparisons_2Elist__merge__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ( ! [V0l1] :
            ( mem(V0l1,ty_2Elist_2Elist(A_27a))
           => ! [V1a__lt] :
                ( mem(V1a__lt,arr(A_27a,arr(A_27a,bool)))
               => ap(ap(ap(c_2EternaryComparisons_2Elist__merge(A_27a),V1a__lt),V0l1),c_2Elist_2ENIL(A_27a)) = V0l1 ) )
        & ! [V2v5] :
            ( mem(V2v5,ty_2Elist_2Elist(A_27a))
           => ! [V3v4] :
                ( mem(V3v4,A_27a)
               => ! [V4a__lt] :
                    ( mem(V4a__lt,arr(A_27a,arr(A_27a,bool)))
                   => ap(ap(ap(c_2EternaryComparisons_2Elist__merge(A_27a),V4a__lt),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V3v4),V2v5)) = ap(ap(c_2Elist_2ECONS(A_27a),V3v4),V2v5) ) ) )
        & ! [V5y] :
            ( mem(V5y,A_27a)
           => ! [V6x] :
                ( mem(V6x,A_27a)
               => ! [V7l2] :
                    ( mem(V7l2,ty_2Elist_2Elist(A_27a))
                   => ! [V8l1] :
                        ( mem(V8l1,ty_2Elist_2Elist(A_27a))
                       => ! [V9a__lt] :
                            ( mem(V9a__lt,arr(A_27a,arr(A_27a,bool)))
                           => ap(ap(ap(c_2EternaryComparisons_2Elist__merge(A_27a),V9a__lt),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V8l1)),ap(ap(c_2Elist_2ECONS(A_27a),V5y),V7l2)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V9a__lt,V6x),V5y)),ap(ap(c_2Elist_2ECONS(A_27a),V6x),ap(ap(ap(c_2EternaryComparisons_2Elist__merge(A_27a),V9a__lt),V8l1),ap(ap(c_2Elist_2ECONS(A_27a),V5y),V7l2)))),ap(ap(c_2Elist_2ECONS(A_27a),V5y),ap(ap(ap(c_2EternaryComparisons_2Elist__merge(A_27a),V9a__lt),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V8l1)),V7l2))) ) ) ) ) ) ) ) ).

fof(ax_thm_2EternaryComparisons_2Einvert__comparison__def,axiom,
    ( ap(c_2EternaryComparisons_2Einvert__comparison,c_2EternaryComparisons_2EGREATER) = c_2EternaryComparisons_2ELESS
    & ap(c_2EternaryComparisons_2Einvert__comparison,c_2EternaryComparisons_2ELESS) = c_2EternaryComparisons_2EGREATER
    & ap(c_2EternaryComparisons_2Einvert__comparison,c_2EternaryComparisons_2EEQUAL) = c_2EternaryComparisons_2EEQUAL ) ).

fof(conj_thm_2EternaryComparisons_2Einvert__eq__EQUAL,axiom,
    ! [V0x] :
      ( mem(V0x,ty_2EternaryComparisons_2Eordering)
     => ( ap(c_2EternaryComparisons_2Einvert__comparison,V0x) = c_2EternaryComparisons_2EEQUAL
      <=> V0x = c_2EternaryComparisons_2EEQUAL ) ) ).

%------------------------------------------------------------------------------