ITP001 Axioms: ITP108_5.ax
%------------------------------------------------------------------------------
% File : ITP108_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 : fmsp_2.ax [Gau20]
% : HL4108_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 16 ( 2 unt; 4 typ; 0 def)
% Number of atoms : 324 ( 3 equ)
% Maximal formula atoms : 8 ( 20 avg)
% Number of connectives : 31 ( 0 ~; 0 |; 4 &)
% ( 1 <=>; 26 =>; 0 <=; 0 <~>)
% Maximal formula depth : 17 ( 8 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 281 ( 281 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 9 ( 4 >; 5 *; 0 +; 0 <<)
% Number of predicates : 34 ( 33 usr; 4 prp; 0-4 aty)
% Number of functors : 4 ( 4 usr; 0 con; 1-3 aty)
% Number of variables : 56 ( 56 !; 0 ?; 56 :)
% SPC : TF0_SAT_NEQ_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Efmsp_2EFMSP,type,
c_2Efmsp_2EFMSP: ( del * del * del ) > $i ).
tff(mem_c_2Efmsp_2EFMSP,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),arr(arr(A_27a,arr(ty_2Enum_2Enum,bool)),arr(arr(A_27b,arr(A_27c,bool)),arr(ty_2Efinite__map_2Efmap(A_27a,A_27b),arr(ty_2Esptree_2Espt(A_27c),bool))))) ).
tff(ax_thm_2Efmsp_2EFMSP__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> ! [V2fm: $i] :
( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,A_27b))
=> ! [V3sp: $i] :
( mem(V3sp,ty_2Esptree_2Espt(A_27c))
=> ( p(ap(ap(ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC),V2fm),V3sp))
<=> ! [V4a: $i] :
( mem(V4a,A_27a)
=> ! [V5n: tp__ty_2Enum_2Enum] :
( p(ap(ap(V0AN,V4a),inj__ty_2Enum_2Enum(V5n)))
=> p(ap(ap(ap(c_2Eoption_2EOPTREL(A_27b,A_27c),V1BC),ap(ap(c_2Efinite__map_2EFLOOKUP(A_27a,A_27b),V2fm),V4a)),ap(ap(c_2Esptree_2Elookup(A_27c),inj__ty_2Enum_2Enum(V5n)),V3sp))) ) ) ) ) ) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FDOM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),arr(A_27a,bool),arr(ty_2Enum_2Enum,bool)),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Etransfer_2EFUN__REL(A_27a,ty_2Enum_2Enum,bool,bool),V0AN),c_2Emin_2E_3D(bool))),c_2Efinite__map_2EFDOM(A_27a,A_27b)),c_2Esptree_2Edomain(A_27c))) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FEMPTY,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> p(ap(ap(ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC),c_2Efinite__map_2EFEMPTY(A_27a,A_27b)),c_2Esptree_2ELN(A_27c))) ) ) ).
tff(lamtp_f2589,type,
f2589: ( del * tp__ty_2Enum_2Enum * $i ) > $i ).
tff(lameq_f2589,axiom,
! [A_27c: del,V3n: tp__ty_2Enum_2Enum,V2sp: $i] :
( mem(V2sp,ty_2Esptree_2Espt(A_27c))
=> ! [V4v: $i] : ( ap(f2589(A_27c,V3n,V2sp),V4v) = ap(ap(ap(c_2Esptree_2Einsert(A_27c),inj__ty_2Enum_2Enum(V3n)),V4v),V2sp) ) ) ).
tff(lamtp_f2590,type,
f2590: ( del * $i ) > $i ).
tff(lameq_f2590,axiom,
! [A_27c: del,V2sp: $i] :
( mem(V2sp,ty_2Esptree_2Espt(A_27c))
=> ! [V3n: tp__ty_2Enum_2Enum] : ( ap(f2590(A_27c,V2sp),inj__ty_2Enum_2Enum(V3n)) = f2589(A_27c,V3n,V2sp) ) ) ).
tff(lamtp_f2591,type,
f2591: del > $i ).
tff(lameq_f2591,axiom,
! [A_27c: del,V2sp: $i] : ( ap(f2591(A_27c),V2sp) = ap(c_2Epair_2EUNCURRY(ty_2Enum_2Enum,A_27c,ty_2Esptree_2Espt(A_27c)),f2590(A_27c,V2sp)) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FUPDATE,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> ( p(ap(c_2Etransfer_2Ebi__unique(A_27a,ty_2Enum_2Enum),V0AN))
=> p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),arr(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Efinite__map_2Efmap(A_27a,A_27b)),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,A_27c),ty_2Esptree_2Espt(A_27c))),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Etransfer_2EFUN__REL(ty_2Epair_2Eprod(A_27a,A_27b),ty_2Epair_2Eprod(ty_2Enum_2Enum,A_27c),ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c)),ap(ap(c_2Etransfer_2EPAIR__REL(A_27a,ty_2Enum_2Enum,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC))),c_2Efinite__map_2EFUPDATE(A_27a,A_27b)),f2591(A_27c))) ) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__bitotal,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> ( ( p(ap(c_2Etransfer_2Ebitotal(A_27a,ty_2Enum_2Enum),V0AN))
& p(ap(c_2Etransfer_2Ebitotal(A_27b,A_27c),V1BC))
& p(ap(c_2Etransfer_2Ebi__unique(A_27a,ty_2Enum_2Enum),V0AN)) )
=> p(ap(c_2Etransfer_2Ebitotal(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c)),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC))) ) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FORALL,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> ( ( p(ap(c_2Etransfer_2Ebitotal(A_27a,ty_2Enum_2Enum),V0AN))
& p(ap(c_2Etransfer_2Ebitotal(A_27b,A_27c),V1BC))
& p(ap(c_2Etransfer_2Ebi__unique(A_27a,ty_2Enum_2Enum),V0AN)) )
=> p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(arr(ty_2Efinite__map_2Efmap(A_27a,A_27b),bool),arr(ty_2Esptree_2Espt(A_27c),bool),bool,bool),ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),bool,bool),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),c_2Emin_2E_3D(bool))),c_2Emin_2E_3D(bool)),c_2Ebool_2E_21(ty_2Efinite__map_2Efmap(A_27a,A_27b))),c_2Ebool_2E_21(ty_2Esptree_2Espt(A_27c)))) ) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FUNION,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),arr(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Efinite__map_2Efmap(A_27a,A_27b)),arr(ty_2Esptree_2Espt(A_27c),ty_2Esptree_2Espt(A_27c))),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c)),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC))),c_2Efinite__map_2EFUNION(A_27a,A_27b)),c_2Esptree_2Eunion(A_27c))) ) ) ).
tff(conj_thm_2Efmsp_2EFMSP__FDOMSUB,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0AN: $i] :
( mem(V0AN,arr(A_27a,arr(ty_2Enum_2Enum,bool)))
=> ! [V1BC: $i] :
( mem(V1BC,arr(A_27b,arr(A_27c,bool)))
=> ( p(ap(c_2Etransfer_2Ebi__unique(A_27a,ty_2Enum_2Enum),V0AN))
=> p(ap(ap(ap(ap(c_2Etransfer_2EFUN__REL(ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c),arr(A_27a,ty_2Efinite__map_2Efmap(A_27a,A_27b)),arr(ty_2Enum_2Enum,ty_2Esptree_2Espt(A_27c))),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC)),ap(ap(c_2Etransfer_2EFUN__REL(A_27a,ty_2Enum_2Enum,ty_2Efinite__map_2Efmap(A_27a,A_27b),ty_2Esptree_2Espt(A_27c)),V0AN),ap(ap(c_2Efmsp_2EFMSP(A_27a,A_27b,A_27c),V0AN),V1BC))),c_2Efinite__map_2Efdomsub(A_27a,A_27b)),ap(c_2Ecombin_2EC(ty_2Enum_2Enum,ty_2Esptree_2Espt(A_27c),ty_2Esptree_2Espt(A_27c)),c_2Esptree_2Edelete(A_27c)))) ) ) ) ).
%------------------------------------------------------------------------------