ITP001 Axioms: ITP039_5.ax
%------------------------------------------------------------------------------
% File : ITP039_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 : defCNF_2.ax [Gau20]
% : HL4039_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 31 ( 8 unt; 10 typ; 0 def)
% Number of atoms : 1406 ( 4 equ)
% Maximal formula atoms : 16 ( 45 avg)
% Number of connectives : 91 ( 0 ~; 0 |; 25 &)
% ( 23 <=>; 43 =>; 0 <=; 0 <~>)
% Maximal formula depth : 15 ( 6 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of FOOLs : 1294 (1294 fml; 0 var)
% Number of types : 3 ( 2 usr)
% Number of type conns : 4 ( 4 >; 0 *; 0 +; 0 <<)
% Number of predicates : 25 ( 23 usr; 8 prp; 0-2 aty)
% Number of functors : 8 ( 8 usr; 4 con; 0-1 aty)
% Number of variables : 95 ( 92 !; 3 ?; 95 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(stp_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
tp__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: $tType ).
tff(stp_inj_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
inj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: tp__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o > $i ).
tff(stp_surj_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
surj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: $i > tp__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o ).
tff(stp_inj_surj_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: tp__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : ( surj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(inj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X)) = X ) ).
tff(stp_inj_mem_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: tp__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : mem(inj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))) ).
tff(stp_iso_mem_c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: $i] :
( mem(X,ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))
=> ( X = inj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(surj__c_ty_2Epair_2Eprod_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X)) ) ) ).
tff(stp_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: $tType ).
tff(stp_inj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o > $i ).
tff(stp_surj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,type,
surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o: $i > tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o ).
tff(stp_inj_surj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X)) = X ) ).
tff(stp_inj_mem_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : mem(inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)) ).
tff(stp_iso_mem_c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,axiom,
! [X: $i] :
( mem(X,ty_2Esum_2Esum(ty_2Enum_2Enum,bool))
=> ( X = inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(X)) ) ) ).
tff(tp_c_2EdefCNF_2EDEF,type,
c_2EdefCNF_2EDEF: $i ).
tff(mem_c_2EdefCNF_2EDEF,axiom,
mem(c_2EdefCNF_2EDEF,arr(arr(ty_2Enum_2Enum,bool),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),bool)))) ).
tff(tp_c_2EdefCNF_2EOK,type,
c_2EdefCNF_2EOK: $i ).
tff(mem_c_2EdefCNF_2EOK,axiom,
mem(c_2EdefCNF_2EOK,arr(ty_2Enum_2Enum,arr(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),bool))) ).
tff(tp_c_2EdefCNF_2EOKDEF,type,
c_2EdefCNF_2EOKDEF: $i ).
tff(mem_c_2EdefCNF_2EOKDEF,axiom,
mem(c_2EdefCNF_2EOKDEF,arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),bool))) ).
tff(tp_c_2EdefCNF_2EUNIQUE,type,
c_2EdefCNF_2EUNIQUE: $i ).
tff(mem_c_2EdefCNF_2EUNIQUE,axiom,
mem(c_2EdefCNF_2EUNIQUE,arr(arr(ty_2Enum_2Enum,bool),arr(ty_2Enum_2Enum,arr(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),bool)))) ).
tff(conj_thm_2EdefCNF_2EUNIQUE__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(arr(ty_2Enum_2Enum,bool),arr(ty_2Enum_2Enum,arr(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),bool))))
=> ( ( ! [V1v: $i] :
( mem(V1v,arr(ty_2Enum_2Enum,bool))
=> ! [V2n: tp__ty_2Enum_2Enum,V3conn: $i] :
( mem(V3conn,arr(bool,arr(bool,bool)))
=> ! [V4i: tp__ty_2Enum_2Enum,V5j: tp__ty_2Enum_2Enum] : p(ap(ap(ap(V0P,V1v),inj__ty_2Enum_2Enum(V2n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V3conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V4i))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V5j)))))) ) )
& ! [V6v: $i] :
( mem(V6v,arr(ty_2Enum_2Enum,bool))
=> ! [V7n: tp__ty_2Enum_2Enum,V8conn: $i] :
( mem(V8conn,arr(bool,arr(bool,bool)))
=> ! [V9i: tp__ty_2Enum_2Enum,V10b: tp__o] : p(ap(ap(ap(V0P,V6v),inj__ty_2Enum_2Enum(V7n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V8conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V9i))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V10b)))))) ) )
& ! [V11v: $i] :
( mem(V11v,arr(ty_2Enum_2Enum,bool))
=> ! [V12n: tp__ty_2Enum_2Enum,V13conn: $i] :
( mem(V13conn,arr(bool,arr(bool,bool)))
=> ! [V14a: tp__o,V15j: tp__ty_2Enum_2Enum] : p(ap(ap(ap(V0P,V11v),inj__ty_2Enum_2Enum(V12n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V13conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V14a))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V15j)))))) ) )
& ! [V16v: $i] :
( mem(V16v,arr(ty_2Enum_2Enum,bool))
=> ! [V17n: tp__ty_2Enum_2Enum,V18conn: $i] :
( mem(V18conn,arr(bool,arr(bool,bool)))
=> ! [V19a: tp__o,V20b: tp__o] : p(ap(ap(ap(V0P,V16v),inj__ty_2Enum_2Enum(V17n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V18conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V19a))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V20b)))))) ) ) )
=> ! [V21v: $i] :
( mem(V21v,arr(ty_2Enum_2Enum,bool))
=> ! [V22v1: tp__ty_2Enum_2Enum,V23v2: $i] :
( mem(V23v2,arr(bool,arr(bool,bool)))
=> ! [V24v3: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,V25v4: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : p(ap(ap(ap(V0P,V21v),inj__ty_2Enum_2Enum(V22v1)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V23v2),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(V24v3)),inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(V25v4))))) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2EUNIQUE__def,axiom,
! [V0v: $i] :
( mem(V0v,arr(ty_2Enum_2Enum,bool))
=> ! [V1n: tp__ty_2Enum_2Enum,V2conn: $i] :
( mem(V2conn,arr(bool,arr(bool,bool)))
=> ! [V3i: tp__ty_2Enum_2Enum,V4j: tp__ty_2Enum_2Enum,V5b: tp__o,V6a: tp__o] :
( ( p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V0v),inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V2conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V3i))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V4j))))))
<=> ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(ap(ap(V2conn,ap(V0v,inj__ty_2Enum_2Enum(V3i))),ap(V0v,inj__ty_2Enum_2Enum(V4j)))) ) )
& ( p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V0v),inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V2conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V3i))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V5b))))))
<=> ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(ap(ap(V2conn,ap(V0v,inj__ty_2Enum_2Enum(V3i))),inj__o(V5b))) ) )
& ( p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V0v),inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V2conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V6a))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V4j))))))
<=> ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(ap(ap(V2conn,inj__o(V6a)),ap(V0v,inj__ty_2Enum_2Enum(V4j)))) ) )
& ( p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V0v),inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V2conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V6a))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V5b))))))
<=> ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(ap(ap(V2conn,inj__o(V6a)),inj__o(V5b))) ) ) ) ) ) ).
tff(ax_thm_2EdefCNF_2EDEF__def,axiom,
( ! [V0v: $i] :
( mem(V0v,arr(ty_2Enum_2Enum,bool))
=> ! [V1n: tp__ty_2Enum_2Enum] :
( p(ap(ap(ap(c_2EdefCNF_2EDEF,V0v),inj__ty_2Enum_2Enum(V1n)),c_2Elist_2ENIL(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))))
<=> $true ) )
& ! [V2v: $i] :
( mem(V2v,arr(ty_2Enum_2Enum,bool))
=> ! [V3n: tp__ty_2Enum_2Enum,V4x: $i] :
( mem(V4x,ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))
=> ! [V5xs: $i] :
( mem(V5xs,ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))
=> ( p(ap(ap(ap(c_2EdefCNF_2EDEF,V2v),inj__ty_2Enum_2Enum(V3n)),ap(ap(c_2Elist_2ECONS(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V4x),V5xs)))
<=> ( p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V2v),inj__ty_2Enum_2Enum(V3n)),V4x))
& p(ap(ap(ap(c_2EdefCNF_2EDEF,V2v),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V3n))),V5xs)) ) ) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2EOK__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(ty_2Enum_2Enum,arr(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),bool)))
=> ( ( ! [V1n: tp__ty_2Enum_2Enum,V2conn: $i] :
( mem(V2conn,arr(bool,arr(bool,bool)))
=> ! [V3i: tp__ty_2Enum_2Enum,V4j: tp__ty_2Enum_2Enum] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V2conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V3i))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V4j)))))) )
& ! [V5n: tp__ty_2Enum_2Enum,V6conn: $i] :
( mem(V6conn,arr(bool,arr(bool,bool)))
=> ! [V7i: tp__ty_2Enum_2Enum,V8b: tp__o] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V5n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V6conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V7i))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V8b)))))) )
& ! [V9n: tp__ty_2Enum_2Enum,V10conn: $i] :
( mem(V10conn,arr(bool,arr(bool,bool)))
=> ! [V11a: tp__o,V12j: tp__ty_2Enum_2Enum] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V9n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V10conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V11a))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V12j)))))) )
& ! [V13n: tp__ty_2Enum_2Enum,V14conn: $i] :
( mem(V14conn,arr(bool,arr(bool,bool)))
=> ! [V15a: tp__o,V16b: tp__o] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V13n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V14conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V15a))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V16b)))))) ) )
=> ! [V17v: tp__ty_2Enum_2Enum,V18v1: $i] :
( mem(V18v1,arr(bool,arr(bool,bool)))
=> ! [V19v2: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o,V20v3: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o] : p(ap(ap(V0P,inj__ty_2Enum_2Enum(V17v)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V18v1),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(V19v2)),inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_o(V20v3))))) ) ) ) ).
tff(conj_thm_2EdefCNF_2EOK__def,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1conn: $i] :
( mem(V1conn,arr(bool,arr(bool,bool)))
=> ! [V2i: tp__ty_2Enum_2Enum,V3j: tp__ty_2Enum_2Enum,V4b: tp__o,V5a: tp__o] :
( ( p(ap(ap(c_2EdefCNF_2EOK,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V1conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V2i))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V3j))))))
<=> ( p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2i)),inj__ty_2Enum_2Enum(V0n)))
& p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V3j)),inj__ty_2Enum_2Enum(V0n))) ) )
& ( p(ap(ap(c_2EdefCNF_2EOK,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V1conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V2i))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V4b))))))
<=> p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V2i)),inj__ty_2Enum_2Enum(V0n))) )
& ( p(ap(ap(c_2EdefCNF_2EOK,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V1conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V5a))),ap(c_2Esum_2EINL(ty_2Enum_2Enum,bool),inj__ty_2Enum_2Enum(V3j))))))
<=> p(ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V3j)),inj__ty_2Enum_2Enum(V0n))) )
& ( p(ap(ap(c_2EdefCNF_2EOK,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Epair_2E_2C(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))),V1conn),ap(ap(c_2Epair_2E_2C(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V5a))),ap(c_2Esum_2EINR(ty_2Enum_2Enum,bool),inj__o(V4b))))))
<=> $true ) ) ) ).
tff(ax_thm_2EdefCNF_2EOKDEF__def,axiom,
( ! [V0n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2EdefCNF_2EOKDEF,inj__ty_2Enum_2Enum(V0n)),c_2Elist_2ENIL(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))))
<=> $true )
& ! [V1n: tp__ty_2Enum_2Enum,V2x: $i] :
( mem(V2x,ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))
=> ! [V3xs: $i] :
( mem(V3xs,ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))
=> ( p(ap(ap(c_2EdefCNF_2EOKDEF,inj__ty_2Enum_2Enum(V1n)),ap(ap(c_2Elist_2ECONS(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V2x),V3xs)))
<=> ( p(ap(ap(c_2EdefCNF_2EOK,inj__ty_2Enum_2Enum(V1n)),V2x))
& p(ap(ap(c_2EdefCNF_2EOKDEF,ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1n))),V3xs)) ) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2EDEF__SNOC,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1x: $i] :
( mem(V1x,ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))
=> ! [V2l: $i] :
( mem(V2l,ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))
=> ! [V3v: $i] :
( mem(V3v,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(ap(ap(c_2EdefCNF_2EDEF,V3v),inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Elist_2ESNOC(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V1x),V2l)))
<=> ( p(ap(ap(ap(c_2EdefCNF_2EDEF,V3v),inj__ty_2Enum_2Enum(V0n)),V2l))
& p(ap(ap(ap(c_2EdefCNF_2EUNIQUE,V3v),ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V0n)),ap(c_2Elist_2ELENGTH(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V2l))),V1x)) ) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2EOKDEF__SNOC,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1x: $i] :
( mem(V1x,ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool))))
=> ! [V2l: $i] :
( mem(V2l,ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))
=> ( p(ap(ap(c_2EdefCNF_2EOKDEF,inj__ty_2Enum_2Enum(V0n)),ap(ap(c_2Elist_2ESNOC(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V1x),V2l)))
<=> ( p(ap(ap(c_2EdefCNF_2EOKDEF,inj__ty_2Enum_2Enum(V0n)),V2l))
& p(ap(ap(c_2EdefCNF_2EOK,ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V0n)),ap(c_2Elist_2ELENGTH(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))),V2l))),V1x)) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2ECONSISTENCY,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1l: $i] :
( mem(V1l,ty_2Elist_2Elist(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))
=> ( p(ap(ap(c_2EdefCNF_2EOKDEF,inj__ty_2Enum_2Enum(V0n)),V1l))
=> ? [V2v: $i] :
( mem(V2v,arr(ty_2Enum_2Enum,bool))
& p(ap(ap(ap(c_2EdefCNF_2EDEF,V2v),inj__ty_2Enum_2Enum(V0n)),V1l)) ) ) ) ).
tff(conj_thm_2EdefCNF_2EBIGSTEP,axiom,
! [V0P: $i] :
( mem(V0P,arr(arr(ty_2Enum_2Enum,bool),bool))
=> ! [V1Q: tp__o,V2R: $i] :
( mem(V2R,arr(arr(ty_2Enum_2Enum,bool),bool))
=> ( ! [V3v: $i] :
( mem(V3v,arr(ty_2Enum_2Enum,bool))
=> ( p(ap(V0P,V3v))
=> ( p(inj__o(V1Q))
<=> p(ap(V2R,V3v)) ) ) )
=> ( ( ? [V4v: $i] :
( mem(V4v,arr(ty_2Enum_2Enum,bool))
& p(ap(V0P,V4v)) )
& p(inj__o(V1Q)) )
<=> ? [V5v: $i] :
( mem(V5v,arr(ty_2Enum_2Enum,bool))
& p(ap(V0P,V5v))
& p(ap(V2R,V5v)) ) ) ) ) ) ).
tff(conj_thm_2EdefCNF_2EFINAL__DEF,axiom,
! [V0v: $i] :
( mem(V0v,arr(ty_2Enum_2Enum,bool))
=> ! [V1n: tp__ty_2Enum_2Enum,V2x: tp__o] :
( ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(inj__o(V2x)) )
<=> ( ( p(ap(V0v,inj__ty_2Enum_2Enum(V1n)))
<=> p(inj__o(V2x)) )
& p(ap(ap(ap(c_2EdefCNF_2EDEF,V0v),ap(c_2Enum_2ESUC,inj__ty_2Enum_2Enum(V1n))),c_2Elist_2ENIL(ty_2Epair_2Eprod(arr(bool,arr(bool,bool)),ty_2Epair_2Eprod(ty_2Esum_2Esum(ty_2Enum_2Enum,bool),ty_2Esum_2Esum(ty_2Enum_2Enum,bool)))))) ) ) ) ).
%------------------------------------------------------------------------------