ITP001 Axioms: ITP051+5.ax


%------------------------------------------------------------------------------
% File     : ITP051+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    : readerMonad+2.ax [Gau20]
%          : HL4051+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   20 (   0 unt;   0 def)
%            Number of atoms       :  107 (  16 equ)
%            Maximal formula atoms :    9 (   5 avg)
%            Number of connectives :   87 (   0   ~;   0   |;   1   &)
%                                         (   0 <=>;  86  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (  10 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :   10 (  10 usr;   0 con; 1-4 aty)
%            Number of variables   :   86 (  86   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EreaderMonad_2EBIND,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27s] :
              ( ne(A_27s)
             => mem(c_2EreaderMonad_2EBIND(A_27a,A_27b,A_27s),arr(arr(A_27s,A_27a),arr(arr(A_27a,arr(A_27s,A_27b)),arr(A_27s,A_27b)))) ) ) ) ).

fof(mem_c_2EreaderMonad_2EFMAP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27s] :
              ( ne(A_27s)
             => mem(c_2EreaderMonad_2EFMAP(A_27a,A_27b,A_27s),arr(arr(A_27a,A_27b),arr(arr(A_27s,A_27a),arr(A_27s,A_27b)))) ) ) ) ).

fof(mem_c_2EreaderMonad_2EJOIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27s] :
          ( ne(A_27s)
         => mem(c_2EreaderMonad_2EJOIN(A_27a,A_27s),arr(arr(A_27s,arr(A_27s,A_27a)),arr(A_27s,A_27a))) ) ) ).

fof(mem_c_2EreaderMonad_2EMCOMPOSE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27s] :
                  ( ne(A_27s)
                 => mem(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27b,A_27c,A_27s),arr(arr(A_27a,arr(A_27s,A_27b)),arr(arr(A_27b,arr(A_27s,A_27c)),arr(A_27a,arr(A_27s,A_27c))))) ) ) ) ) ).

fof(mem_c_2EreaderMonad_2EUNIT,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EreaderMonad_2EUNIT(A_27a,A_27b),arr(A_27a,arr(A_27b,A_27a))) ) ) ).

fof(ax_thm_2EreaderMonad_2EBIND__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27s] :
              ( ne(A_27s)
             => ! [V0M] :
                  ( mem(V0M,arr(A_27s,A_27a))
                 => ! [V1f] :
                      ( mem(V1f,arr(A_27a,arr(A_27s,A_27b)))
                     => ! [V2s] :
                          ( mem(V2s,A_27s)
                         => ap(ap(ap(c_2EreaderMonad_2EBIND(A_27a,A_27b,A_27s),V0M),V1f),V2s) = ap(ap(V1f,ap(V0M,V2s)),V2s) ) ) ) ) ) ) ).

fof(ax_thm_2EreaderMonad_2EUNIT__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0x] :
              ( mem(V0x,A_27a)
             => ! [V1s] :
                  ( mem(V1s,A_27b)
                 => ap(ap(c_2EreaderMonad_2EUNIT(A_27a,A_27b),V0x),V1s) = V0x ) ) ) ) ).

fof(ax_thm_2EreaderMonad_2EMCOMPOSE__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27s] :
                  ( ne(A_27s)
                 => ! [V0f1] :
                      ( mem(V0f1,arr(A_27a,arr(A_27s,A_27b)))
                     => ! [V1f2] :
                          ( mem(V1f2,arr(A_27b,arr(A_27s,A_27c)))
                         => ! [V2a] :
                              ( mem(V2a,A_27a)
                             => ap(ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27b,A_27c,A_27s),V0f1),V1f2),V2a) = ap(ap(c_2EreaderMonad_2EBIND(A_27b,A_27c,A_27s),ap(V0f1,V2a)),V1f2) ) ) ) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EBIND__UNITR,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0m] :
              ( mem(V0m,arr(A_27a,A_27b))
             => ap(ap(c_2EreaderMonad_2EBIND(A_27b,A_27b,A_27a),V0m),c_2EreaderMonad_2EUNIT(A_27b,A_27a)) = V0m ) ) ) ).

