ITP001 Axioms: ITP046+5.ax


%------------------------------------------------------------------------------
% File     : ITP046+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    : dirGraph+2.ax [Gau20]
%          : HL4046+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   17 (   0 unt;   0 def)
%            Number of atoms       :   69 (  11 equ)
%            Maximal formula atoms :    8 (   4 avg)
%            Number of connectives :   54 (   2   ~;   0   |;   2   &)
%                                         (   1 <=>;  49  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   14 (   8 avg)
%            Maximal term depth    :    8 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   25 (  25 usr;   3 con; 0-4 aty)
%            Number of variables   :   58 (  57   !;   1   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EdirGraph_2EEXCLUDE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EdirGraph_2EEXCLUDE(A_27a,A_27b),arr(arr(A_27b,ty_2Elist_2Elist(A_27a)),arr(arr(A_27b,bool),arr(A_27b,ty_2Elist_2Elist(A_27a))))) ) ) ).

fof(mem_c_2EdirGraph_2EParents,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EdirGraph_2EParents(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(A_27b)),arr(A_27a,bool))) ) ) ).

fof(mem_c_2EdirGraph_2EREACH,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EdirGraph_2EREACH(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(A_27a)),arr(A_27a,arr(A_27a,bool)))) ) ).

fof(mem_c_2EdirGraph_2EREACH__LIST,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EdirGraph_2EREACH__LIST(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(A_27a)),arr(ty_2Elist_2Elist(A_27a),arr(A_27a,bool)))) ) ).

fof(lameq_f980,axiom,
    ! [A_27b,A_27a,V0G] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
     => ! [V1x] : ap(f980(A_27b,A_27a,V0G),V1x) = ap(ap(c_2Epair_2E_2C(A_27a,bool),V1x),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Elist_2Elist(A_27b)),ap(V0G,V1x)),c_2Elist_2ENIL(A_27b)))) ) ).

fof(ax_thm_2EdirGraph_2EParents__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0G] :
              ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
             => ap(c_2EdirGraph_2EParents(A_27a,A_27b),V0G) = ap(c_2Epred__set_2EGSPEC(A_27a,A_27a),f980(A_27b,A_27a,V0G)) ) ) ) ).

fof(lameq_f981,axiom,
    ! [A_27a,V0G] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1x] :
          ( mem(V1x,A_27a)
         => ! [V2y] : ap(f981(A_27a,V0G,V1x),V2y) = ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(V0G,V1x))) ) ) ).

fof(lameq_f982,axiom,
    ! [A_27a,V0G] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1x] : ap(f982(A_27a,V0G),V1x) = f981(A_27a,V0G,V1x) ) ).

fof(ax_thm_2EdirGraph_2EREACH__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0G] :
          ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
         => ap(c_2EdirGraph_2EREACH(A_27a),V0G) = ap(c_2Erelation_2ERTC(A_27a),f982(A_27a,V0G)) ) ) ).

fof(ax_thm_2EdirGraph_2EREACH__LIST__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0G] :
          ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
         => ! [V1nodes] :
              ( mem(V1nodes,ty_2Elist_2Elist(A_27a))
             => ! [V2y] :
                  ( mem(V2y,A_27a)
                 => ( p(ap(ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),V0G),V1nodes),V2y))
                  <=> ? [V3x] :
                        ( mem(V3x,A_27a)
                        & p(ap(ap(c_2Ebool_2EIN(A_27a),V3x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1nodes)))
                        & p(ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(ap(c_2EdirGraph_2EREACH(A_27a),V0G),V3x))) ) ) ) ) ) ) ).

fof(ax_thm_2EdirGraph_2EEXCLUDE__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0G] :
              ( mem(V0G,arr(A_27b,ty_2Elist_2Elist(A_27a)))
             => ! [V1ex] :
                  ( mem(V1ex,arr(A_27b,bool))
                 => ! [V2node] :
                      ( mem(V2node,A_27b)
                     => ap(ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27b),V0G),V1ex),V2node) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Ebool_2EIN(A_27b),V2node),V1ex)),c_2Elist_2ENIL(A_27a)),ap(V0G,V2node)) ) ) ) ) ) ).

