ITP001 Axioms: ITP071+5.ax


%------------------------------------------------------------------------------
% File     : ITP071+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    : quotient_option+2.ax [Gau20]
%          : HL4071+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   15 (   0 unt;   0 def)
%            Number of atoms       :  133 (   5 equ)
%            Maximal formula atoms :   19 (   8 avg)
%            Number of connectives :  118 (   0   ~;   0   |;   4   &)
%                                         (   8 <=>; 106  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   33 (  15 avg)
%            Maximal term depth    :    8 (   2 avg)
%            Number of predicates  :    6 (   3 usr;   2 prp; 0-2 aty)
%            Number of functors    :   16 (  16 usr;   1 con; 0-4 aty)
%            Number of variables   :   88 (  88   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(conj_thm_2Equotient__option_2EOPTION__MAP__I,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27a),c_2Ecombin_2EI(A_27a)) = c_2Ecombin_2EI(ty_2Eoption_2Eoption(A_27a)) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__REL__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)
                 => ( ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),c_2Eoption_2ENONE(A_27a)),c_2Eoption_2ENONE(A_27a)))
                    <=> $true )
                    & ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),ap(c_2Eoption_2ESOME(A_27a),V1x)),c_2Eoption_2ENONE(A_27a)))
                    <=> $false )
                    & ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),c_2Eoption_2ENONE(A_27a)),ap(c_2Eoption_2ESOME(A_27a),V2y)))
                    <=> $false )
                    & ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),ap(c_2Eoption_2ESOME(A_27a),V1x)),ap(c_2Eoption_2ESOME(A_27a),V2y)))
                    <=> p(ap(ap(V0R,V1x),V2y)) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__REL__EQ,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ap(c_2Eoption_2EOPTREL(A_27a,A_27a),c_2Emin_2E_3D(A_27a)) = c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27a)) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__EQUIV,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0R] :
          ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
         => ( p(ap(c_2Equotient_2EEQUIV(A_27a),V0R))
           => p(ap(c_2Equotient_2EEQUIV(ty_2Eoption_2Eoption(A_27a)),ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R))) ) ) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__QUOTIENT,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => p(ap(ap(ap(c_2Equotient_2EQUOTIENT(ty_2Eoption_2Eoption(A_27a),ty_2Eoption_2Eoption(A_27b)),ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R)),ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),V1abs)),ap(c_2Eoption_2EOPTION__MAP(A_27b,A_27a),V2rep))) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2ENONE__PRS,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => c_2Eoption_2ENONE(A_27b) = ap(ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),V1abs),c_2Eoption_2ENONE(A_27a)) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2ENONE__RSP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),c_2Eoption_2ENONE(A_27a)),c_2Eoption_2ENONE(A_27a))) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2ESOME__PRS,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,A_27b)
                           => ap(c_2Eoption_2ESOME(A_27b),V3x) = ap(ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),V1abs),ap(c_2Eoption_2ESOME(A_27a),ap(V2rep,V3x))) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2ESOME__RSP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,A_27a)
                           => ! [V4y] :
                                ( mem(V4y,A_27a)
                               => ( p(ap(ap(V0R,V3x),V4y))
                                 => p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),ap(c_2Eoption_2ESOME(A_27a),V3x)),ap(c_2Eoption_2ESOME(A_27a),V4y))) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EIS__SOME__PRS,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,ty_2Eoption_2Eoption(A_27b))
                           => ( p(ap(c_2Eoption_2EIS__SOME(A_27b),V3x))
                            <=> p(ap(c_2Eoption_2EIS__SOME(A_27a),ap(ap(c_2Eoption_2EOPTION__MAP(A_27b,A_27a),V2rep),V3x))) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EIS__SOME__RSP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,ty_2Eoption_2Eoption(A_27a))
                           => ! [V4y] :
                                ( mem(V4y,ty_2Eoption_2Eoption(A_27a))
                               => ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),V3x),V4y))
                                 => ( p(ap(c_2Eoption_2EIS__SOME(A_27a),V3x))
                                  <=> p(ap(c_2Eoption_2EIS__SOME(A_27a),V4y)) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EIS__NONE__PRS,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,ty_2Eoption_2Eoption(A_27b))
                           => ( p(ap(c_2Eoption_2EIS__NONE(A_27b),V3x))
                            <=> p(ap(c_2Eoption_2EIS__NONE(A_27a),ap(ap(c_2Eoption_2EOPTION__MAP(A_27b,A_27a),V2rep),V3x))) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EIS__NONE__RSP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0R] :
              ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
             => ! [V1abs] :
                  ( mem(V1abs,arr(A_27a,A_27b))
                 => ! [V2rep] :
                      ( mem(V2rep,arr(A_27b,A_27a))
                     => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
                       => ! [V3x] :
                            ( mem(V3x,ty_2Eoption_2Eoption(A_27a))
                           => ! [V4y] :
                                ( mem(V4y,ty_2Eoption_2Eoption(A_27a))
                               => ( p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R),V3x),V4y))
                                 => ( p(ap(c_2Eoption_2EIS__NONE(A_27a),V3x))
                                  <=> p(ap(c_2Eoption_2EIS__NONE(A_27a),V4y)) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__MAP__PRS,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => ! [V0R1] :
                      ( mem(V0R1,arr(A_27a,arr(A_27a,bool)))
                     => ! [V1abs1] :
                          ( mem(V1abs1,arr(A_27a,A_27c))
                         => ! [V2rep1] :
                              ( mem(V2rep1,arr(A_27c,A_27a))
                             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27c),V0R1),V1abs1),V2rep1))
                               => ! [V3R2] :
                                    ( mem(V3R2,arr(A_27b,arr(A_27b,bool)))
                                   => ! [V4abs2] :
                                        ( mem(V4abs2,arr(A_27b,A_27d))
                                       => ! [V5rep2] :
                                            ( mem(V5rep2,arr(A_27d,A_27b))
                                           => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27b,A_27d),V3R2),V4abs2),V5rep2))
                                             => ! [V6a] :
                                                  ( mem(V6a,ty_2Eoption_2Eoption(A_27c))
                                                 => ! [V7f] :
                                                      ( mem(V7f,arr(A_27c,A_27d))
                                                     => ap(ap(c_2Eoption_2EOPTION__MAP(A_27c,A_27d),V7f),V6a) = ap(ap(c_2Eoption_2EOPTION__MAP(A_27b,A_27d),V4abs2),ap(ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),ap(ap(ap(c_2Equotient_2E_2D_2D_3E(A_27a,A_27d,A_27c,A_27b),V1abs1),V5rep2),V7f)),ap(ap(c_2Eoption_2EOPTION__MAP(A_27c,A_27a),V2rep1),V6a))) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Equotient__option_2EOPTION__MAP__RSP,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [A_27d] :
                  ( ne(A_27d)
                 => ! [V0R1] :
                      ( mem(V0R1,arr(A_27a,arr(A_27a,bool)))
                     => ! [V1abs1] :
                          ( mem(V1abs1,arr(A_27a,A_27c))
                         => ! [V2rep1] :
                              ( mem(V2rep1,arr(A_27c,A_27a))
                             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27c),V0R1),V1abs1),V2rep1))
                               => ! [V3R2] :
                                    ( mem(V3R2,arr(A_27b,arr(A_27b,bool)))
                                   => ! [V4abs2] :
                                        ( mem(V4abs2,arr(A_27b,A_27d))
                                       => ! [V5rep2] :
                                            ( mem(V5rep2,arr(A_27d,A_27b))
                                           => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27b,A_27d),V3R2),V4abs2),V5rep2))
                                             => ! [V6a1] :
                                                  ( mem(V6a1,ty_2Eoption_2Eoption(A_27a))
                                                 => ! [V7a2] :
                                                      ( mem(V7a2,ty_2Eoption_2Eoption(A_27a))
                                                     => ! [V8f1] :
                                                          ( mem(V8f1,arr(A_27a,A_27b))
                                                         => ! [V9f2] :
                                                              ( mem(V9f2,arr(A_27a,A_27b))
                                                             => ( ( p(ap(ap(ap(ap(c_2Equotient_2E_3D_3D_3D_3E(A_27a,A_27b),V0R1),V3R2),V8f1),V9f2))
                                                                  & p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27a,A_27a),V0R1),V6a1),V7a2)) )
                                                               => p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27b,A_27b),V3R2),ap(ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),V8f1),V6a1)),ap(ap(c_2Eoption_2EOPTION__MAP(A_27a,A_27b),V9f2),V7a2))) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

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