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 (   2 unt;   0 typ;   0 def)
%            Number of atoms       :  391 (   5 equ)
%            Maximal formula atoms :   15 (  26 avg)
%            Number of connectives :   88 (   0   ~;   0   |;   4   &)
%                                         (   8 <=>;  76  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (  13 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of FOOLs       :  288 ( 288 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :   22 (  19 usr;   4 prp; 0-4 aty)
%            Number of functors    :    0 (   0 usr;   0 con; --- aty)
%            Number of variables   :   88 (  88   !;   0   ?;  88   :)
% SPC      : TF0_SAT_EQU_NAR

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

tff(conj_thm_2Equotient__option_2EOPTION__REL__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( 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)) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EOPTION__REL__EQ,axiom,
    ! [A_27a: del] : ( ap(c_2Eoption_2EOPTREL(A_27a,A_27a),c_2Emin_2E_3D(A_27a)) = c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27a)) ) ).

tff(conj_thm_2Equotient__option_2EOPTION__EQUIV,axiom,
    ! [A_27a: del,V0R: $i] :
      ( 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))) ) ) ).

tff(conj_thm_2Equotient__option_2EOPTION__QUOTIENT,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( 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))) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2ENONE__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( 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)) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2ENONE__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( 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))) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2ESOME__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( 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))) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2ESOME__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( mem(V3x,A_27a)
                   => ! [V4y: $i] :
                        ( 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))) ) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EIS__SOME__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( 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))) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EIS__SOME__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( mem(V3x,ty_2Eoption_2Eoption(A_27a))
                   => ! [V4y: $i] :
                        ( 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)) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EIS__NONE__PRS,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( 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))) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EIS__NONE__RSP,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs: $i] :
          ( mem(V1abs,arr(A_27a,A_27b))
         => ! [V2rep: $i] :
              ( mem(V2rep,arr(A_27b,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27b),V0R),V1abs),V2rep))
               => ! [V3x: $i] :
                    ( mem(V3x,ty_2Eoption_2Eoption(A_27a))
                   => ! [V4y: $i] :
                        ( 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)) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EOPTION__MAP__PRS,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0R1: $i] :
      ( mem(V0R1,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs1: $i] :
          ( mem(V1abs1,arr(A_27a,A_27c))
         => ! [V2rep1: $i] :
              ( mem(V2rep1,arr(A_27c,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27c),V0R1),V1abs1),V2rep1))
               => ! [V3R2: $i] :
                    ( mem(V3R2,arr(A_27b,arr(A_27b,bool)))
                   => ! [V4abs2: $i] :
                        ( mem(V4abs2,arr(A_27b,A_27d))
                       => ! [V5rep2: $i] :
                            ( mem(V5rep2,arr(A_27d,A_27b))
                           => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27b,A_27d),V3R2),V4abs2),V5rep2))
                             => ! [V6a: $i] :
                                  ( mem(V6a,ty_2Eoption_2Eoption(A_27c))
                                 => ! [V7f: $i] :
                                      ( 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))) ) ) ) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Equotient__option_2EOPTION__MAP__RSP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0R1: $i] :
      ( mem(V0R1,arr(A_27a,arr(A_27a,bool)))
     => ! [V1abs1: $i] :
          ( mem(V1abs1,arr(A_27a,A_27c))
         => ! [V2rep1: $i] :
              ( mem(V2rep1,arr(A_27c,A_27a))
             => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27a,A_27c),V0R1),V1abs1),V2rep1))
               => ! [V3R2: $i] :
                    ( mem(V3R2,arr(A_27b,arr(A_27b,bool)))
                   => ! [V4abs2: $i] :
                        ( mem(V4abs2,arr(A_27b,A_27d))
                       => ! [V5rep2: $i] :
                            ( mem(V5rep2,arr(A_27d,A_27b))
                           => ( p(ap(ap(ap(c_2Equotient_2EQUOTIENT(A_27b,A_27d),V3R2),V4abs2),V5rep2))
                             => ! [V6a1: $i] :
                                  ( mem(V6a1,ty_2Eoption_2Eoption(A_27a))
                                 => ! [V7a2: $i] :
                                      ( mem(V7a2,ty_2Eoption_2Eoption(A_27a))
                                     => ! [V8f1: $i] :
                                          ( mem(V8f1,arr(A_27a,A_27b))
                                         => ! [V9f2: $i] :
                                              ( 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))) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

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