ITP001 Axioms: ITP075^5.ax
%------------------------------------------------------------------------------
% File : ITP075^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 : string_num^2.ax [Gau20]
% : HL4075^5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 46 ( 17 unt; 14 typ; 0 def)
% Number of atoms : 839 ( 30 equ; 0 cnn)
% Maximal formula atoms : 43 ( 18 avg)
% Number of connectives : 915 ( 1 ~; 0 |; 4 &; 902 @)
% ( 2 <=>; 6 =>; 0 <=; 0 <~>)
% Maximal formula depth : 22 ( 4 avg; 902 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 6 ( 6 >; 0 *; 0 +; 0 <<)
% Number of symbols : 60 ( 59 usr; 53 con; 0-2 aty)
% Number of variables : 47 ( 12 ^ 33 !; 2 ?; 47 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(stp_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum: $tType ).
thf(stp_inj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum > $i ).
thf(stp_surj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,type,
surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum: $i > tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum ).
thf(stp_inj_surj_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum] :
( ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ X ) )
= X ) ).
thf(stp_inj_mem_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum] : ( mem @ ( inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ X ) @ ( ty_2Esum_2Esum @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(stp_iso_mem_c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum,axiom,
! [X: $i] :
( ( mem @ X @ ( ty_2Esum_2Esum @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( X
= ( inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ X ) ) ) ) ).
thf(tp_c_2Estring__num_2En2nsum,type,
c_2Estring__num_2En2nsum: $i ).
thf(mem_c_2Estring__num_2En2nsum,axiom,
mem @ c_2Estring__num_2En2nsum @ ( arr @ ty_2Enum_2Enum @ ( ty_2Esum_2Esum @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(tp_c_2Estring__num_2En2s,type,
c_2Estring__num_2En2s: $i ).
thf(mem_c_2Estring__num_2En2s,axiom,
mem @ c_2Estring__num_2En2s @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) ).
thf(tp_c_2Estring__num_2Ensum2n,type,
c_2Estring__num_2Ensum2n: $i ).
thf(mem_c_2Estring__num_2Ensum2n,axiom,
mem @ c_2Estring__num_2Ensum2n @ ( arr @ ( ty_2Esum_2Esum @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Estring__num_2Ensum2n,type,
fo__c_2Estring__num_2Ensum2n: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Estring__num_2Ensum2n,axiom,
! [X0: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Estring__num_2Ensum2n @ X0 ) )
= ( ap @ c_2Estring__num_2Ensum2n @ ( inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ X0 ) ) ) ).
thf(tp_c_2Estring__num_2Es2n,type,
c_2Estring__num_2Es2n: $i ).
thf(mem_c_2Estring__num_2Es2n,axiom,
mem @ c_2Estring__num_2Es2n @ ( arr @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Estring__num_2Es2n,type,
fo__c_2Estring__num_2Es2n: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Estring__num_2Es2n,axiom,
! [X0: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Estring__num_2Es2n @ X0 ) )
= ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ X0 ) ) ) ).
thf(stp_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,type,
tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar: $tType ).
thf(stp_inj_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,type,
inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar: tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar > $i ).
thf(stp_surj_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,type,
surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar: $i > tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar ).
thf(stp_inj_surj_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,axiom,
! [X: tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ X ) )
= X ) ).
thf(stp_inj_mem_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,axiom,
! [X: tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar] : ( mem @ ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ X ) @ ( ty_2Esum_2Esum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) ) ).
thf(stp_iso_mem_c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar,axiom,
! [X: $i] :
( ( mem @ X @ ( ty_2Esum_2Esum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) )
=> ( X
= ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ X ) ) ) ) ).
thf(tp_c_2Estring__num_2Es2ssum,type,
c_2Estring__num_2Es2ssum: $i ).
thf(mem_c_2Estring__num_2Es2ssum,axiom,
mem @ c_2Estring__num_2Es2ssum @ ( arr @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Esum_2Esum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) ) ).
thf(tp_c_2Estring__num_2Essum2s,type,
c_2Estring__num_2Essum2s: $i ).
thf(mem_c_2Estring__num_2Essum2s,axiom,
mem @ c_2Estring__num_2Essum2s @ ( arr @ ( ty_2Esum_2Esum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) ).
thf(ax_thm_2Estring__num_2En2s__primitive__def,axiom,
( c_2Estring__num_2En2s
= ( ap
@ ( ap @ ( c_2Erelation_2EWFREC @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( ap @ ( c_2Emin_2E_40 @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ bool ) ) )
@ ( lam @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ bool ) )
@ ^ [V0R: $i] :
( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ ( c_2Erelation_2EWF @ ty_2Enum_2Enum ) @ V0R ) )
@ ( ap @ ( c_2Ebool_2E_21 @ ty_2Enum_2Enum )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V1n: $i] :
( ap @ ( c_2Ebool_2E_21 @ ty_2Enum_2Enum )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V2r0: $i] :
( ap @ ( c_2Ebool_2E_21 @ ty_2Enum_2Enum )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V3r: $i] : ( ap @ ( ap @ c_2Emin_2E_3D_3D_3E @ ( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ c_2Ebool_2E_7E @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V1n ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) @ ( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V2r0 ) @ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ V1n ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V3r ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V2r0 ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) @ V2r0 ) ) ) ) ) @ ( ap @ ( ap @ V0R @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ V1n ) @ V3r ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) @ V1n ) ) ) ) ) ) ) ) ) ) ) )
@ ( lam @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ^ [V4n2s: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V5a: $i] :
( ap @ ( c_2Ecombin_2EI @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V5a ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( c_2Elist_2ENIL @ ty_2Estring_2Echar ) )
@ ( ap
@ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V6r0: $i] :
( ap
@ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V7r: $i] :
( ap
@ ( ap @ ( c_2Ebool_2ELET @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar )
@ ^ [V8s0: $i] : ( ap @ ( ap @ ( c_2Elist_2ECONS @ ty_2Estring_2Echar ) @ ( ap @ c_2Estring_2ECHR @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ V7r ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ V8s0 ) ) )
@ ( ap @ V4n2s @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ V5a ) @ V7r ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
@ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V6r0 ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) @ V6r0 ) ) ) )
@ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ V5a ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Estring__num_2En2s__ind,axiom,
! [V0P: $i] :
( ( mem @ V0P @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ! [V1n: tp__ty_2Enum_2Enum] :
( ! [V2r0: tp__ty_2Enum_2Enum,V3r: tp__ty_2Enum_2Enum] :
( ( ( V1n != fo__c_2Enum_2E0 )
& ( V2r0
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) )
& ( V3r
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2r0 ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V2r0 ) ) ) ) )
=> ( p @ ( ap @ V0P @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V3r ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) )
=> ( p @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
=> ! [V4v: tp__ty_2Enum_2Enum] : ( p @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V4v ) ) ) ) ) ).
thf(conj_thm_2Estring__num_2En2s__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar
@ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( c_2Elist_2ENIL @ ty_2Estring_2Echar ) )
@ ( ap
@ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V1r0: $i] :
( ap
@ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V2r: $i] :
( ap
@ ( ap @ ( c_2Ebool_2ELET @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) )
@ ( lam @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar )
@ ^ [V3s0: $i] : ( ap @ ( ap @ ( c_2Elist_2ECONS @ ty_2Estring_2Echar ) @ ( ap @ c_2Estring_2ECHR @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ V2r ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ V3s0 ) ) )
@ ( ap @ c_2Estring__num_2En2s @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ V2r ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
@ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ V1r0 ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) @ V1r0 ) ) ) )
@ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
thf(ax_thm_2Estring__num_2Es2n__def,axiom,
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( c_2Elist_2ENIL @ ty_2Estring_2Echar ) ) )
= fo__c_2Enum_2E0 )
& ! [V0c: tp__ty_2Estring_2Echar,V1s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ ty_2Estring_2Echar ) @ ( inj__ty_2Estring_2Echar @ V0c ) ) @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V1s ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V1s ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ) @ ( ap @ c_2Estring_2EORD @ ( inj__ty_2Estring_2Echar @ V0c ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ).
thf(conj_thm_2Estring__num_2Es2n__n2s,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( ap @ c_2Estring__num_2En2s @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= V0n ) ).
thf(conj_thm_2Estring__num_2En2s__s2n,axiom,
! [V0s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0s ) ) ) )
= V0s ) ).
thf(conj_thm_2Estring__num_2En2s__11,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
( ( ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( inj__ty_2Enum_2Enum @ V0x ) ) )
= ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( inj__ty_2Enum_2Enum @ V1y ) ) ) )
<=> ( V0x = V1y ) ) ).
thf(conj_thm_2Estring__num_2Es2n__11,axiom,
! [V0x: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar,V1y: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0x ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V1y ) ) ) )
<=> ( V0x = V1y ) ) ).
thf(conj_thm_2Estring__num_2En2s__onto,axiom,
! [V0s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
? [V1n: tp__ty_2Enum_2Enum] :
( V0s
= ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ).
thf(conj_thm_2Estring__num_2Es2n__onto,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
? [V1s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( V0n
= ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V1s ) ) ) ) ).
thf(ax_thm_2Estring__num_2En2nsum__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2En2nsum @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Esum_2Esum @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ ( c_2Esum_2EINL @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( c_2Esum_2EINR @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ).
thf(ax_thm_2Estring__num_2Ensum2n__def,axiom,
( ! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Ensum2n @ ( ap @ ( c_2Esum_2EINL @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) )
& ! [V1n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Ensum2n @ ( ap @ ( c_2Esum_2EINR @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ) ).
thf(conj_thm_2Estring__num_2En2nsum__nsum2n,axiom,
! [V0ns: tp__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum] :
( ( surj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2En2nsum @ ( ap @ c_2Estring__num_2Ensum2n @ ( inj__c_ty_2Esum_2Esum_ty_2Enum_2Enum_ty_2Enum_2Enum @ V0ns ) ) ) )
= V0ns ) ).
thf(conj_thm_2Estring__num_2Ensum2n__n2nsum,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Estring__num_2Ensum2n @ ( ap @ c_2Estring__num_2En2nsum @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= V0n ) ).
thf(ax_thm_2Estring__num_2Es2ssum__def,axiom,
! [V0s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2Es2ssum @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0s ) ) )
= ( surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ ( ap @ ( ap @ ( c_2Esum_2E_2B_2B @ ty_2Enum_2Enum @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) ) @ c_2Estring__num_2En2s ) @ c_2Estring__num_2En2s ) @ ( ap @ c_2Estring__num_2En2nsum @ ( ap @ c_2Estring__num_2Es2n @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0s ) ) ) ) ) ) ).
thf(ax_thm_2Estring__num_2Essum2s__def,axiom,
! [V0sm: tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2Essum2s @ ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0sm ) ) )
= ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2En2s @ ( ap @ c_2Estring__num_2Ensum2n @ ( ap @ ( ap @ ( ap @ ( c_2Esum_2E_2B_2B @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ( ty_2Elist_2Elist @ ty_2Estring_2Echar ) @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ c_2Estring__num_2Es2n ) @ c_2Estring__num_2Es2n ) @ ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0sm ) ) ) ) ) ) ).
thf(conj_thm_2Estring__num_2Es2ssum__ssum2s,axiom,
! [V0sm: tp__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2Es2ssum @ ( ap @ c_2Estring__num_2Essum2s @ ( inj__c_ty_2Esum_2Esum_c_ty_2Elist_2Elist_ty_2Estring_2Echar_c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0sm ) ) ) )
= V0sm ) ).
thf(conj_thm_2Estring__num_2Essum2s__s2ssum,axiom,
! [V0s: tp__c_ty_2Elist_2Elist_ty_2Estring_2Echar] :
( ( surj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ ( ap @ c_2Estring__num_2Essum2s @ ( ap @ c_2Estring__num_2Es2ssum @ ( inj__c_ty_2Elist_2Elist_ty_2Estring_2Echar @ V0s ) ) ) )
= V0s ) ).
%------------------------------------------------------------------------------