ITP001 Axioms: ITP062_5.ax
%------------------------------------------------------------------------------
% File : ITP062_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 : bft_2.ax [Gau20]
% : HL4062_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 13 ( 2 unt; 2 typ; 0 def)
% Number of atoms : 477 ( 9 equ)
% Maximal formula atoms : 21 ( 36 avg)
% Number of connectives : 80 ( 2 ~; 1 |; 11 &)
% ( 1 <=>; 65 =>; 0 <=; 0 <~>)
% Maximal formula depth : 24 ( 14 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 388 ( 388 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 7 ( 2 >; 5 *; 0 +; 0 <<)
% Number of predicates : 27 ( 26 usr; 3 prp; 0-2 aty)
% Number of functors : 2 ( 2 usr; 0 con; 2-5 aty)
% Number of variables : 76 ( 76 !; 0 ?; 76 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Ebft_2EBFT,type,
c_2Ebft_2EBFT: ( del * del ) > $i ).
tff(mem_c_2Ebft_2EBFT,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Ebft_2EBFT(A_27a,A_27b),arr(arr(A_27b,ty_2Elist_2Elist(A_27b)),arr(arr(A_27b,arr(A_27a,A_27a)),arr(ty_2Elist_2Elist(A_27b),arr(ty_2Elist_2Elist(A_27b),arr(A_27a,A_27a)))))) ).
tff(tp_c_2Ebft_2ERel,type,
c_2Ebft_2ERel: ( del * del * del * del * del ) > $i ).
tff(mem_c_2Ebft_2ERel,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del] : mem(c_2Ebft_2ERel(A_27a,A_27b,A_27c,A_27d,A_27e),arr(ty_2Epair_2Eprod(arr(A_27a,ty_2Elist_2Elist(A_27b)),ty_2Epair_2Eprod(A_27c,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27d),A_27e)))),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(ax_thm_2Ebft_2ERel__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27b)))
=> ! [V1f: $i] :
( mem(V1f,A_27c)
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3fringe: $i] :
( mem(V3fringe,ty_2Elist_2Elist(A_27d))
=> ! [V4acc: $i] :
( mem(V4acc,A_27e)
=> ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(c_2Ebft_2ERel(A_27a,A_27b,A_27c,A_27d,A_27e),ap(ap(c_2Epair_2E_2C(arr(A_27a,ty_2Elist_2Elist(A_27b)),ty_2Epair_2Eprod(A_27c,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27d),A_27e)))),V0G),ap(ap(c_2Epair_2E_2C(A_27c,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27d),A_27e))),V1f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27d),A_27e)),V2seen),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27d),A_27e),V3fringe),V4acc)))))) = surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Enum_2Enum),ap(c_2Epred__set_2ECARD(A_27a),ap(ap(c_2Epred__set_2EDIFF(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27b),V0G)),ap(c_2Elist_2ELIST__TO__SET(A_27a),V2seen)))),ap(c_2Elist_2ELENGTH(A_27d),V3fringe))) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__def,axiom,
! [A_27a: del,A_27b: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(A_27b,A_27b)))
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3acc: $i] :
( mem(V3acc,A_27b)
=> ! [V4h: $i] :
( mem(V4h,A_27a)
=> ! [V5t: $i] :
( mem(V5t,ty_2Elist_2Elist(A_27a))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
=> ( ( ap(ap(ap(ap(ap(c_2Ebft_2EBFT(A_27b,A_27a),V0G),V1f),V2seen),c_2Elist_2ENIL(A_27a)),V3acc) = V3acc )
& ( ap(ap(ap(ap(ap(c_2Ebft_2EBFT(A_27b,A_27a),V0G),V1f),V2seen),ap(ap(c_2Elist_2ECONS(A_27a),V4h),V5t)),V3acc) = ap(ap(ap(c_2Ebool_2ECOND(A_27b),ap(ap(c_2Ebool_2EIN(A_27a),V4h),ap(c_2Elist_2ELIST__TO__SET(A_27a),V2seen))),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(A_27b,A_27a),V0G),V1f),V2seen),V5t),V3acc)),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(A_27b,A_27a),V0G),V1f),ap(ap(c_2Elist_2ECONS(A_27a),V4h),V2seen)),ap(ap(c_2Elist_2EAPPEND(A_27a),V5t),ap(V0G,V4h))),ap(ap(V1f,V4h),V3acc))) ) ) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__ind,axiom,
! [A_27a: del,A_27b: del,V0P: $i] :
( mem(V0P,arr(arr(A_27a,ty_2Elist_2Elist(A_27a)),arr(arr(A_27a,arr(A_27b,A_27b)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(A_27b,bool))))))
=> ( ! [V1G: $i] :
( mem(V1G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V2f: $i] :
( mem(V2f,arr(A_27a,arr(A_27b,A_27b)))
=> ! [V3seen: $i] :
( mem(V3seen,ty_2Elist_2Elist(A_27a))
=> ! [V4h: $i] :
( mem(V4h,A_27a)
=> ! [V5t: $i] :
( mem(V5t,ty_2Elist_2Elist(A_27a))
=> ! [V6acc: $i] :
( mem(V6acc,A_27b)
=> ( p(ap(ap(ap(ap(ap(V0P,V1G),V2f),V3seen),c_2Elist_2ENIL(A_27a)),V6acc))
& ( ( ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V1G)))
& ~ p(ap(ap(c_2Ebool_2EIN(A_27a),V4h),ap(c_2Elist_2ELIST__TO__SET(A_27a),V3seen))) )
=> p(ap(ap(ap(ap(ap(V0P,V1G),V2f),ap(ap(c_2Elist_2ECONS(A_27a),V4h),V3seen)),ap(ap(c_2Elist_2EAPPEND(A_27a),V5t),ap(V1G,V4h))),ap(ap(V2f,V4h),V6acc))) )
& ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V1G)))
& p(ap(ap(c_2Ebool_2EIN(A_27a),V4h),ap(c_2Elist_2ELIST__TO__SET(A_27a),V3seen))) )
=> p(ap(ap(ap(ap(ap(V0P,V1G),V2f),V3seen),V5t),V6acc)) ) )
=> p(ap(ap(ap(ap(ap(V0P,V1G),V2f),V3seen),ap(ap(c_2Elist_2ECONS(A_27a),V4h),V5t)),V6acc)) ) ) ) ) ) ) ) )
=> ! [V7v: $i] :
( mem(V7v,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V8v1: $i] :
( mem(V8v1,arr(A_27a,arr(A_27b,A_27b)))
=> ! [V9v2: $i] :
( mem(V9v2,ty_2Elist_2Elist(A_27a))
=> ! [V10v3: $i] :
( mem(V10v3,ty_2Elist_2Elist(A_27a))
=> ! [V11v4: $i] :
( mem(V11v4,A_27b)
=> p(ap(ap(ap(ap(ap(V0P,V7v),V8v1),V9v2),V10v3),V11v4)) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__CONS,axiom,
! [A_27a: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3fringe: $i] :
( mem(V3fringe,ty_2Elist_2Elist(A_27a))
=> ! [V4acc: $i] :
( mem(V4acc,ty_2Elist_2Elist(A_27a))
=> ! [V5a: $i] :
( mem(V5a,ty_2Elist_2Elist(A_27a))
=> ! [V6b: $i] :
( mem(V6b,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
& ( V1f = c_2Elist_2ECONS(A_27a) )
& ( V4acc = ap(ap(c_2Elist_2EAPPEND(A_27a),V5a),V6b) ) )
=> ( ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),V1f),V2seen),V3fringe),V4acc) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),V1f),V2seen),V3fringe),V5a)),V6b) ) ) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__FOLD,axiom,
! [A_27a: del,A_27b: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(A_27b,A_27b)))
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3fringe: $i] :
( mem(V3fringe,ty_2Elist_2Elist(A_27a))
=> ! [V4acc: $i] :
( mem(V4acc,A_27b)
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
=> ( ap(ap(ap(ap(ap(c_2Ebft_2EBFT(A_27b,A_27a),V0G),V1f),V2seen),V3fringe),V4acc) = ap(ap(ap(c_2Elist_2EFOLDR(A_27a,A_27b),V1f),V4acc),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),c_2Elist_2ECONS(A_27a)),V2seen),V3fringe),c_2Elist_2ENIL(A_27a))) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__ALL__DISTINCT,axiom,
! [A_27a: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1seen: $i] :
( mem(V1seen,ty_2Elist_2Elist(A_27a))
=> ! [V2fringe: $i] :
( mem(V2fringe,ty_2Elist_2Elist(A_27a))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
=> p(ap(c_2Elist_2EALL__DISTINCT(A_27a),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),c_2Elist_2ECONS(A_27a)),V1seen),V2fringe),c_2Elist_2ENIL(A_27a)))) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__REACH__1,axiom,
! [A_27a: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3fringe: $i] :
( mem(V3fringe,ty_2Elist_2Elist(A_27a))
=> ! [V4acc: $i] :
( mem(V4acc,ty_2Elist_2Elist(A_27a))
=> ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
& ( V1f = c_2Elist_2ECONS(A_27a) ) )
=> ! [V5x: $i] :
( mem(V5x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),V1f),V2seen),V3fringe),V4acc))))
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),V0G),V3fringe)))
| p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V4acc))) ) ) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__REACH__2,axiom,
! [A_27a: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))
=> ! [V2seen: $i] :
( mem(V2seen,ty_2Elist_2Elist(A_27a))
=> ! [V3fringe: $i] :
( mem(V3fringe,ty_2Elist_2Elist(A_27a))
=> ! [V4acc: $i] :
( mem(V4acc,ty_2Elist_2Elist(A_27a))
=> ! [V5x: $i] :
( mem(V5x,A_27a)
=> ( ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
& ( V1f = c_2Elist_2ECONS(A_27a) )
& p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),ap(ap(c_2EdirGraph_2EEXCLUDE(A_27a,A_27a),V0G),ap(c_2Elist_2ELIST__TO__SET(A_27a),V2seen))),V3fringe)))
& ~ p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V2seen))) )
=> p(ap(ap(c_2Ebool_2EIN(A_27a),V5x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),V1f),V2seen),V3fringe),V4acc)))) ) ) ) ) ) ) ) ).
tff(conj_thm_2Ebft_2EBFT__REACH__THM,axiom,
! [A_27a: del,V0G: $i] :
( mem(V0G,arr(A_27a,ty_2Elist_2Elist(A_27a)))
=> ! [V1fringe: $i] :
( mem(V1fringe,ty_2Elist_2Elist(A_27a))
=> ( p(ap(c_2Epred__set_2EFINITE(A_27a),ap(c_2EdirGraph_2EParents(A_27a,A_27a),V0G)))
=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ( p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(ap(c_2EdirGraph_2EREACH__LIST(A_27a),V0G),V1fringe)))
<=> p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(ap(ap(ap(c_2Ebft_2EBFT(ty_2Elist_2Elist(A_27a),A_27a),V0G),c_2Elist_2ECONS(A_27a)),c_2Elist_2ENIL(A_27a)),V1fringe),c_2Elist_2ENIL(A_27a))))) ) ) ) ) ) ).
%------------------------------------------------------------------------------