TPTP Problem File: ITP020_2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP020_2 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : HOL4 set theory export of thm_2Eutil__prob_2ENUM__2D__BIJ__INV.p, bushy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : thm_2Eutil__prob_2ENUM__2D__BIJ__INV.p [Gau19]
% : HL409501_2.p [TPAP]
% Status : Theorem
% Rating : 0.50 v9.0.0, 0.56 v8.2.0, 0.90 v8.1.0, 0.82 v7.5.0
% Syntax : Number of formulae : 111 ( 27 unt; 38 typ; 0 def)
% Number of atoms : 447 ( 20 equ)
% Maximal formula atoms : 15 ( 4 avg)
% Number of connectives : 253 ( 41 ~; 36 |; 45 &)
% ( 52 <=>; 79 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 5 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of FOOLs : 162 ( 162 fml; 0 var)
% Number of types : 6 ( 4 usr)
% Number of type conns : 33 ( 23 >; 10 *; 0 +; 0 <<)
% Number of predicates : 8 ( 5 usr; 3 prp; 0-2 aty)
% Number of functors : 32 ( 32 usr; 11 con; 0-2 aty)
% Number of variables : 148 ( 132 !; 16 ?; 148 :)
% SPC : TF0_THM_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Bugfixes in axioms and export.
%------------------------------------------------------------------------------
include('Axioms/ITP001/ITP001_2.ax').
%------------------------------------------------------------------------------
tff(stp_o,type,
tp__o: $tType ).
tff(stp_inj_o,type,
inj__o: tp__o > $i ).
tff(stp_surj_o,type,
surj__o: $i > tp__o ).
tff(stp_inj_surj_o,axiom,
! [X: tp__o] : ( surj__o(inj__o(X)) = X ) ).
tff(stp_inj_mem_o,axiom,
! [X: tp__o] : mem(inj__o(X),bool) ).
tff(stp_iso_mem_o,axiom,
! [X: $i] :
( mem(X,bool)
=> ( X = inj__o(surj__o(X)) ) ) ).
tff(tp_c_2Ebool_2ET,type,
c_2Ebool_2ET: $i ).
tff(mem_c_2Ebool_2ET,axiom,
mem(c_2Ebool_2ET,bool) ).
tff(stp_fo_c_2Ebool_2ET,type,
fo__c_2Ebool_2ET: tp__o ).
tff(stp_eq_fo_c_2Ebool_2ET,axiom,
inj__o(fo__c_2Ebool_2ET) = c_2Ebool_2ET ).
tff(ax_true_p,axiom,
p(c_2Ebool_2ET) ).
tff(tp_c_2Ebool_2EF,type,
c_2Ebool_2EF: $i ).
tff(mem_c_2Ebool_2EF,axiom,
mem(c_2Ebool_2EF,bool) ).
tff(stp_fo_c_2Ebool_2EF,type,
fo__c_2Ebool_2EF: tp__o ).
tff(stp_eq_fo_c_2Ebool_2EF,axiom,
inj__o(fo__c_2Ebool_2EF) = c_2Ebool_2EF ).
tff(ax_false_p,axiom,
~ p(c_2Ebool_2EF) ).
tff(tp_c_2Emin_2E_3D_3D_3E,type,
c_2Emin_2E_3D_3D_3E: $i ).
tff(mem_c_2Emin_2E_3D_3D_3E,axiom,
mem(c_2Emin_2E_3D_3D_3E,arr(bool,arr(bool,bool))) ).
tff(stp_fo_c_2Emin_2E_3D_3D_3E,type,
fo__c_2Emin_2E_3D_3D_3E: ( tp__o * tp__o ) > tp__o ).
tff(stp_eq_fo_c_2Emin_2E_3D_3D_3E,axiom,
! [X0: tp__o,X1: tp__o] : ( inj__o(fo__c_2Emin_2E_3D_3D_3E(X0,X1)) = ap(ap(c_2Emin_2E_3D_3D_3E,inj__o(X0)),inj__o(X1)) ) ).
tff(ax_imp_p,axiom,
! [Q: $i] :
( mem(Q,bool)
=> ! [R: $i] :
( mem(R,bool)
=> ( p(ap(ap(c_2Emin_2E_3D_3D_3E,Q),R))
<=> ( p(Q)
=> p(R) ) ) ) ) ).
tff(tp_c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $i ).
tff(mem_c_2Ebool_2E_5C_2F,axiom,
mem(c_2Ebool_2E_5C_2F,arr(bool,arr(bool,bool))) ).
tff(stp_fo_c_2Ebool_2E_5C_2F,type,
fo__c_2Ebool_2E_5C_2F: ( tp__o * tp__o ) > tp__o ).
tff(stp_eq_fo_c_2Ebool_2E_5C_2F,axiom,
! [X0: tp__o,X1: tp__o] : ( inj__o(fo__c_2Ebool_2E_5C_2F(X0,X1)) = ap(ap(c_2Ebool_2E_5C_2F,inj__o(X0)),inj__o(X1)) ) ).
tff(ax_or_p,axiom,
! [Q: $i] :
( mem(Q,bool)
=> ! [R: $i] :
( mem(R,bool)
=> ( p(ap(ap(c_2Ebool_2E_5C_2F,Q),R))
<=> ( p(Q)
| p(R) ) ) ) ) ).
tff(tp_c_2Ebool_2E_2F_5C,type,
c_2Ebool_2E_2F_5C: $i ).
tff(mem_c_2Ebool_2E_2F_5C,axiom,
mem(c_2Ebool_2E_2F_5C,arr(bool,arr(bool,bool))) ).
tff(stp_fo_c_2Ebool_2E_2F_5C,type,
fo__c_2Ebool_2E_2F_5C: ( tp__o * tp__o ) > tp__o ).
tff(stp_eq_fo_c_2Ebool_2E_2F_5C,axiom,
! [X0: tp__o,X1: tp__o] : ( inj__o(fo__c_2Ebool_2E_2F_5C(X0,X1)) = ap(ap(c_2Ebool_2E_2F_5C,inj__o(X0)),inj__o(X1)) ) ).
tff(ax_and_p,axiom,
! [Q: $i] :
( mem(Q,bool)
=> ! [R: $i] :
( mem(R,bool)
=> ( p(ap(ap(c_2Ebool_2E_2F_5C,Q),R))
<=> ( p(Q)
& p(R) ) ) ) ) ).
tff(tp_c_2Ebool_2E_7E,type,
c_2Ebool_2E_7E: $i ).
tff(mem_c_2Ebool_2E_7E,axiom,
mem(c_2Ebool_2E_7E,arr(bool,bool)) ).
tff(stp_fo_c_2Ebool_2E_7E,type,
fo__c_2Ebool_2E_7E: tp__o > tp__o ).
tff(stp_eq_fo_c_2Ebool_2E_7E,axiom,
! [X0: tp__o] : ( inj__o(fo__c_2Ebool_2E_7E(X0)) = ap(c_2Ebool_2E_7E,inj__o(X0)) ) ).
tff(ax_neg_p,axiom,
! [Q: $i] :
( mem(Q,bool)
=> ( p(ap(c_2Ebool_2E_7E,Q))
<=> ~ p(Q) ) ) ).
tff(tp_c_2Emin_2E_3D,type,
c_2Emin_2E_3D: del > $i ).
tff(mem_c_2Emin_2E_3D,axiom,
! [A_27a: del] : mem(c_2Emin_2E_3D(A_27a),arr(A_27a,arr(A_27a,bool))) ).
tff(ax_eq_p,axiom,
! [A: del,X: $i] :
( mem(X,A)
=> ! [Y: $i] :
( mem(Y,A)
=> ( p(ap(ap(c_2Emin_2E_3D(A),X),Y))
<=> ( X = Y ) ) ) ) ).
tff(tp_c_2Ebool_2E_21,type,
c_2Ebool_2E_21: del > $i ).
tff(mem_c_2Ebool_2E_21,axiom,
! [A_27a: del] : mem(c_2Ebool_2E_21(A_27a),arr(arr(A_27a,bool),bool)) ).
tff(ax_all_p,axiom,
! [A: del,Q: $i] :
( mem(Q,arr(A,bool))
=> ( p(ap(c_2Ebool_2E_21(A),Q))
<=> ! [X: $i] :
( mem(X,A)
=> p(ap(Q,X)) ) ) ) ).
tff(tp_c_2Epred__set_2EUNIV,type,
c_2Epred__set_2EUNIV: del > $i ).
tff(mem_c_2Epred__set_2EUNIV,axiom,
! [A_27a: del] : mem(c_2Epred__set_2EUNIV(A_27a),arr(A_27a,bool)) ).
tff(tp_ty_2Epair_2Eprod,type,
ty_2Epair_2Eprod: ( del * del ) > del ).
tff(tp_c_2Epred__set_2ECROSS,type,
c_2Epred__set_2ECROSS: ( del * del ) > $i ).
tff(mem_c_2Epred__set_2ECROSS,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Epred__set_2ECROSS(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),arr(ty_2Epair_2Eprod(A_27a,A_27b),bool)))) ).
tff(tp_c_2Epred__set_2EBIJ,type,
c_2Epred__set_2EBIJ: ( del * del ) > $i ).
tff(mem_c_2Epred__set_2EBIJ,axiom,
! [A_27a: del,A_27b: del] : mem(c_2Epred__set_2EBIJ(A_27a,A_27b),arr(arr(A_27a,A_27b),arr(arr(A_27a,bool),arr(arr(A_27b,bool),bool)))) ).
tff(tp_ty_2Enum_2Enum,type,
ty_2Enum_2Enum: del ).
tff(stp_ty_2Enum_2Enum,type,
tp__ty_2Enum_2Enum: $tType ).
tff(stp_inj_ty_2Enum_2Enum,type,
inj__ty_2Enum_2Enum: tp__ty_2Enum_2Enum > $i ).
tff(stp_surj_ty_2Enum_2Enum,type,
surj__ty_2Enum_2Enum: $i > tp__ty_2Enum_2Enum ).
tff(stp_inj_surj_ty_2Enum_2Enum,axiom,
! [X: tp__ty_2Enum_2Enum] : ( surj__ty_2Enum_2Enum(inj__ty_2Enum_2Enum(X)) = X ) ).
tff(stp_inj_mem_ty_2Enum_2Enum,axiom,
! [X: tp__ty_2Enum_2Enum] : mem(inj__ty_2Enum_2Enum(X),ty_2Enum_2Enum) ).
tff(stp_iso_mem_ty_2Enum_2Enum,axiom,
! [X: $i] :
( mem(X,ty_2Enum_2Enum)
=> ( X = inj__ty_2Enum_2Enum(surj__ty_2Enum_2Enum(X)) ) ) ).
tff(stp_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum: $tType ).
tff(stp_inj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum > $i ).
tff(stp_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum: $i > tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum ).
tff(stp_inj_surj_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X)) = X ) ).
tff(stp_inj_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: tp__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum] : mem(inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X),ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_iso_mem_c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: $i] :
( mem(X,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ( X = inj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum(X)) ) ) ).
tff(tp_c_2Ebool_2E_3F,type,
c_2Ebool_2E_3F: del > $i ).
tff(mem_c_2Ebool_2E_3F,axiom,
! [A_27a: del] : mem(c_2Ebool_2E_3F(A_27a),arr(arr(A_27a,bool),bool)) ).
tff(ax_ex_p,axiom,
! [A: del,Q: $i] :
( mem(Q,arr(A,bool))
=> ( p(ap(c_2Ebool_2E_3F(A),Q))
<=> ? [X: $i] :
( mem(X,A)
& p(ap(Q,X)) ) ) ) ).
tff(conj_thm_2Ebool_2ETRUTH,axiom,
$true ).
tff(conj_thm_2Ebool_2EIMP__ANTISYM__AX,axiom,
! [V0t1: tp__o,V1t2: tp__o] :
( ( p(inj__o(V0t1))
=> p(inj__o(V1t2)) )
=> ( ( p(inj__o(V1t2))
=> p(inj__o(V0t1)) )
=> ( p(inj__o(V0t1))
<=> p(inj__o(V1t2)) ) ) ) ).
tff(conj_thm_2Ebool_2EIMP__F,axiom,
! [V0t: tp__o] :
( ( p(inj__o(V0t))
=> $false )
=> ~ p(inj__o(V0t)) ) ).
tff(conj_thm_2Ebool_2EF__IMP,axiom,
! [V0t: tp__o] :
( ~ p(inj__o(V0t))
=> ( p(inj__o(V0t))
=> $false ) ) ).
tff(conj_thm_2Ebool_2EIMP__CLAUSES,axiom,
! [V0t: tp__o] :
( ( ( $true
=> p(inj__o(V0t)) )
<=> p(inj__o(V0t)) )
& ( ( p(inj__o(V0t))
=> $true )
<=> $true )
& ( ( $false
=> p(inj__o(V0t)) )
<=> $true )
& ( ( p(inj__o(V0t))
=> p(inj__o(V0t)) )
<=> $true )
& ( ( p(inj__o(V0t))
=> $false )
<=> ~ p(inj__o(V0t)) ) ) ).
tff(conj_thm_2Ebool_2ENOT__CLAUSES,axiom,
( ! [V0t: tp__o] :
( ~ ~ p(inj__o(V0t))
<=> p(inj__o(V0t)) )
& ( ~ $true
<=> $false )
& ( ~ $false
<=> $true ) ) ).
tff(conj_thm_2Ebool_2EEQ__SYM__EQ,axiom,
! [A_27a: del,V0x: $i] :
( mem(V0x,A_27a)
=> ! [V1y: $i] :
( mem(V1y,A_27a)
=> ( ( V0x = V1y )
<=> ( V1y = V0x ) ) ) ) ).
tff(conj_thm_2Ebool_2EEQ__CLAUSES,axiom,
! [V0t: tp__o] :
( ( ( $true
<=> p(inj__o(V0t)) )
<=> p(inj__o(V0t)) )
& ( ( p(inj__o(V0t))
<=> $true )
<=> p(inj__o(V0t)) )
& ( ( $false
<=> p(inj__o(V0t)) )
<=> ~ p(inj__o(V0t)) )
& ( ( p(inj__o(V0t))
<=> $false )
<=> ~ p(inj__o(V0t)) ) ) ).
tff(conj_thm_2Ebool_2ENOT__EXISTS__THM,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(A_27a,bool))
=> ( ~ ? [V1x: $i] :
( mem(V1x,A_27a)
& p(ap(V0P,V1x)) )
<=> ! [V2x: $i] :
( mem(V2x,A_27a)
=> ~ p(ap(V0P,V2x)) ) ) ) ).
tff(conj_thm_2Ebool_2ELEFT__AND__FORALL__THM,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1Q: tp__o] :
( ( ! [V2x: $i] :
( mem(V2x,A_27a)
=> p(ap(V0P,V2x)) )
& p(inj__o(V1Q)) )
<=> ! [V3x: $i] :
( mem(V3x,A_27a)
=> ( p(ap(V0P,V3x))
& p(inj__o(V1Q)) ) ) ) ) ).
tff(conj_thm_2Ebool_2ERIGHT__AND__FORALL__THM,axiom,
! [A_27a: del,V0P: tp__o,V1Q: $i] :
( mem(V1Q,arr(A_27a,bool))
=> ( ( p(inj__o(V0P))
& ! [V2x: $i] :
( mem(V2x,A_27a)
=> p(ap(V1Q,V2x)) ) )
<=> ! [V3x: $i] :
( mem(V3x,A_27a)
=> ( p(inj__o(V0P))
& p(ap(V1Q,V3x)) ) ) ) ) ).
tff(conj_thm_2Ebool_2ELEFT__OR__EXISTS__THM,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1Q: tp__o] :
( ( ? [V2x: $i] :
( mem(V2x,A_27a)
& p(ap(V0P,V2x)) )
| p(inj__o(V1Q)) )
<=> ? [V3x: $i] :
( mem(V3x,A_27a)
& ( p(ap(V0P,V3x))
| p(inj__o(V1Q)) ) ) ) ) ).
tff(conj_thm_2Ebool_2ERIGHT__OR__EXISTS__THM,axiom,
! [A_27a: del,V0P: tp__o,V1Q: $i] :
( mem(V1Q,arr(A_27a,bool))
=> ( ( p(inj__o(V0P))
| ? [V2x: $i] :
( mem(V2x,A_27a)
& p(ap(V1Q,V2x)) ) )
<=> ? [V3x: $i] :
( mem(V3x,A_27a)
& ( p(inj__o(V0P))
| p(ap(V1Q,V3x)) ) ) ) ) ).
tff(conj_thm_2Ebool_2ELEFT__EXISTS__AND__THM,axiom,
! [A_27a: del,V0P: $i] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1Q: tp__o] :
( ? [V2x: $i] :
( mem(V2x,A_27a)
& p(ap(V0P,V2x))
& p(inj__o(V1Q)) )
<=> ( ? [V3x: $i] :
( mem(V3x,A_27a)
& p(ap(V0P,V3x)) )
& p(inj__o(V1Q)) ) ) ) ).
tff(conj_thm_2Ebool_2ERIGHT__EXISTS__AND__THM,axiom,
! [A_27a: del,V0P: tp__o,V1Q: $i] :
( mem(V1Q,arr(A_27a,bool))
=> ( ? [V2x: $i] :
( mem(V2x,A_27a)
& p(inj__o(V0P))
& p(ap(V1Q,V2x)) )
<=> ( p(inj__o(V0P))
& ? [V3x: $i] :
( mem(V3x,A_27a)
& p(ap(V1Q,V3x)) ) ) ) ) ).
tff(conj_thm_2Ebool_2ELEFT__FORALL__OR__THM,axiom,
! [A_27a: del,V0Q: tp__o,V1P: $i] :
( mem(V1P,arr(A_27a,bool))
=> ( ! [V2x: $i] :
( mem(V2x,A_27a)
=> ( p(ap(V1P,V2x))
| p(inj__o(V0Q)) ) )
<=> ( ! [V3x: $i] :
( mem(V3x,A_27a)
=> p(ap(V1P,V3x)) )
| p(inj__o(V0Q)) ) ) ) ).
tff(conj_thm_2Ebool_2ERIGHT__FORALL__OR__THM,axiom,
! [A_27a: del,V0P: tp__o,V1Q: $i] :
( mem(V1Q,arr(A_27a,bool))
=> ( ! [V2x: $i] :
( mem(V2x,A_27a)
=> ( p(inj__o(V0P))
| p(ap(V1Q,V2x)) ) )
<=> ( p(inj__o(V0P))
| ! [V3x: $i] :
( mem(V3x,A_27a)
=> p(ap(V1Q,V3x)) ) ) ) ) ).
tff(conj_thm_2Ebool_2EDISJ__SYM,axiom,
! [V0A: tp__o,V1B: tp__o] :
( ( p(inj__o(V0A))
| p(inj__o(V1B)) )
<=> ( p(inj__o(V1B))
| p(inj__o(V0A)) ) ) ).
tff(conj_thm_2Ebool_2ESKOLEM__THM,axiom,
! [A_27a: del,A_27b: del,V0P: $i] :
( mem(V0P,arr(A_27a,arr(A_27b,bool)))
=> ( ! [V1x: $i] :
( mem(V1x,A_27a)
=> ? [V2y: $i] :
( mem(V2y,A_27b)
& p(ap(ap(V0P,V1x),V2y)) ) )
<=> ? [V3f: $i] :
( mem(V3f,arr(A_27a,A_27b))
& ! [V4x: $i] :
( mem(V4x,A_27a)
=> p(ap(ap(V0P,V4x),ap(V3f,V4x))) ) ) ) ) ).
tff(conj_thm_2Epred__set_2EBIJ__SYM,axiom,
! [A_27a: del,A_27b: del,V0s: $i] :
( mem(V0s,arr(A_27a,bool))
=> ! [V1t: $i] :
( mem(V1t,arr(A_27b,bool))
=> ( ? [V2f: $i] :
( mem(V2f,arr(A_27a,A_27b))
& p(ap(ap(ap(c_2Epred__set_2EBIJ(A_27a,A_27b),V2f),V0s),V1t)) )
<=> ? [V3g: $i] :
( mem(V3g,arr(A_27b,A_27a))
& p(ap(ap(ap(c_2Epred__set_2EBIJ(A_27b,A_27a),V3g),V1t),V0s)) ) ) ) ) ).
tff(conj_thm_2Esat_2ENOT__NOT,axiom,
! [V0t: tp__o] :
( ~ ~ p(inj__o(V0t))
<=> p(inj__o(V0t)) ) ).
tff(conj_thm_2Esat_2EAND__INV__IMP,axiom,
! [V0A: tp__o] :
( p(inj__o(V0A))
=> ( ~ p(inj__o(V0A))
=> $false ) ) ).
tff(conj_thm_2Esat_2EOR__DUAL2,axiom,
! [V0A: tp__o,V1B: tp__o] :
( ( ~ ( p(inj__o(V0A))
| p(inj__o(V1B)) )
=> $false )
<=> ( ( p(inj__o(V0A))
=> $false )
=> ( ~ p(inj__o(V1B))
=> $false ) ) ) ).
tff(conj_thm_2Esat_2EOR__DUAL3,axiom,
! [V0A: tp__o,V1B: tp__o] :
( ( ~ ( ~ p(inj__o(V0A))
| p(inj__o(V1B)) )
=> $false )
<=> ( p(inj__o(V0A))
=> ( ~ p(inj__o(V1B))
=> $false ) ) ) ).
tff(conj_thm_2Esat_2EAND__INV2,axiom,
! [V0A: tp__o] :
( ( ~ p(inj__o(V0A))
=> $false )
=> ( ( p(inj__o(V0A))
=> $false )
=> $false ) ) ).
tff(conj_thm_2Esat_2Edc__eq,axiom,
! [V0p: tp__o,V1q: tp__o,V2r: tp__o] :
( ( p(inj__o(V0p))
<=> ( p(inj__o(V1q))
<=> p(inj__o(V2r)) ) )
<=> ( ( p(inj__o(V0p))
| p(inj__o(V1q))
| p(inj__o(V2r)) )
& ( p(inj__o(V0p))
| ~ p(inj__o(V2r))
| ~ p(inj__o(V1q)) )
& ( p(inj__o(V1q))
| ~ p(inj__o(V2r))
| ~ p(inj__o(V0p)) )
& ( p(inj__o(V2r))
| ~ p(inj__o(V1q))
| ~ p(inj__o(V0p)) ) ) ) ).
tff(conj_thm_2Esat_2Edc__conj,axiom,
! [V0p: tp__o,V1q: tp__o,V2r: tp__o] :
( ( p(inj__o(V0p))
<=> ( p(inj__o(V1q))
& p(inj__o(V2r)) ) )
<=> ( ( p(inj__o(V0p))
| ~ p(inj__o(V1q))
| ~ p(inj__o(V2r)) )
& ( p(inj__o(V1q))
| ~ p(inj__o(V0p)) )
& ( p(inj__o(V2r))
| ~ p(inj__o(V0p)) ) ) ) ).
tff(conj_thm_2Esat_2Edc__disj,axiom,
! [V0p: tp__o,V1q: tp__o,V2r: tp__o] :
( ( p(inj__o(V0p))
<=> ( p(inj__o(V1q))
| p(inj__o(V2r)) ) )
<=> ( ( p(inj__o(V0p))
| ~ p(inj__o(V1q)) )
& ( p(inj__o(V0p))
| ~ p(inj__o(V2r)) )
& ( p(inj__o(V1q))
| p(inj__o(V2r))
| ~ p(inj__o(V0p)) ) ) ) ).
tff(conj_thm_2Esat_2Edc__imp,axiom,
! [V0p: tp__o,V1q: tp__o,V2r: tp__o] :
( ( p(inj__o(V0p))
<=> ( p(inj__o(V1q))
=> p(inj__o(V2r)) ) )
<=> ( ( p(inj__o(V0p))
| p(inj__o(V1q)) )
& ( p(inj__o(V0p))
| ~ p(inj__o(V2r)) )
& ( ~ p(inj__o(V1q))
| p(inj__o(V2r))
| ~ p(inj__o(V0p)) ) ) ) ).
tff(conj_thm_2Esat_2Edc__neg,axiom,
! [V0p: tp__o,V1q: tp__o] :
( ( p(inj__o(V0p))
<=> ~ p(inj__o(V1q)) )
<=> ( ( p(inj__o(V0p))
| p(inj__o(V1q)) )
& ( ~ p(inj__o(V1q))
| ~ p(inj__o(V0p)) ) ) ) ).
tff(conj_thm_2Eutil__prob_2ENUM__2D__BIJ,axiom,
? [V0f: $i] :
( mem(V0f,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Enum_2Enum))
& p(ap(ap(ap(c_2Epred__set_2EBIJ(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum),ty_2Enum_2Enum),V0f),ap(ap(c_2Epred__set_2ECROSS(ty_2Enum_2Enum,ty_2Enum_2Enum),c_2Epred__set_2EUNIV(ty_2Enum_2Enum)),c_2Epred__set_2EUNIV(ty_2Enum_2Enum))),c_2Epred__set_2EUNIV(ty_2Enum_2Enum))) ) ).
tff(conj_thm_2Eutil__prob_2ENUM__2D__BIJ__INV,conjecture,
? [V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)))
& p(ap(ap(ap(c_2Epred__set_2EBIJ(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Enum_2Enum)),V0f),c_2Epred__set_2EUNIV(ty_2Enum_2Enum)),ap(ap(c_2Epred__set_2ECROSS(ty_2Enum_2Enum,ty_2Enum_2Enum),c_2Epred__set_2EUNIV(ty_2Enum_2Enum)),c_2Epred__set_2EUNIV(ty_2Enum_2Enum)))) ) ).
%------------------------------------------------------------------------------