ITP001 Axioms: ITP046_5.ax
%------------------------------------------------------------------------------
% File : ITP046_5 : TPTP v9.0.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)) ) ) ) ) ) ) ).
%------------------------------------------------------------------------------