ITP001 Axioms: ITP095+5.ax


%------------------------------------------------------------------------------
% File     : ITP095+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    : blast+2.ax [Gau20]
%          : HL4095+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   44 (   4 unt;   0 def)
%            Number of atoms       :  213 (  30 equ)
%            Maximal formula atoms :   17 (   4 avg)
%            Number of connectives :  172 (   3   ~;   2   |;   7   &)
%                                         (  19 <=>; 141  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   8 avg)
%            Maximal term depth    :   15 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   73 (  73 usr;  26 con; 0-5 aty)
%            Number of variables   :  178 ( 178   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2Eblast_2EBCARRY,axiom,
    mem(c_2Eblast_2EBCARRY,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),arr(arr(ty_2Enum_2Enum,bool),arr(bool,bool))))) ).

fof(mem_c_2Eblast_2EBSUM,axiom,
    mem(c_2Eblast_2EBSUM,arr(ty_2Enum_2Enum,arr(arr(ty_2Enum_2Enum,bool),arr(arr(ty_2Enum_2Enum,bool),arr(bool,bool))))) ).

fof(mem_c_2Eblast_2Ebcarry,axiom,
    mem(c_2Eblast_2Ebcarry,arr(bool,arr(bool,arr(bool,bool)))) ).

fof(mem_c_2Eblast_2Ebsum,axiom,
    mem(c_2Eblast_2Ebsum,arr(bool,arr(bool,arr(bool,bool)))) ).

fof(ax_thm_2Eblast_2Ebcarry__def,axiom,
    ! [V0x] :
      ( mem(V0x,bool)
     => ! [V1y] :
          ( mem(V1y,bool)
         => ! [V2c] :
              ( mem(V2c,bool)
             => ( p(ap(ap(ap(c_2Eblast_2Ebcarry,V0x),V1y),V2c))
              <=> ( ( p(V0x)
                    & p(V1y) )
                  | ( ( p(V0x)
                      | p(V1y) )
                    & p(V2c) ) ) ) ) ) ) ).

fof(ax_thm_2Eblast_2EBCARRY__def,axiom,
    ( ! [V0x] :
        ( mem(V0x,arr(ty_2Enum_2Enum,bool))
       => ! [V1y] :
            ( mem(V1y,arr(ty_2Enum_2Enum,bool))
           => ! [V2c] :
                ( mem(V2c,bool)
               => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,c_2Enum_2E0),V0x),V1y),V2c))
                <=> p(V2c) ) ) ) )
    & ! [V3i] :
        ( mem(V3i,ty_2Enum_2Enum)
       => ! [V4x] :
            ( mem(V4x,arr(ty_2Enum_2Enum,bool))
           => ! [V5y] :
                ( mem(V5y,arr(ty_2Enum_2Enum,bool))
               => ! [V6c] :
                    ( mem(V6c,bool)
                   => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(c_2Enum_2ESUC,V3i)),V4x),V5y),V6c))
                    <=> p(ap(ap(ap(c_2Eblast_2Ebcarry,ap(V4x,V3i)),ap(V5y,V3i)),ap(ap(ap(ap(c_2Eblast_2EBCARRY,V3i),V4x),V5y),V6c))) ) ) ) ) ) ) ).

fof(conj_thm_2Eblast_2EBCARRY__def__compute,axiom,
    ( ! [V0x] :
        ( mem(V0x,arr(ty_2Enum_2Enum,bool))
       => ! [V1y] :
            ( mem(V1y,arr(ty_2Enum_2Enum,bool))
           => ! [V2c] :
                ( mem(V2c,bool)
               => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,c_2Enum_2E0),V0x),V1y),V2c))
                <=> p(V2c) ) ) ) )
    & ! [V3i] :
        ( mem(V3i,ty_2Enum_2Enum)
       => ! [V4x] :
            ( mem(V4x,arr(ty_2Enum_2Enum,bool))
           => ! [V5y] :
                ( mem(V5y,arr(ty_2Enum_2Enum,bool))
               => ! [V6c] :
                    ( mem(V6c,bool)
                   => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3i))),V4x),V5y),V6c))
                    <=> p(ap(ap(ap(c_2Eblast_2Ebcarry,ap(V4x,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3i))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(V5y,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3i))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V3i))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V4x),V5y),V6c))) ) ) ) ) )
    & ! [V7i] :
        ( mem(V7i,ty_2Enum_2Enum)
       => ! [V8x] :
            ( mem(V8x,arr(ty_2Enum_2Enum,bool))
           => ! [V9y] :
                ( mem(V9y,arr(ty_2Enum_2Enum,bool))
               => ! [V10c] :
                    ( mem(V10c,bool)
                   => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,V7i))),V8x),V9y),V10c))
                    <=> p(ap(ap(ap(c_2Eblast_2Ebcarry,ap(V8x,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7i)))),ap(V9y,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7i)))),ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,V7i))),V8x),V9y),V10c))) ) ) ) ) ) ) ).