fof(conj_thm_2EdirGraph_2EEXCLUDE__LEM,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0G] :
              ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
             => ! [V1x] :
                  ( mem(V1x,A_27a)
                 => ! [V2l] :
                      ( mem(V2l,arr(A_27a,bool))
                     => ap(ap(c_2EdirGraph_2EEXCLUDE(A_27b,A_27a),V0G),ap(ap(c_2Epred__set_2EINSERT(A_27a),V1x),V2l)) = ap(ap(c_2EdirGraph_2EEXCLUDE(A_27b,A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27b,A_27a),V0G),V2l)),ap(ap(c_2Epred__set_2EINSERT(A_27a),V1x),c_2Epred__set_2EEMPTY(A_27a))) ) ) ) ) ) ).

fof(lameq_f983,axiom,
    ! [A_27a,V0G] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V2x_27] :
          ( mem(V2x_27,A_27a)
         => ! [V1x] :
              ( mem(V1x,arr(A_27a,bool))
             => ! [V3y] : ap(f983(A_27a,V0G,V2x_27,V1x),V3y) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_7E,ap(ap(c_2Ebool_2EIN(A_27a),V2x_27),V1x))),ap(ap(c_2Ebool_2EIN(A_27a),V3y),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(V0G,V2x_27)))) ) ) ) ).

fof(lameq_f984,axiom,
    ! [A_27a,V0G] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1x] :
          ( mem(V1x,arr(A_27a,bool))
         => ! [V2x_27] : ap(f984(A_27a,V0G,V1x),V2x_27) = f983(A_27a,V0G,V2x_27,V1x) ) ) ).

fof(conj_thm_2EdirGraph_2EREACH__EXCLUDE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0G] :
          ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
         => ! [V1x] :
              ( mem(V1x,arr(A_27a,bool))
             => ap(c_2EdirGraph_2EREACH(A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27a),V0G),V1x)) = ap(c_2Erelation_2ERTC(A_27a),f984(A_27a,V0G,V1x)) ) ) ) ).

fof(conj_thm_2EdirGraph_2EREACH__LEM1,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0p] :
          ( mem(V0p,A_27a)
         => ! [V1G] :
              ( mem(V1G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
             => ! [V2seen] :
                  ( mem(V2seen,arr(A_27a,bool))
                 => ( ~ p(ap(ap(c_2Ebool_2EIN(A_27a),V0p),V2seen))
                   => ap(ap(c_2EdirGraph_2EREACH(A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27a),V1G),V2seen)),V0p) = ap(ap(c_2Epred__set_2EINSERT(A_27a),V0p),ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27a),V1G),ap(ap(c_2Epred__set_2EINSERT(A_27a),V0p),V2seen))),ap(V1G,V0p))) ) ) ) ) ) ).

fof(conj_thm_2EdirGraph_2EREACH__LEM2,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0G] :
          ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
         => ! [V1x] :
              ( mem(V1x,A_27a)
             => ! [V2y] :
                  ( mem(V2y,A_27a)
                 => ( p(ap(ap(ap(c_2EdirGraph_2EREACH(A_27a),V0G),V1x),V2y))
                   => ! [V3z] :
                        ( mem(V3z,A_27a)
                       => ( ~ p(ap(ap(ap(c_2EdirGraph_2EREACH(A_27a),V0G),V3z),V2y))
                         => p(ap(ap(ap(c_2EdirGraph_2EREACH(A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27a),V0G),ap(ap(c_2Epred__set_2EINSERT(A_27a),V3z),c_2Epred__set_2EEMPTY(A_27a)))),V1x),V2y)) ) ) ) ) ) ) ) ).

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