ITP001 Axioms: ITP051_5.ax
%------------------------------------------------------------------------------
% File : ITP051_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 : readerMonad_2.ax [Gau20]
% : HL4051_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 25 ( 5 unt; 5 typ; 0 def)
% Number of atoms : 187 ( 16 equ)
% Maximal formula atoms : 4 ( 7 avg)
% Number of connectives : 29 ( 0 ~; 0 |; 1 &)
% ( 0 <=>; 28 =>; 0 <=; 0 <~>)
% Maximal formula depth : 12 ( 7 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 138 ( 138 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 14 ( 5 >; 9 *; 0 +; 0 <<)
% Number of predicates : 8 ( 7 usr; 1 prp; 0-3 aty)
% Number of functors : 5 ( 5 usr; 0 con; 2-4 aty)
% Number of variables : 86 ( 86 !; 0 ?; 86 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2EreaderMonad_2EBIND,type,
c_2EreaderMonad_2EBIND: ( del * del * del ) > $i ).
tff(mem_c_2EreaderMonad_2EBIND,axiom,
! [A_27a: del,A_27b: del,A_27s: del] : mem(c_2EreaderMonad_2EBIND(A_27a,A_27b,A_27s),arr(arr(A_27s,A_27a),arr(arr(A_27a,arr(A_27s,A_27b)),arr(A_27s,A_27b)))) ).
tff(tp_c_2EreaderMonad_2EFMAP,type,
c_2EreaderMonad_2EFMAP: ( del * del * del ) > $i ).
tff(mem_c_2EreaderMonad_2EFMAP,axiom,
! [A_27a: del,A_27b: del,A_27s: del] : mem(c_2EreaderMonad_2EFMAP(A_27a,A_27b,A_27s),arr(arr(A_27a,A_27b),arr(arr(A_27s,A_27a),arr(A_27s,A_27b)))) ).
tff(tp_c_2EreaderMonad_2EJOIN,type,
c_2EreaderMonad_2EJOIN: ( del * del ) > $i ).
tff(mem_c_2EreaderMonad_2EJOIN,axiom,
! [A_27a: del,A_27s: del] : mem(c_2EreaderMonad_2EJOIN(A_27a,A_27s),arr(arr(A_27s,arr(A_27s,A_27a)),arr(A_27s,A_27a))) ).
tff(tp_c_2EreaderMonad_2EMCOMPOSE,type,
c_2EreaderMonad_2EMCOMPOSE: ( del * del * del * del ) > $i ).
tff(mem_c_2EreaderMonad_2EMCOMPOSE,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27s: del] : mem(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27b,A_27c,A_27s),arr(arr(A_27a,arr(A_27s,A_27b)),arr(arr(A_27b,arr(A_27s,A_27c)),arr(A_27a,arr(A_27s,A_27c))))) ).
tff(tp_c_2EreaderMonad_2EUNIT,type,
c_2EreaderMonad_2EUNIT: ( del * del ) > $i ).
tff(mem_c_2EreaderMonad_2EUNIT,axiom,
! [A_27a: del,A_27b: del] : mem(c_2EreaderMonad_2EUNIT(A_27a,A_27b),arr(A_27a,arr(A_27b,A_27a))) ).
tff(ax_thm_2EreaderMonad_2EBIND__def,axiom,
! [A_27a: del,A_27b: del,A_27s: del,V0M: $i] :
( mem(V0M,arr(A_27s,A_27a))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27a,arr(A_27s,A_27b)))
=> ! [V2s: $i] :
( mem(V2s,A_27s)
=> ( ap(ap(ap(c_2EreaderMonad_2EBIND(A_27a,A_27b,A_27s),V0M),V1f),V2s) = ap(ap(V1f,ap(V0M,V2s)),V2s) ) ) ) ) ).
tff(ax_thm_2EreaderMonad_2EUNIT__def,axiom,
! [A_27a: del,A_27b: del,V0x: $i] :
( mem(V0x,A_27a)
=> ! [V1s: $i] :
( mem(V1s,A_27b)
=> ( ap(ap(c_2EreaderMonad_2EUNIT(A_27a,A_27b),V0x),V1s) = V0x ) ) ) ).
tff(ax_thm_2EreaderMonad_2EMCOMPOSE__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27s: del,V0f1: $i] :
( mem(V0f1,arr(A_27a,arr(A_27s,A_27b)))
=> ! [V1f2: $i] :
( mem(V1f2,arr(A_27b,arr(A_27s,A_27c)))
=> ! [V2a: $i] :
( mem(V2a,A_27a)
=> ( ap(ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27b,A_27c,A_27s),V0f1),V1f2),V2a) = ap(ap(c_2EreaderMonad_2EBIND(A_27b,A_27c,A_27s),ap(V0f1,V2a)),V1f2) ) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EBIND__UNITR,axiom,
! [A_27a: del,A_27b: del,V0m: $i] :
( mem(V0m,arr(A_27a,A_27b))
=> ( ap(ap(c_2EreaderMonad_2EBIND(A_27b,A_27b,A_27a),V0m),c_2EreaderMonad_2EUNIT(A_27b,A_27a)) = V0m ) ) ).
tff(conj_thm_2EreaderMonad_2EBIND__UNITL,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0x: $i] :
( mem(V0x,A_27c)
=> ! [V1f: $i] :
( mem(V1f,arr(A_27c,arr(A_27a,A_27b)))
=> ( ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),ap(c_2EreaderMonad_2EUNIT(A_27c,A_27a),V0x)),V1f) = ap(V1f,V0x) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EMCOMPOSE__LEFT__ID,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0g: $i] :
( mem(V0g,arr(A_27a,arr(A_27b,A_27c)))
=> ( ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27a,A_27c,A_27b),c_2EreaderMonad_2EUNIT(A_27a,A_27b)),V0g) = V0g ) ) ).
tff(conj_thm_2EreaderMonad_2EMCOMPOSE__RIGHT__ID,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,A_27c)))
=> ( ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27c,A_27c,A_27b),V0f),c_2EreaderMonad_2EUNIT(A_27c,A_27b)) = V0f ) ) ).
tff(conj_thm_2EreaderMonad_2EMCOMPOSE__ASSOC,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,V0f: $i] :
( mem(V0f,arr(A_27a,arr(A_27b,A_27d)))
=> ! [V1g: $i] :
( mem(V1g,arr(A_27d,arr(A_27b,A_27e)))
=> ! [V2h: $i] :
( mem(V2h,arr(A_27e,arr(A_27b,A_27c)))
=> ( ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27d,A_27c,A_27b),V0f),ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27d,A_27e,A_27c,A_27b),V1g),V2h)) = ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27e,A_27c,A_27b),ap(ap(c_2EreaderMonad_2EMCOMPOSE(A_27a,A_27d,A_27e,A_27b),V0f),V1g)),V2h) ) ) ) ) ).
tff(ax_thm_2EreaderMonad_2EFMAP__def,axiom,
! [A_27a: del,A_27b: del,A_27s: del,V0f: $i] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V1M1: $i] :
( mem(V1M1,arr(A_27s,A_27a))
=> ( ap(ap(c_2EreaderMonad_2EFMAP(A_27a,A_27b,A_27s),V0f),V1M1) = ap(ap(c_2Ecombin_2Eo(A_27s,A_27b,A_27a),V0f),V1M1) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EFMAP__ID,axiom,
! [A_27a: del,A_27b: del,V0M: $i] :
( mem(V0M,arr(A_27a,A_27b))
=> ( ( ap(ap(c_2EreaderMonad_2EFMAP(A_27b,A_27b,A_27a),i(A_27b)),V0M) = V0M )
& ( ap(ap(c_2EreaderMonad_2EFMAP(A_27b,A_27b,A_27a),c_2Ecombin_2EI(A_27b)),V0M) = V0M ) ) ) ).
tff(conj_thm_2EreaderMonad_2EFMAP__o,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
( mem(V0f,arr(A_27d,A_27c))
=> ! [V1g: $i] :
( mem(V1g,arr(A_27b,A_27d))
=> ( ap(c_2EreaderMonad_2EFMAP(A_27b,A_27c,A_27a),ap(ap(c_2Ecombin_2Eo(A_27b,A_27c,A_27d),V0f),V1g)) = ap(ap(c_2Ecombin_2Eo(arr(A_27a,A_27b),arr(A_27a,A_27c),arr(A_27a,A_27d)),ap(c_2EreaderMonad_2EFMAP(A_27d,A_27c,A_27a),V0f)),ap(c_2EreaderMonad_2EFMAP(A_27b,A_27d,A_27a),V1g)) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EFMAP__BIND,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( mem(V0f,arr(A_27c,A_27b))
=> ! [V1M: $i] :
( mem(V1M,arr(A_27a,A_27c))
=> ( ap(ap(c_2EreaderMonad_2EFMAP(A_27c,A_27b,A_27a),V0f),V1M) = ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),V1M),ap(ap(c_2Ecombin_2Eo(A_27c,arr(A_27a,A_27b),A_27b),c_2EreaderMonad_2EUNIT(A_27b,A_27a)),V0f)) ) ) ) ).
tff(ax_thm_2EreaderMonad_2EJOIN__def,axiom,
! [A_27a: del,A_27s: del,V0MM: $i] :
( mem(V0MM,arr(A_27s,arr(A_27s,A_27a)))
=> ! [V1s: $i] :
( mem(V1s,A_27s)
=> ( ap(ap(c_2EreaderMonad_2EJOIN(A_27a,A_27s),V0MM),V1s) = ap(ap(V0MM,V1s),V1s) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EBIND__JOIN,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0M: $i] :
( mem(V0M,arr(A_27a,A_27c))
=> ! [V1f: $i] :
( mem(V1f,arr(A_27c,arr(A_27a,A_27b)))
=> ( ap(ap(c_2EreaderMonad_2EBIND(A_27c,A_27b,A_27a),V0M),V1f) = ap(c_2EreaderMonad_2EJOIN(A_27b,A_27a),ap(ap(c_2EreaderMonad_2EFMAP(A_27c,arr(A_27a,A_27b),A_27a),V1f),V0M)) ) ) ) ).
tff(conj_thm_2EreaderMonad_2EJOIN__BIND,axiom,
! [A_27a: del,A_27b: del,V0M: $i] :
( mem(V0M,arr(A_27a,arr(A_27a,A_27b)))
=> ( ap(c_2EreaderMonad_2EJOIN(A_27b,A_27a),V0M) = ap(ap(c_2EreaderMonad_2EBIND(arr(A_27a,A_27b),A_27b,A_27a),V0M),c_2Ecombin_2EI(arr(A_27a,A_27b))) ) ) ).
%------------------------------------------------------------------------------