ITP001 Axioms: ITP028_5.ax
%------------------------------------------------------------------------------
% File : ITP028_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 : fixedPoint_2.ax [Gau20]
% : HL4028_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 42 ( 9 unt; 9 typ; 0 def)
% Number of atoms : 571 ( 14 equ)
% Maximal formula atoms : 7 ( 13 avg)
% Number of connectives : 84 ( 0 ~; 0 |; 12 &)
% ( 3 <=>; 69 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 6 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 454 ( 454 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 14 ( 9 >; 5 *; 0 +; 0 <<)
% Number of predicates : 17 ( 16 usr; 2 prp; 0-2 aty)
% Number of functors : 9 ( 9 usr; 0 con; 1-2 aty)
% Number of variables : 95 ( 95 !; 0 ?; 95 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2EfixedPoint_2Eclosed,type,
c_2EfixedPoint_2Eclosed: del > $i ).
tff(mem_c_2EfixedPoint_2Eclosed,axiom,
! [A_27a: del] : mem(c_2EfixedPoint_2Eclosed(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(arr(A_27a,bool),bool))) ).
tff(tp_c_2EfixedPoint_2Edense,type,
c_2EfixedPoint_2Edense: del > $i ).
tff(mem_c_2EfixedPoint_2Edense,axiom,
! [A_27a: del] : mem(c_2EfixedPoint_2Edense(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(arr(A_27a,bool),bool))) ).
tff(tp_c_2EfixedPoint_2Eempty,type,
c_2EfixedPoint_2Eempty: ( del * del ) > $i ).
tff(mem_c_2EfixedPoint_2Eempty,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EfixedPoint_2Eempty(A_27a,A_27b),arr(A_27a,arr(A_27b,bool))) ).
tff(tp_c_2EfixedPoint_2Efnsum,type,
c_2EfixedPoint_2Efnsum: ( del * del ) > $i ).
tff(mem_c_2EfixedPoint_2Efnsum,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EfixedPoint_2Efnsum(A_27a,A_27b),arr(arr(A_27b,arr(A_27a,bool)),arr(arr(A_27b,arr(A_27a,bool)),arr(A_27b,arr(A_27a,bool))))) ).
tff(tp_c_2EfixedPoint_2Egfp,type,
c_2EfixedPoint_2Egfp: del > $i ).
tff(mem_c_2EfixedPoint_2Egfp,axiom,
! [A_27a: del] : mem(c_2EfixedPoint_2Egfp(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(A_27a,bool))) ).
tff(tp_c_2EfixedPoint_2Elfp,type,
c_2EfixedPoint_2Elfp: del > $i ).
tff(mem_c_2EfixedPoint_2Elfp,axiom,
! [A_27a: del] : mem(c_2EfixedPoint_2Elfp(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(A_27a,bool))) ).
tff(tp_c_2EfixedPoint_2Emonotone,type,
c_2EfixedPoint_2Emonotone: ( del * del ) > $i ).
tff(mem_c_2EfixedPoint_2Emonotone,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EfixedPoint_2Emonotone(A_27a,A_27b),arr(arr(arr(A_27a,bool),arr(A_27b,bool)),bool)) ).
tff(ax_thm_2EfixedPoint_2Emonotone__def,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27b,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V0f))
<=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ! [V2Y: $i] :
( mem(V2Y,arr(A_27a,bool))
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),V2Y))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V0f,V1X)),ap(V0f,V2Y))) ) ) ) ) ) ).
tff(lamtp_f310,type,
f310: ( del * $i ) > $i ).
tff(lameq_f310,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1X: $i] : ( ap(f310(A_27a,V0f),V1X) = ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),bool),V1X),ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X)) ) ) ).
tff(ax_thm_2EfixedPoint_2Elfp__def,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( ap(c_2EfixedPoint_2Elfp(A_27a),V0f) = ap(c_2Epred__set_2EBIGINTER(A_27a),ap(c_2Epred__set_2EGSPEC(arr(A_27a,bool),arr(A_27a,bool)),f310(A_27a,V0f))) ) ) ).
tff(lamtp_f311,type,
f311: ( del * $i ) > $i ).
tff(lameq_f311,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1X: $i] : ( ap(f311(A_27a,V0f),V1X) = ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),bool),V1X),ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X))) ) ) ).
tff(ax_thm_2EfixedPoint_2Egfp__def,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( ap(c_2EfixedPoint_2Egfp(A_27a),V0f) = ap(c_2Epred__set_2EBIGUNION(A_27a),ap(c_2Epred__set_2EGSPEC(arr(A_27a,bool),arr(A_27a,bool)),f311(A_27a,V0f))) ) ) ).
tff(ax_thm_2EfixedPoint_2Eclosed__def,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),V1X))
<=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X)) ) ) ) ).
tff(ax_thm_2EfixedPoint_2Edense__def,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),V1X))
<=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X))) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__least__closed,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))
& ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),V1X))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Egfp__greatest__dense,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),ap(c_2EfixedPoint_2Egfp(A_27a),V0f)))
& ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),V1X))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__fixedpoint,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ( ( ap(c_2EfixedPoint_2Elfp(A_27a),V0f) = ap(V0f,ap(c_2EfixedPoint_2Elfp(A_27a),V0f)) )
& ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( ( V1X = ap(V0f,V1X) )
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Egfp__greatest__fixedpoint,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ( ( ap(c_2EfixedPoint_2Egfp(A_27a),V0f) = ap(V0f,ap(c_2EfixedPoint_2Egfp(A_27a),V0f)) )
& ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( ( V1X = ap(V0f,V1X) )
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__induction,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Egfp__coinduction,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X)))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__strong__induction,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,ap(ap(c_2Epred__set_2EINTER(A_27a),V1X),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))),V1X))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Egfp__strong__coinduction,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,ap(ap(c_2Epred__set_2EUNION(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f)))))
=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ).
tff(ax_thm_2EfixedPoint_2Efnsum__def,axiom,
! [A_27a: del,A_27b: del,V0f1: $i] :
( mem(V0f1,arr(A_27b,arr(A_27a,bool)))
=> ! [V1f2: $i] :
( mem(V1f2,arr(A_27b,arr(A_27a,bool)))
=> ! [V2X: $i] :
( mem(V2X,A_27b)
=> ( ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27a,A_27b),V0f1),V1f2),V2X) = ap(ap(c_2Epred__set_2EUNION(A_27a),ap(V0f1,V2X)),ap(V1f2,V2X)) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Efnsum__monotone,axiom,
! [A_27a: del,A_27b: del,V0f1: $i] :
( mem(V0f1,arr(arr(A_27a,bool),arr(A_27b,bool)))
=> ! [V1f2: $i] :
( mem(V1f2,arr(arr(A_27a,bool),arr(A_27b,bool)))
=> ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V0f1))
& p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V1f2)) )
=> p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,arr(A_27a,bool)),V0f1),V1f2))) ) ) ) ).
tff(ax_thm_2EfixedPoint_2Eempty__def,axiom,
! [A_27a: del,A_27b: del] : ( c_2EfixedPoint_2Eempty(A_27a,A_27b) = k(A_27a,c_2Epred__set_2EEMPTY(A_27b)) ) ).
tff(conj_thm_2EfixedPoint_2Eempty__monotone,axiom,
! [A_27a: del,A_27b: del] : p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),c_2EfixedPoint_2Eempty(arr(A_27a,bool),A_27b))) ).
tff(conj_thm_2EfixedPoint_2Efnsum__empty,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,bool)))
=> ( ( ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),c_2EfixedPoint_2Eempty(A_27a,A_27b)) = V0f )
& ( ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),c_2EfixedPoint_2Eempty(A_27a,A_27b)),V0f) = V0f ) ) ) ).
tff(conj_thm_2EfixedPoint_2Efnsum__ASSOC,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,bool)))
=> ! [V1g: $i] :
( mem(V1g,arr(A_27a,arr(A_27b,bool)))
=> ! [V2h: $i] :
( mem(V2h,arr(A_27a,arr(A_27b,bool)))
=> ( ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V1g),V2h)) = ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g)),V2h) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Efnsum__COMM,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,bool)))
=> ! [V1g: $i] :
( mem(V1g,arr(A_27a,arr(A_27b,bool)))
=> ( ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g) = ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V1g),V0f) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Efnsum__SUBSET,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,bool)))
=> ! [V1g: $i] :
( mem(V1g,arr(A_27a,arr(A_27b,bool)))
=> ! [V2X: $i] :
( mem(V2X,A_27a)
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V0f,V2X)),ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g),V2X)))
& p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V1g,V2X)),ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g),V2X))) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__fnsum,axiom,
! [A_27a: del,V0f1: $i] :
( mem(V0f1,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1f2: $i] :
( mem(V1f2,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f1))
& p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V1f2)) )
=> ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f1)),ap(c_2EfixedPoint_2Elfp(A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27a,arr(A_27a,bool)),V0f1),V1f2))))
& p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V1f2)),ap(c_2EfixedPoint_2Elfp(A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27a,arr(A_27a,bool)),V0f1),V1f2)))) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__rule__applied,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1X: $i] :
( mem(V1X,arr(A_27a,bool))
=> ! [V2y: $i] :
( mem(V2y,A_27a)
=> ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
& p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))
& p(ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(V0f,V1X))) )
=> p(ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(c_2EfixedPoint_2Elfp(A_27a),V0f))) ) ) ) ) ).
tff(conj_thm_2EfixedPoint_2Elfp__empty,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
=> ! [V1x: $i] :
( mem(V1x,A_27a)
=> ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
& p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(V0f,c_2Epred__set_2EEMPTY(A_27a)))) )
=> p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2EfixedPoint_2Elfp(A_27a),V0f))) ) ) ) ).
%------------------------------------------------------------------------------