fof(ax_thm_2Eblast_2Ebsum__def,axiom,
    ! [V0x] :
      ( mem(V0x,bool)
     => ! [V1y] :
          ( mem(V1y,bool)
         => ! [V2c] :
              ( mem(V2c,bool)
             => ( p(ap(ap(ap(c_2Eblast_2Ebsum,V0x),V1y),V2c))
              <=> ( ( p(V0x)
                  <=> ~ p(V1y) )
                <=> ~ p(V2c) ) ) ) ) ) ).

fof(ax_thm_2Eblast_2EBSUM__def,axiom,
    ! [V0i] :
      ( mem(V0i,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,arr(ty_2Enum_2Enum,bool))
         => ! [V2y] :
              ( mem(V2y,arr(ty_2Enum_2Enum,bool))
             => ! [V3c] :
                  ( mem(V3c,bool)
                 => ( p(ap(ap(ap(ap(c_2Eblast_2EBSUM,V0i),V1x),V2y),V3c))
                  <=> p(ap(ap(ap(c_2Eblast_2Ebsum,ap(V1x,V0i)),ap(V2y,V0i)),ap(ap(ap(ap(c_2Eblast_2EBCARRY,V0i),V1x),V2y),V3c))) ) ) ) ) ) ).

fof(lameq_f2309,axiom,
    ! [V1x] :
      ( mem(V1x,ty_2Enum_2Enum)
     => ! [V4i] : ap(f2309(V1x),V4i) = ap(ap(c_2Ebit_2EBIT,V4i),V1x) ) ).

fof(lameq_f2310,axiom,
    ! [V2y] :
      ( mem(V2y,ty_2Enum_2Enum)
     => ! [V5i] : ap(f2310(V2y),V5i) = ap(ap(c_2Ebit_2EBIT,V5i),V2y) ) ).

fof(conj_thm_2Eblast_2EBCARRY__LEM,axiom,
    ! [V0i] :
      ( mem(V0i,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
         => ! [V2y] :
              ( mem(V2y,ty_2Enum_2Enum)
             => ! [V3c] :
                  ( mem(V3c,bool)
                 => ( p(ap(ap(c_2Eprim__rec_2E_3C,c_2Enum_2E0),V0i))
                   => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,V0i),f2309(V1x)),f2310(V2y)),V3c))
                    <=> p(ap(ap(c_2Ebit_2EBIT,V0i),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2B,ap(ap(ap(c_2Ebit_2EBITS,ap(ap(c_2Earithmetic_2E_2D,V0i),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Enum_2E0),V1x)),ap(ap(ap(c_2Ebit_2EBITS,ap(ap(c_2Earithmetic_2E_2D,V0i),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),c_2Enum_2E0),V2y))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),V3c),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Enum_2E0)))) ) ) ) ) ) ) ).

