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    :   26 (   4 unt;   9 typ;   0 def)
%            Number of atoms       :  237 (  11 equ)
%            Maximal formula atoms :    7 (   9 avg)
%            Number of connectives :   37 (   2   ~;   0   |;   2   &)
%                                         (   1 <=>;  32  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   7 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :  185 ( 185 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   21 (   9   >;  12   *;   0   +;   0  <<)
%            Number of predicates  :   20 (  19 usr;   4 prp; 0-2 aty)
%            Number of functors    :    9 (   9 usr;   0 con; 1-4 aty)
%            Number of variables   :   58 (  57   !;   1   ?;  58   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2EdirGraph_2EEXCLUDE,type,
    c_2EdirGraph_2EEXCLUDE: ( del * del ) > $i ).

tff(mem_c_2EdirGraph_2EEXCLUDE,axiom,
    ! [A_27a: del,A_27b: del] : 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))))) ).

tff(tp_c_2EdirGraph_2EParents,type,
    c_2EdirGraph_2EParents: ( del * del ) > $i ).

tff(mem_c_2EdirGraph_2EParents,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EdirGraph_2EParents(A_27a,A_27b),arr(arr(A_27a,ty_2Elist_2Elist(A_27b)),arr(A_27a,bool))) ).

tff(tp_c_2EdirGraph_2EREACH,type,
    c_2EdirGraph_2EREACH: del > $i ).

tff(mem_c_2EdirGraph_2EREACH,axiom,
    ! [A_27a: del] : mem(c_2EdirGraph_2EREACH(A_27a),arr(arr(A_27a,ty_2Elist_2Elist(A_27a)),arr(A_27a,arr(A_27a,bool)))) ).

tff(tp_c_2EdirGraph_2EREACH__LIST,type,
    c_2EdirGraph_2EREACH__LIST: del > $i ).

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

tff(lamtp_f980,type,
    f980: ( del * del * $i ) > $i ).

tff(lameq_f980,axiom,
    ! [A_27b: del,A_27a: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
     => ! [V1x: $i] : ( 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)))) ) ) ).

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

tff(lamtp_f981,type,
    f981: ( del * $i * $i ) > $i ).

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

tff(lamtp_f982,type,
    f982: ( del * $i ) > $i ).

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

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

tff(ax_thm_2EdirGraph_2EREACH__LIST__def,axiom,
    ! [A_27a: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1nodes: $i] :
          ( mem(V1nodes,ty_2Elist_2Elist(A_27a))
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ( p(ap(ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),V0G),V1nodes),V2y))
              <=> ? [V3x: $i] :
                    ( 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))) ) ) ) ) ) ).

tff(ax_thm_2EdirGraph_2EEXCLUDE__def,axiom,
    ! [A_27a: del,A_27b: del,V0G: $i] :
      ( mem(V0G,arr(A_27b,ty_2Elist_2Elist(A_27a)))
     => ! [V1ex: $i] :
          ( mem(V1ex,arr(A_27b,bool))
         => ! [V2node: $i] :
              ( 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)) ) ) ) ) ).

tff(conj_thm_2EdirGraph_2EEXCLUDE__LEM,axiom,
    ! [A_27a: del,A_27b: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2l: $i] :
              ( 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))) ) ) ) ) ).

tff(lamtp_f983,type,
    f983: ( del * $i * $i * $i ) > $i ).

tff(lameq_f983,axiom,
    ! [A_27a: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V2x_27: $i] :
          ( mem(V2x_27,A_27a)
         => ! [V1x: $i] :
              ( mem(V1x,arr(A_27a,bool))
             => ! [V3y: $i] : ( 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)))) ) ) ) ) ).

tff(lamtp_f984,type,
    f984: ( del * $i * $i ) > $i ).

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

tff(conj_thm_2EdirGraph_2EREACH__EXCLUDE,axiom,
    ! [A_27a: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1x: $i] :
          ( 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)) ) ) ) ).

tff(conj_thm_2EdirGraph_2EREACH__LEM1,axiom,
    ! [A_27a: del,V0p: $i] :
      ( mem(V0p,A_27a)
     => ! [V1G: $i] :
          ( mem(V1G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
         => ! [V2seen: $i] :
              ( 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))) ) ) ) ) ) ).

tff(conj_thm_2EdirGraph_2EREACH__LEM2,axiom,
    ! [A_27a: del,V0G: $i] :
      ( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ( p(ap(ap(ap(c_2EdirGraph_2EREACH(A_27a),V0G),V1x),V2y))
               => ! [V3z: $i] :
                    ( 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)) ) ) ) ) ) ) ).

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