ITP001 Axioms: ITP055^5.ax
%------------------------------------------------------------------------------
% File : ITP055^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 : sum_num^2.ax [Gau20]
% : HL4055^5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 24 ( 0 unt; 2 typ; 0 def)
% Number of atoms : 956 ( 33 equ; 0 cnn)
% Maximal formula atoms : 65 ( 39 avg)
% Number of connectives : 1170 ( 4 ~; 2 |; 23 &;1090 @)
% ( 6 <=>; 45 =>; 0 <=; 0 <~>)
% Maximal formula depth : 20 ( 12 avg;1090 nst)
% Number of types : 1 ( 0 usr)
% Number of type conns : 0 ( 0 >; 0 *; 0 +; 0 <<)
% Number of symbols : 27 ( 26 usr; 26 con; 0-2 aty)
% Number of variables : 86 ( 2 ^ 82 !; 2 ?; 86 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Esum__num_2EGSUM,type,
c_2Esum__num_2EGSUM: $i ).
thf(mem_c_2Esum__num_2EGSUM,axiom,
mem @ c_2Esum__num_2EGSUM @ ( arr @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ty_2Enum_2Enum ) ) ).
thf(tp_c_2Esum__num_2ESUM,type,
c_2Esum__num_2ESUM: $i ).
thf(mem_c_2Esum__num_2ESUM,axiom,
mem @ c_2Esum__num_2ESUM @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ty_2Enum_2Enum ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__ind,axiom,
! [V0P: $i] :
( ( mem @ V0P @ ( arr @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ bool ) ) )
=> ( ( ! [V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V2f ) ) )
& ! [V3n: tp__ty_2Enum_2Enum,V4m: tp__ty_2Enum_2Enum,V5f: $i] :
( ( mem @ V5f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V3n ) ) @ ( inj__ty_2Enum_2Enum @ V4m ) ) ) @ V5f ) )
=> ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V3n ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V4m ) ) ) ) @ V5f ) ) ) ) )
=> ! [V6v: tp__ty_2Enum_2Enum,V7v1: tp__ty_2Enum_2Enum,V8v2: $i] :
( ( mem @ V8v2 @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V6v ) ) @ ( inj__ty_2Enum_2Enum @ V7v1 ) ) ) @ V8v2 ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__def,axiom,
( ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V1f ) )
= fo__c_2Enum_2E0 ) )
& ! [V2n: tp__ty_2Enum_2Enum,V3m: tp__ty_2Enum_2Enum,V4f: $i] :
( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__def__compute,axiom,
( ! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V1f ) )
= fo__c_2Enum_2E0 ) )
& ! [V2n: tp__ty_2Enum_2Enum,V3m: tp__ty_2Enum_2Enum,V4f: $i] :
( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) @ V4f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) )
& ! [V5n: tp__ty_2Enum_2Enum,V6m: tp__ty_2Enum_2Enum,V7f: $i] :
( ( mem @ V7f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) @ V7f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) @ V7f ) ) @ ( ap @ V7f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6m ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__1,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V1f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__ADD,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ V3f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__ZERO,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ! [V3m: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V3m ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3m ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3m ) ) )
= fo__c_2Enum_2E0 ) )
<=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) )
= fo__c_2Enum_2E0 ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__MONO,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) )
!= fo__c_2Enum_2E0 ) )
=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ V3f ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__LESS,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ? [V4q: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) ) )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
!= fo__c_2Enum_2E0 ) )
<=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) ) @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__EQUAL,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum,V3f: $i] :
( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V3f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ V3f ) ) )
<=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
& ! [V4q: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
= fo__c_2Enum_2E0 ) ) )
| ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) )
& ! [V5q: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( inj__ty_2Enum_2Enum @ V5q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V5q ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V3f @ ( inj__ty_2Enum_2Enum @ V5q ) ) )
= fo__c_2Enum_2E0 ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2EGSUM__FUN__EQUAL,axiom,
! [V0p: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ! [V3g: $i] :
( ( mem @ V3g @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ! [V4x: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4x ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ V3g @ ( inj__ty_2Enum_2Enum @ V4x ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0p ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V3g ) ) ) ) ) ) ).
thf(ax_thm_2Esum__num_2ESUM__def,axiom,
( ! [V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) )
= fo__c_2Enum_2E0 ) )
& ! [V1m: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ V2f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ V2f ) ) @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__def__compute,axiom,
( ! [V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) )
= fo__c_2Enum_2E0 ) )
& ! [V1m: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ V2f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V2f ) ) @ ( ap @ V2f @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) )
& ! [V3m: tp__ty_2Enum_2Enum,V4f: $i] :
( ( mem @ V4f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) @ V4f ) ) @ ( ap @ V4f @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3m ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2EGSUM @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ V1f ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__1,axiom,
! [V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ V0f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ V0f @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__MONO,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
!= fo__c_2Enum_2E0 ) )
=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) ) @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ V2f ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__LESS,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ? [V3q: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3q ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
!= fo__c_2Enum_2E0 ) )
<=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) ) @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V2f ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__EQUAL,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V2f ) ) )
<=> ( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
& ! [V3q: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3q ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V3q ) ) )
= fo__c_2Enum_2E0 ) ) )
| ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) )
& ! [V4q: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V4q ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V4q ) ) )
= fo__c_2Enum_2E0 ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__FUN__EQUAL,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ! [V2g: $i] :
( ( mem @ V2g @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ! [V3x: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V3x ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ V2g @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V2g ) ) ) ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__ZERO,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ! [V2m: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2m ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V2m ) ) )
= fo__c_2Enum_2E0 ) )
<=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
= fo__c_2Enum_2E0 ) ) ) ).
thf(conj_thm_2Esum__num_2ESUM__FOLDL,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Esum__num_2ESUM @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V1f ) )
= ( surj__ty_2Enum_2Enum
@ ( ap
@ ( ap
@ ( ap @ ( c_2Elist_2EFOLDL @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V2x: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V3n: $i] : ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ V1f @ V3n ) ) @ V2x ) ) ) )
@ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
@ ( ap @ c_2Erich__list_2ECOUNT__LIST @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ).
%------------------------------------------------------------------------------