fof(conj_thm_2Eblast_2EBCARRY__EQ,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1c] :
          ( mem(V1c,bool)
         => ! [V2x1] :
              ( mem(V2x1,arr(ty_2Enum_2Enum,bool))
             => ! [V3x2] :
                  ( mem(V3x2,arr(ty_2Enum_2Enum,bool))
                 => ! [V4y1] :
                      ( mem(V4y1,arr(ty_2Enum_2Enum,bool))
                     => ! [V5y2] :
                          ( mem(V5y2,arr(ty_2Enum_2Enum,bool))
                         => ( ! [V6i] :
                                ( mem(V6i,ty_2Enum_2Enum)
                               => ( p(ap(ap(c_2Eprim__rec_2E_3C,V6i),V0n))
                                 => ( ( p(ap(V2x1,V6i))
                                    <=> p(ap(V3x2,V6i)) )
                                    & ( p(ap(V4y1,V6i))
                                    <=> p(ap(V5y2,V6i)) ) ) ) )
                           => ( p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,V0n),V2x1),V4y1),V1c))
                            <=> p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,V0n),V3x2),V5y2),V1c)) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Eblast_2EBSUM__EQ,axiom,
    ! [V0n] :
      ( mem(V0n,ty_2Enum_2Enum)
     => ! [V1c] :
          ( mem(V1c,bool)
         => ! [V2x1] :
              ( mem(V2x1,arr(ty_2Enum_2Enum,bool))
             => ! [V3x2] :
                  ( mem(V3x2,arr(ty_2Enum_2Enum,bool))
                 => ! [V4y1] :
                      ( mem(V4y1,arr(ty_2Enum_2Enum,bool))
                     => ! [V5y2] :
                          ( mem(V5y2,arr(ty_2Enum_2Enum,bool))
                         => ( ! [V6i] :
                                ( mem(V6i,ty_2Enum_2Enum)
                               => ( p(ap(ap(c_2Earithmetic_2E_3C_3D,V6i),V0n))
                                 => ( ( p(ap(V2x1,V6i))
                                    <=> p(ap(V3x2,V6i)) )
                                    & ( p(ap(V4y1,V6i))
                                    <=> p(ap(V5y2,V6i)) ) ) ) )
                           => ( p(ap(ap(ap(ap(c_2Eblast_2EBSUM,V0n),V2x1),V4y1),V1c))
                            <=> p(ap(ap(ap(ap(c_2Eblast_2EBSUM,V0n),V3x2),V5y2),V1c)) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Eblast_2EBSUM__LEM,axiom,
    ! [V0i] :
      ( mem(V0i,ty_2Enum_2Enum)
     => ! [V1x] :
          ( mem(V1x,ty_2Enum_2Enum)
         => ! [V2y] :
              ( mem(V2y,ty_2Enum_2Enum)
             => ! [V3c] :
                  ( mem(V3c,bool)
                 => ( p(ap(ap(ap(ap(c_2Eblast_2EBSUM,V0i),f2309(V1x)),f2310(V2y)),V3c))
                  <=> p(ap(ap(c_2Ebit_2EBIT,V0i),ap(ap(c_2Earithmetic_2E_2B,ap(ap(c_2Earithmetic_2E_2B,V1x),V2y)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),V3c),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))),c_2Enum_2E0)))) ) ) ) ) ) ).

fof(lameq_f2311,axiom,
    ! [A_27a,V1y] :
      ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2i] : ap(f2311(A_27a,V1y,V0x),V2i) = ap(ap(ap(ap(c_2Eblast_2EBSUM,V2i),ap(c_2Efcp_2Efcp__index(bool,A_27a),V0x)),ap(c_2Efcp_2Efcp__index(bool,A_27a),V1y)),c_2Ebool_2EF) ) ) ).

fof(conj_thm_2Eblast_2EBITWISE__ADD,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__add(A_27a),V0x),V1y) = ap(c_2Efcp_2EFCP(bool,A_27a),f2311(A_27a,V1y,V0x)) ) ) ) ).

fof(lameq_f2312,axiom,
    ! [A_27a,V1y] :
      ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2i] : ap(f2312(A_27a,V1y,V0x),V2i) = ap(ap(ap(ap(c_2Eblast_2EBSUM,V2i),ap(c_2Efcp_2Efcp__index(bool,A_27a),V0x)),ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,bool,bool),c_2Ebool_2E_7E),ap(c_2Efcp_2Efcp__index(bool,A_27a),V1y))),c_2Ebool_2ET) ) ) ).

fof(conj_thm_2Eblast_2EBITWISE__SUB,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__sub(A_27a),V0x),V1y) = ap(c_2Efcp_2EFCP(bool,A_27a),f2312(A_27a,V1y,V0x)) ) ) ) ).

fof(conj_thm_2Eblast_2EBITWISE__LO,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0x] :
          ( mem(V0x,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1y] :
              ( mem(V1y,ty_2Efcp_2Ecart(bool,A_27a))
             => ( p(ap(ap(c_2Ewords_2Eword__lo(A_27a),V0x),V1y))
              <=> ~ p(ap(ap(ap(ap(c_2Eblast_2EBCARRY,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Efcp_2Efcp__index(bool,A_27a),V0x)),ap(ap(c_2Ecombin_2Eo(ty_2Enum_2Enum,bool,bool),c_2Ebool_2E_7E),ap(c_2Efcp_2Efcp__index(bool,A_27a),V1y))),c_2Ebool_2ET)) ) ) ) ) ).

fof(lameq_f2313,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V3j] :
          ( mem(V3j,ty_2Enum_2Enum)
         => ! [V0w] :
              ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V4i] : ap(f2313(A_27a,V1m,V3j,V0w),V4i) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),V3j)),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Earithmetic_2E_3C_3D,V3j),V4i)),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V1m),ap(ap(c_2Earithmetic_2E_2D,V4i),V3j)))) ) ) ) ).

