ITP001 Axioms: ITP079^5.ax
%------------------------------------------------------------------------------
% File : ITP079^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 : Coder^2.ax [Gau20]
% : HL4079^5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 59 ( 0 unt; 15 typ; 0 def)
% Number of atoms : 1807 ( 18 equ; 0 cnn)
% Maximal formula atoms : 56 ( 30 avg)
% Number of connectives : 2418 ( 0 ~; 0 |; 8 &;2329 @)
% ( 1 <=>; 80 =>; 0 <=; 0 <~>)
% Maximal formula depth : 22 ( 13 avg;2329 nst)
% Number of types : 1 ( 0 usr)
% Number of type conns : 22 ( 22 >; 0 *; 0 +; 0 <<)
% Number of symbols : 69 ( 68 usr; 57 con; 0-4 aty)
% Number of variables : 131 ( 4 ^ 126 !; 1 ?; 131 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2ECoder_2Eblist__coder,type,
c_2ECoder_2Eblist__coder: del > del > del > $i ).
thf(mem_c_2ECoder_2Eblist__coder,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27b @ A_27c ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Ebnum__coder,type,
c_2ECoder_2Ebnum__coder: $i ).
thf(mem_c_2ECoder_2Ebnum__coder,axiom,
mem @ c_2ECoder_2Ebnum__coder @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Ebool__coder,type,
c_2ECoder_2Ebool__coder: $i ).
thf(mem_c_2ECoder_2Ebool__coder,axiom,
mem @ c_2ECoder_2Ebool__coder @ ( arr @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Edecode,type,
c_2ECoder_2Edecode: del > $i ).
thf(mem_c_2ECoder_2Edecode,axiom,
! [A_27a: del] : ( mem @ ( c_2ECoder_2Edecode @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( arr @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ A_27a ) ) ) ) ).
thf(tp_c_2ECoder_2Edecoder,type,
c_2ECoder_2Edecoder: del > $i ).
thf(mem_c_2ECoder_2Edecoder,axiom,
! [A_27a: del] : ( mem @ ( c_2ECoder_2Edecoder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ A_27a ) ) ) ).
thf(tp_c_2ECoder_2Edomain,type,
c_2ECoder_2Edomain: del > $i ).
thf(mem_c_2ECoder_2Edomain,axiom,
! [A_27a: del] : ( mem @ ( c_2ECoder_2Edomain @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ A_27a @ bool ) ) ) ).
thf(tp_c_2ECoder_2Eencoder,type,
c_2ECoder_2Eencoder: del > $i ).
thf(mem_c_2ECoder_2Eencoder,axiom,
! [A_27a: del] : ( mem @ ( c_2ECoder_2Eencoder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ).
thf(tp_c_2ECoder_2Elist__coder,type,
c_2ECoder_2Elist__coder: del > del > $i ).
thf(mem_c_2ECoder_2Elist__coder,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Enum__coder,type,
c_2ECoder_2Enum__coder: $i ).
thf(mem_c_2ECoder_2Enum__coder,axiom,
mem @ c_2ECoder_2Enum__coder @ ( arr @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Eoption__coder,type,
c_2ECoder_2Eoption__coder: del > del > $i ).
thf(mem_c_2ECoder_2Eoption__coder,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Eprod__coder,type,
c_2ECoder_2Eprod__coder: del > del > del > del > $i ).
thf(mem_c_2ECoder_2Eprod__coder,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : ( mem @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Esum__coder,type,
c_2ECoder_2Esum__coder: del > del > del > del > $i ).
thf(mem_c_2ECoder_2Esum__coder,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : ( mem @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Etree__coder,type,
c_2ECoder_2Etree__coder: del > del > $i ).
thf(mem_c_2ECoder_2Etree__coder,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Eunit__coder,type,
c_2ECoder_2Eunit__coder: $i ).
thf(mem_c_2ECoder_2Eunit__coder,axiom,
mem @ c_2ECoder_2Eunit__coder @ ( arr @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) ) ).
thf(tp_c_2ECoder_2Ewf__coder,type,
c_2ECoder_2Ewf__coder: del > $i ).
thf(mem_c_2ECoder_2Ewf__coder,axiom,
! [A_27a: del] : ( mem @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( arr @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ bool ) ) ).
thf(ax_thm_2ECoder_2Edecode__def,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1d: $i] :
( ( mem @ V1d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ! [V2l: tp__c_ty_2Elist_2Elist_o] :
( ( ap @ ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ V1d ) @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) )
= ( ap
@ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ A_27a ) @ ( ap @ V1d @ ( inj__c_ty_2Elist_2Elist_o @ V2l ) ) )
@ ( ap @ ( c_2Emin_2E_40 @ A_27a )
@ ( lam @ A_27a
@ ^ [V3x: $i] : ( ap @ V0p @ V3x ) ) ) )
@ ( lam @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) )
@ ^ [V4v: $i] :
( ap @ ( ap @ ( c_2Epair_2Epair__CASE @ A_27a @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ V4v )
@ ( lam @ A_27a
@ ^ [V5x: $i] :
( lam @ ( ty_2Elist_2Elist @ bool )
@ ^ [V6v2: $i] : V5x ) ) ) ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Ewf__coder__def,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) ) )
<=> ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ A_27a ) @ V0p ) )
& ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
& ( V2d
= ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Edomain__def,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= V0p ) ) ) ) ).
thf(ax_thm_2ECoder_2Eencoder__def,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Eencoder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= V1e ) ) ) ) ).
thf(ax_thm_2ECoder_2Edecoder__def,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ V2d ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Edecode__encode,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2x: $i] :
( ( mem @ V2x @ A_27a )
=> ( ( ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
& ( p @ ( ap @ V0p @ V2x ) ) )
=> ( ( ap @ ( ap @ ( ap @ ( c_2ECoder_2Edecode @ A_27a ) @ V0p ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V1e ) ) @ ( ap @ V1e @ V2x ) )
= V2x ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder,axiom,
! [A_27a: del,V0c: $i] :
( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
=> ! [V1x: $i] :
( ( mem @ V1x @ A_27a )
=> ( ( p @ ( ap @ ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ V0c ) @ V1x ) )
=> ( ( ap @ ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ V0c ) @ ( ap @ ( ap @ ( c_2ECoder_2Eencoder @ A_27a ) @ V0c ) @ V1x ) )
= V1x ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__closed,axiom,
! [A_27a: del,V0c: $i] :
( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
=> ! [V1l: tp__c_ty_2Elist_2Elist_o] : ( p @ ( ap @ ( ap @ ( c_2ECoder_2Edomain @ A_27a ) @ V0c ) @ ( ap @ ( ap @ ( c_2ECoder_2Edecoder @ A_27a ) @ V0c ) @ ( inj__c_ty_2Elist_2Elist_o @ V1l ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__op,axiom,
! [A_27a: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2f: $i] :
( ( mem @ V2f @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) )
=> ( ( ? [V3x: $i] :
( ( mem @ V3x @ A_27a )
& ( p @ ( ap @ V0p @ V3x ) ) )
& ( p @ ( ap @ ( ap @ ( c_2EEncode_2Ewf__encoder @ A_27a ) @ V0p ) @ V1e ) )
& ! [V4x: $i] :
( ( mem @ V4x @ A_27a )
=> ( ( p @ ( ap @ V0p @ V4x ) )
=> ( ( surj__c_ty_2Elist_2Elist_o @ ( ap @ V1e @ V4x ) )
= ( surj__c_ty_2Elist_2Elist_o @ ( ap @ V2f @ V4x ) ) ) ) ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ ( ap @ ( ap @ ( c_2EDecode_2Eenc2dec @ A_27a ) @ V0p ) @ V2f ) ) ) ) ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Eunit__coder__def,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
=> ( ( ap @ c_2ECoder_2Eunit__coder @ V0p )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Eone_2Eone @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Eone_2Eone @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__unit ) @ ( ap @ c_2EDecode_2Edecode__unit @ V0p ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__unit,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ ty_2Eone_2Eone @ bool ) )
=> ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ ty_2Eone_2Eone ) @ V0p ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Eone_2Eone ) @ ( ap @ c_2ECoder_2Eunit__coder @ V0p ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Ebool__coder__def,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ bool @ bool ) )
=> ( ( ap @ c_2ECoder_2Ebool__coder @ V0p )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ bool @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ bool @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ bool @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__bool ) @ ( ap @ c_2EDecode_2Edecode__bool @ V0p ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__bool,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ bool @ bool ) )
=> ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ bool ) @ V0p ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ bool ) @ ( ap @ c_2ECoder_2Ebool__coder @ V0p ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Eprod__coder__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
=> ! [V1e1: $i] :
( ( mem @ V1e1 @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d1: $i] :
( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ! [V3p2: $i] :
( ( mem @ V3p2 @ ( arr @ A_27b @ bool ) )
=> ! [V4e2: $i] :
( ( mem @ V4e2 @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V5d2: $i] :
( ( mem @ V5d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( ap @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p1 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e1 ) @ V2d1 ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V3p2 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V4e2 ) @ V5d2 ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__prod @ A_27c @ A_27d ) @ V1e1 ) @ V4e2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__prod @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__prod @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ V2d1 ) @ V5d2 ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__prod,axiom,
! [A_27a: del,A_27b: del,V0c1: $i] :
( ( mem @ V0c1 @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ! [V1c2: $i] :
( ( mem @ V1c2 @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c1 ) )
& ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27b ) @ V1c2 ) ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Eprod__coder @ A_27a @ A_27b @ A_27a @ A_27b ) @ V0c1 ) @ V1c2 ) ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Esum__coder__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0p1: $i] :
( ( mem @ V0p1 @ ( arr @ A_27a @ bool ) )
=> ! [V1e1: $i] :
( ( mem @ V1e1 @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d1: $i] :
( ( mem @ V2d1 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ! [V3p2: $i] :
( ( mem @ V3p2 @ ( arr @ A_27b @ bool ) )
=> ! [V4e2: $i] :
( ( mem @ V4e2 @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V5d2: $i] :
( ( mem @ V5d2 @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( ap @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27c @ A_27d ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p1 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27c @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e1 ) @ V2d1 ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V3p2 ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27d @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V4e2 ) @ V5d2 ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Esum_2Esum @ A_27c @ A_27d ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__sum @ A_27c @ A_27d ) @ V1e1 ) @ V4e2 ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__sum @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__sum @ A_27a @ A_27b ) @ V0p1 ) @ V3p2 ) ) @ V2d1 ) @ V5d2 ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__sum,axiom,
! [A_27a: del,A_27b: del,V0c1: $i] :
( ( mem @ V0c1 @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ! [V1c2: $i] :
( ( mem @ V1c2 @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c1 ) )
& ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27b ) @ V1c2 ) ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Esum_2Esum @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Esum__coder @ A_27a @ A_27b @ A_27a @ A_27b ) @ V0c1 ) @ V1c2 ) ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Eoption__coder__def,axiom,
! [A_27a: del,A_27b: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__option @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__option @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__option @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__option,axiom,
! [A_27a: del,V0c: $i] :
( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Eoption__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Elist__coder__def,axiom,
! [A_27a: del,A_27b: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__list @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__list @ A_27a ) @ ( ap @ ( c_2Elist_2EEVERY @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__list,axiom,
! [A_27a: del,V0c: $i] :
( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Elist__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Eblist__coder__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( ( mem @ V1p @ ( arr @ A_27a @ bool ) )
=> ! [V2e: $i] :
( ( mem @ V2e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) )
=> ! [V3d: $i] :
( ( mem @ V3d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( ap @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27b @ A_27c ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V1p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V2e ) @ V3d ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2Elist_2Elist @ A_27b ) @ ( ty_2Elist_2Elist @ A_27c ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( ap @ ( c_2EEncode_2Eencode__blist @ A_27c @ A_27b ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V2e ) ) @ ( ap @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__blist @ A_27a ) @ ( ap @ ( ap @ ( c_2EEncode_2Elift__blist @ A_27a ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V3d ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__blist,axiom,
! [A_27a: del,V0m: tp__ty_2Enum_2Enum,V1c: $i] :
( ( mem @ V1c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V1c ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2Elist_2Elist @ A_27a ) ) @ ( ap @ ( ap @ ( c_2ECoder_2Eblist__coder @ A_27a @ A_27a @ bool ) @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1c ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Enum__coder__def,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ( ap @ c_2ECoder_2Enum__coder @ V0p )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ c_2EEncode_2Eencode__num ) @ ( ap @ c_2EDecode_2Edecode__num @ V0p ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__num,axiom,
! [V0p: $i] :
( ( mem @ V0p @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ( p @ ( ap @ ( c_2EEncode_2Ewf__pred @ ty_2Enum_2Enum ) @ V0p ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Enum_2Enum ) @ ( ap @ c_2ECoder_2Enum__coder @ V0p ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Ebnum__coder__def,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ( ap @ ( ap @ c_2ECoder_2Ebnum__coder @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V1p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ c_2EEncode_2Eencode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ ( ap @ ( ap @ c_2EDecode_2Edecode__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__bnum,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1p: $i] :
( ( mem @ V1p @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ( p @ ( ap @ ( ap @ c_2EEncode_2Ewf__pred__bnum @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2ECoder_2Ebnum__coder @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1p ) ) ) ) ) ).
thf(ax_thm_2ECoder_2Etree__coder__def,axiom,
! [A_27a: del,A_27b: del,V0p: $i] :
( ( mem @ V0p @ ( arr @ A_27a @ bool ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) )
=> ! [V2d: $i] :
( ( mem @ V2d @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) )
=> ( ( ap @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ V0p ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ A_27b @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ V1e ) @ V2d ) ) )
= ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2EEncode_2Etree @ A_27a ) @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( arr @ ( ty_2EEncode_2Etree @ A_27b ) @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ ( ty_2EEncode_2Etree @ A_27a ) @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) @ ( ap @ ( c_2EEncode_2Eencode__tree @ A_27b ) @ V1e ) ) @ ( ap @ ( ap @ ( c_2EDecode_2Edecode__tree @ A_27a ) @ ( ap @ ( c_2EEncode_2Elift__tree @ A_27a ) @ V0p ) ) @ V2d ) ) ) ) ) ) ) ).
thf(conj_thm_2ECoder_2Ewf__coder__tree,axiom,
! [A_27a: del,V0c: $i] :
( ( mem @ V0c @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ bool ) @ ( ty_2Epair_2Eprod @ ( arr @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ bool ) @ ( ty_2Eoption_2Eoption @ ( ty_2Epair_2Eprod @ A_27a @ ( ty_2Elist_2Elist @ bool ) ) ) ) ) ) )
=> ( ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ A_27a ) @ V0c ) )
=> ( p @ ( ap @ ( c_2ECoder_2Ewf__coder @ ( ty_2EEncode_2Etree @ A_27a ) ) @ ( ap @ ( c_2ECoder_2Etree__coder @ A_27a @ A_27a ) @ V0c ) ) ) ) ) ).
%------------------------------------------------------------------------------