fof(conj_thm_2EreaderMonad_2EBIND__UNITL,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0x] :
                  ( mem(V0x,A_27c)
                 => ! [V1f] :
                      ( mem(V1f,arr(A_27c,arr(A_27a,A_27b)))
                     => ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),ap(c_2EreaderMonad_2EUNIT(A_27c,A_27a),V0x)),V1f) = ap(V1f,V0x) ) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EMCOMPOSE__LEFT__ID,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0g] :
                  ( mem(V0g,arr(A_27a,arr(A_27b,A_27c)))
                 => ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27a,A_27c,A_27b),c_2EreaderMonad_2EUNIT(A_27a,A_27b)),V0g) = V0g ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EMCOMPOSE__RIGHT__ID,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0f] :
                  ( mem(V0f,arr(A_27a,arr(A_27b,A_27c)))
                 => ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27c,A_27c,A_27b),V0f),c_2EreaderMonad_2EUNIT(A_27c,A_27b)) = V0f ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EMCOMPOSE__ASSOC,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => ! [A_27e] :
                      ( ne(A_27e)
                     => ! [V0f] :
                          ( mem(V0f,arr(A_27a,arr(A_27b,A_27d)))
                         => ! [V1g] :
                              ( mem(V1g,arr(A_27d,arr(A_27b,A_27e)))
                             => ! [V2h] :
                                  ( mem(V2h,arr(A_27e,arr(A_27b,A_27c)))
                                 => ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27d,A_27c,A_27b),V0f),ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27d,A_27e,A_27c,A_27b),V1g),V2h)) = ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27e,A_27c,A_27b),ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27d,A_27e,A_27b),V0f),V1g)),V2h) ) ) ) ) ) ) ) ) ).

fof(ax_thm_2EreaderMonad_2EFMAP__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27s] :
              ( ne(A_27s)
             => ! [V0f] :
                  ( mem(V0f,arr(A_27a,A_27b))
                 => ! [V1M1] :
                      ( mem(V1M1,arr(A_27s,A_27a))
                     => ap(ap(c_2EreaderMonad_2EFMAP(A_27a,A_27b,A_27s),V0f),V1M1) = ap(ap(c_2Ecombin_2Eo(A_27s,A_27b,A_27a),V0f),V1M1) ) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EFMAP__ID,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0M] :
              ( mem(V0M,arr(A_27a,A_27b))
             => ( ap(ap(c_2EreaderMonad_2EFMAP(A_27b,A_27b,A_27a),i(A_27b)),V0M) = V0M
                & ap(ap(c_2EreaderMonad_2EFMAP(A_27b,A_27b,A_27a),c_2Ecombin_2EI(A_27b)),V0M) = V0M ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EFMAP__o,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => ! [V0f] :
                      ( mem(V0f,arr(A_27d,A_27c))
                     => ! [V1g] :
                          ( mem(V1g,arr(A_27b,A_27d))
                         => ap(c_2EreaderMonad_2EFMAP(A_27b,A_27c,A_27a),ap(ap(c_2Ecombin_2Eo(A_27b,A_27c,A_27d),V0f),V1g)) = ap(ap(c_2Ecombin_2Eo(arr(A_27a,A_27b),arr(A_27a,A_27c),arr(A_27a,A_27d)),ap(c_2EreaderMonad_2EFMAP(A_27d,A_27c,A_27a),V0f)),ap(c_2EreaderMonad_2EFMAP(A_27b,A_27d,A_27a),V1g)) ) ) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EFMAP__BIND,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0f] :
                  ( mem(V0f,arr(A_27c,A_27b))
                 => ! [V1M] :
                      ( mem(V1M,arr(A_27a,A_27c))
                     => ap(ap(c_2EreaderMonad_2EFMAP(A_27c,A_27b,A_27a),V0f),V1M) = ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),V1M),ap(ap(c_2Ecombin_2Eo(A_27c,arr(A_27a,A_27b),A_27b),c_2EreaderMonad_2EUNIT(A_27b,A_27a)),V0f)) ) ) ) ) ) ).

fof(ax_thm_2EreaderMonad_2EJOIN__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27s] :
          ( ne(A_27s)
         => ! [V0MM] :
              ( mem(V0MM,arr(A_27s,arr(A_27s,A_27a)))
             => ! [V1s] :
                  ( mem(V1s,A_27s)
                 => ap(ap(c_2EreaderMonad_2EJOIN(A_27a,A_27s),V0MM),V1s) = ap(ap(V0MM,V1s),V1s) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EBIND__JOIN,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0M] :
                  ( mem(V0M,arr(A_27a,A_27c))
                 => ! [V1f] :
                      ( mem(V1f,arr(A_27c,arr(A_27a,A_27b)))
                     => ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),V0M),V1f) = ap(c_2EreaderMonad_2EJOIN(A_27b,A_27a),ap(ap(c_2EreaderMonad_2EFMAP(A_27c,arr(A_27a,A_27b),A_27a),V1f),V0M)) ) ) ) ) ) ).

fof(conj_thm_2EreaderMonad_2EJOIN__BIND,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0M] :
              ( mem(V0M,arr(A_27a,arr(A_27a,A_27b)))
             => ap(c_2EreaderMonad_2EJOIN(A_27b,A_27a),V0M) = ap(ap(c_2EreaderMonad_2EBIND(arr(A_27a,A_27b),A_27b,A_27a),V0M),c_2Ecombin_2EI(arr(A_27a,A_27b))) ) ) ) ).

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