fof(lameq_f2314,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2a] :
              ( mem(V2a,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V3j] : ap(f2314(A_27a,V1m,V0w,V2a),V3j) = ap(ap(c_2Ewords_2Eword__add(A_27a),V2a),ap(c_2Efcp_2EFCP(bool,A_27a),f2313(A_27a,V1m,V3j,V0w))) ) ) ) ).

fof(lameq_f2315,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2a] : ap(f2315(A_27a,V1m,V0w),V2a) = f2314(A_27a,V1m,V0w,V2a) ) ) ).

fof(conj_thm_2Eblast_2EBITWISE__MUL,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__mul(A_27a),V0w),V1m) = ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,ty_2Efcp_2Ecart(bool,A_27a)),f2315(A_27a,V1m,V0w)),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0)),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ) ).

fof(lameq_f2316,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] :
                  ( mem(V3a,bool)
                 => ! [V4j] : ap(f2316(A_27a,V1m,V0w,V2k,V3a),V4j) = ap(ap(c_2Ebool_2E_5C_2F,V3a),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),c_2Enum_2E0),V1m)),ap(c_2Ewords_2En2w(A_27a),V4j))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Earithmetic_2E_3C_3D,V4j),V2k)),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),ap(ap(c_2Earithmetic_2E_2D,V2k),V4j))))) ) ) ) ) ).

fof(lameq_f2317,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] : ap(f2317(A_27a,V1m,V0w,V2k),V3a) = f2316(A_27a,V1m,V0w,V2k,V3a) ) ) ) ).

fof(lameq_f2318,axiom,
    ! [A_27a,V0w] :
      ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V1m] :
          ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] : ap(f2318(A_27a,V0w,V1m),V2k) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,bool),f2317(A_27a,V1m,V0w,V2k)),c_2Ebool_2EF),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V1m)),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0))) ) ) ).

fof(conj_thm_2Eblast_2Eword__lsl__bv__expand,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__lsl__bv(A_27a),V0w),V1m) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Efcp_2EFCP(bool,A_27a),ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V1m),c_2Enum_2E0))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),c_2Enum_2E0))))),ap(c_2Efcp_2EFCP(bool,A_27a),f2318(A_27a,V0w,V1m))) ) ) ) ).

fof(lameq_f2319,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] :
                  ( mem(V3a,bool)
                 => ! [V4j] : ap(f2319(A_27a,V1m,V0w,V2k,V3a),V4j) = ap(ap(c_2Ebool_2E_5C_2F,V3a),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),c_2Enum_2E0),V1m)),ap(c_2Ewords_2En2w(A_27a),V4j))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Eprim__rec_2E_3C,ap(ap(c_2Earithmetic_2E_2B,V2k),V4j)),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),ap(ap(c_2Earithmetic_2E_2B,V2k),V4j))))) ) ) ) ) ).

fof(lameq_f2320,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] : ap(f2320(A_27a,V1m,V0w,V2k),V3a) = f2319(A_27a,V1m,V0w,V2k,V3a) ) ) ) ).

fof(lameq_f2321,axiom,
    ! [A_27a,V0w] :
      ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V1m] :
          ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] : ap(f2321(A_27a,V0w,V1m),V2k) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,bool),f2320(A_27a,V1m,V0w,V2k)),c_2Ebool_2EF),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V1m)),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0))) ) ) ).

fof(conj_thm_2Eblast_2Eword__lsr__bv__expand,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__lsr__bv(A_27a),V0w),V1m) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Efcp_2EFCP(bool,A_27a),ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V1m),c_2Enum_2E0))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),c_2Enum_2E0))))),ap(c_2Efcp_2EFCP(bool,A_27a),f2321(A_27a,V0w,V1m))) ) ) ) ).

fof(lameq_f2322,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] :
                  ( mem(V3a,bool)
                 => ! [V4j] : ap(f2322(A_27a,V1m,V0w,V2k,V3a),V4j) = ap(ap(c_2Ebool_2E_5C_2F,V3a),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),c_2Enum_2E0),V1m)),ap(c_2Ewords_2En2w(A_27a),V4j))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),ap(ap(c_2Ewords_2Eword__asr(A_27a),V0w),V4j)),V2k))) ) ) ) ) ).

fof(lameq_f2323,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] :
              ( mem(V2k,ty_2Enum_2Enum)
             => ! [V3a] : ap(f2323(A_27a,V1m,V0w,V2k),V3a) = f2322(A_27a,V1m,V0w,V2k,V3a) ) ) ) ).

fof(lameq_f2324,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] : ap(f2324(A_27a,V1m,V0w),V2k) = ap(ap(c_2Ebool_2E_5C_2F,ap(ap(c_2Ebool_2E_2F_5C,ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,bool),f2323(A_27a,V1m,V0w,V2k)),c_2Ebool_2EF),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(ap(c_2Ewords_2Eword__bits(A_27a),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Ebit_2ELOG2,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),V1m)),ap(c_2Ewords_2En2w(A_27a),c_2Enum_2E0)))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Ewords_2Eword__lo(A_27a),ap(c_2Ewords_2En2w(A_27a),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO))))),V1m)),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))))) ) ) ).

fof(conj_thm_2Eblast_2Eword__asr__bv__expand,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__asr__bv(A_27a),V0w),V1m) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,c_2Earithmetic_2EZERO)))),ap(c_2Efcp_2EFCP(bool,A_27a),ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),c_2Enum_2E0)))),ap(c_2Efcp_2EFCP(bool,A_27a),f2324(A_27a,V1m,V0w))) ) ) ) ).

fof(lameq_f2325,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2k] :
          ( mem(V2k,ty_2Enum_2Enum)
         => ! [V0w] :
              ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V3a] :
                  ( mem(V3a,bool)
                 => ! [V4j] : ap(f2325(A_27a,V1m,V2k,V0w,V3a),V4j) = ap(ap(c_2Ebool_2E_5C_2F,V3a),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Ewords_2Eword__mod(A_27a),V1m),ap(c_2Ewords_2En2w(A_27a),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(c_2Ewords_2En2w(A_27a),V4j))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2E_2B,V4j),V2k)),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))))) ) ) ) ) ).

fof(lameq_f2326,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2k] :
          ( mem(V2k,ty_2Enum_2Enum)
         => ! [V0w] :
              ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V3a] : ap(f2326(A_27a,V1m,V2k,V0w),V3a) = f2325(A_27a,V1m,V2k,V0w,V3a) ) ) ) ).

fof(lameq_f2327,axiom,
    ! [A_27a,V0w] :
      ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V1m] :
          ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] : ap(f2327(A_27a,V0w,V1m),V2k) = ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,bool),f2326(A_27a,V1m,V2k,V0w)),c_2Ebool_2EF),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).

fof(conj_thm_2Eblast_2Eword__ror__bv__expand,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__ror__bv(A_27a),V0w),V1m) = ap(c_2Efcp_2EFCP(bool,A_27a),f2327(A_27a,V0w,V1m)) ) ) ) ).

fof(lameq_f2328,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2k] :
          ( mem(V2k,ty_2Enum_2Enum)
         => ! [V0w] :
              ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V3a] :
                  ( mem(V3a,bool)
                 => ! [V4j] : ap(f2328(A_27a,V1m,V2k,V0w,V3a),V4j) = ap(ap(c_2Ebool_2E_5C_2F,V3a),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efcp_2Ecart(bool,A_27a)),ap(ap(c_2Ewords_2Eword__mod(A_27a),V1m),ap(c_2Ewords_2En2w(A_27a),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(c_2Ewords_2En2w(A_27a),V4j))),ap(ap(c_2Efcp_2Efcp__index(bool,A_27a),V0w),ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2E_2B,V2k),ap(ap(c_2Earithmetic_2EMOD,ap(ap(c_2Earithmetic_2E_2D,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))),V4j)),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a))))),ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))))) ) ) ) ) ).

fof(lameq_f2329,axiom,
    ! [A_27a,V1m] :
      ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V2k] :
          ( mem(V2k,ty_2Enum_2Enum)
         => ! [V0w] :
              ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
             => ! [V3a] : ap(f2329(A_27a,V1m,V2k,V0w),V3a) = f2328(A_27a,V1m,V2k,V0w,V3a) ) ) ) ).

fof(lameq_f2330,axiom,
    ! [A_27a,V0w] :
      ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
     => ! [V1m] :
          ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V2k] : ap(f2330(A_27a,V0w,V1m),V2k) = ap(ap(ap(c_2Elist_2EFOLDL(ty_2Enum_2Enum,bool),f2329(A_27a,V1m,V2k,V0w)),c_2Ebool_2EF),ap(c_2Erich__list_2ECOUNT__LIST,ap(c_2Efcp_2Edimindex(A_27a),c_2Ebool_2Ethe__value(A_27a)))) ) ) ).

fof(conj_thm_2Eblast_2Eword__rol__bv__expand,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0w] :
          ( mem(V0w,ty_2Efcp_2Ecart(bool,A_27a))
         => ! [V1m] :
              ( mem(V1m,ty_2Efcp_2Ecart(bool,A_27a))
             => ap(ap(c_2Ewords_2Eword__rol__bv(A_27a),V0w),V1m) = ap(c_2Efcp_2EFCP(bool,A_27a),f2330(A_27a,V0w,V1m)) ) ) ) ).

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