ITP001 Axioms: ITP034_5.ax


%------------------------------------------------------------------------------
% File     : ITP034_5 : TPTP v8.2.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    : errorStateMonad_2.ax [Gau20]
%          : HL4034_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  181 (  38 unt;  65 typ;   0 def)
%            Number of atoms       : 2351 ( 100 equ)
%            Maximal formula atoms :   11 (  12 avg)
%            Number of connectives :  143 (   1   ~;   0   |;   6   &)
%                                         (   0 <=>; 136  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   14 (   6 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       : 2093 (2093 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :  202 (  65   >; 137   *;   0   +;   0  <<)
%            Number of predicates  :   52 (  51 usr;  18 prp; 0-3 aty)
%            Number of functors    :   65 (  65 usr;   0 con; 1-6 aty)
%            Number of variables   :  470 ( 470   !;   0   ?; 470   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2EerrorStateMonad_2EBIND,type,
    c_2EerrorStateMonad_2EBIND: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EBIND,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27c),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))) ).

tff(tp_c_2EerrorStateMonad_2EES__APPLY,type,
    c_2EerrorStateMonad_2EES__APPLY: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EES__APPLY,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EES__APPLY(A_27a,A_27b,A_27c),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27c,A_27b),A_27a))),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))) ).

tff(tp_c_2EerrorStateMonad_2EES__CHOICE,type,
    c_2EerrorStateMonad_2EES__CHOICE: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EES__CHOICE,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EerrorStateMonad_2EES__CHOICE(A_27a,A_27b),arr(arr(A_27b,ty_2Eoption_2Eoption(A_27a)),arr(arr(A_27b,ty_2Eoption_2Eoption(A_27a)),arr(A_27b,ty_2Eoption_2Eoption(A_27a))))) ).

tff(tp_c_2EerrorStateMonad_2EES__FAIL,type,
    c_2EerrorStateMonad_2EES__FAIL: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EES__FAIL,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EerrorStateMonad_2EES__FAIL(A_27a,A_27b),arr(A_27b,ty_2Eoption_2Eoption(A_27a))) ).

tff(tp_c_2EerrorStateMonad_2EES__GUARD,type,
    c_2EerrorStateMonad_2EES__GUARD: del > $i ).

tff(mem_c_2EerrorStateMonad_2EES__GUARD,axiom,
    ! [A_27a: del] : mem(c_2EerrorStateMonad_2EES__GUARD(A_27a),arr(bool,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27a))))) ).

tff(tp_c_2EerrorStateMonad_2EES__LIFT2,type,
    c_2EerrorStateMonad_2EES__LIFT2: ( del * del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EES__LIFT2,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] : mem(c_2EerrorStateMonad_2EES__LIFT2(A_27a,A_27b,A_27c,A_27d),arr(arr(A_27c,arr(A_27d,A_27b)),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))))) ).

tff(tp_c_2EerrorStateMonad_2EEXT,type,
    c_2EerrorStateMonad_2EEXT: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EEXT,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EEXT(A_27a,A_27b,A_27c),arr(arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))) ).

tff(tp_c_2EerrorStateMonad_2EFOR,type,
    c_2EerrorStateMonad_2EFOR: del > $i ).

tff(mem_c_2EerrorStateMonad_2EFOR,axiom,
    ! [A_27state: del] : mem(c_2EerrorStateMonad_2EFOR(A_27state),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))) ).

tff(tp_c_2EerrorStateMonad_2EFOREACH,type,
    c_2EerrorStateMonad_2EFOREACH: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EFOREACH,axiom,
    ! [A_27a: del,A_27state: del] : mem(c_2EerrorStateMonad_2EFOREACH(A_27a,A_27state),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))) ).

tff(tp_c_2EerrorStateMonad_2EIGNORE__BIND,type,
    c_2EerrorStateMonad_2EIGNORE__BIND: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EIGNORE__BIND,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EIGNORE__BIND(A_27a,A_27b,A_27c),arr(arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27b))),arr(arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b))),arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))))) ).

tff(tp_c_2EerrorStateMonad_2EJOIN,type,
    c_2EerrorStateMonad_2EJOIN: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EJOIN,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EerrorStateMonad_2EJOIN(A_27a,A_27b),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) ).

tff(tp_c_2EerrorStateMonad_2EMCOMP,type,
    c_2EerrorStateMonad_2EMCOMP: ( del * del * del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EMCOMP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del] : mem(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,A_27c,A_27d,A_27e),arr(arr(A_27d,arr(A_27e,ty_2Eoption_2Eoption(A_27c))),arr(arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27e)))),arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))))) ).

tff(tp_c_2EerrorStateMonad_2EMMAP,type,
    c_2EerrorStateMonad_2EMMAP: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EMMAP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EMMAP(A_27a,A_27b,A_27c),arr(arr(A_27c,A_27b),arr(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))) ).

tff(tp_c_2EerrorStateMonad_2ENARROW,type,
    c_2EerrorStateMonad_2ENARROW: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2ENARROW,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del] : mem(c_2EerrorStateMonad_2ENARROW(A_27a,A_27b,A_27state),arr(A_27b,arr(arr(ty_2Epair_2Eprod(A_27b,A_27state),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state)))))) ).

tff(tp_c_2EerrorStateMonad_2EREAD,type,
    c_2EerrorStateMonad_2EREAD: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EREAD,axiom,
    ! [A_27a: del,A_27state: del] : mem(c_2EerrorStateMonad_2EREAD(A_27a,A_27state),arr(arr(A_27state,A_27a),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))))) ).

tff(tp_c_2EerrorStateMonad_2EUNIT,type,
    c_2EerrorStateMonad_2EUNIT: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EUNIT,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EerrorStateMonad_2EUNIT(A_27a,A_27b),arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) ).

tff(tp_c_2EerrorStateMonad_2EWIDEN,type,
    c_2EerrorStateMonad_2EWIDEN: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EWIDEN,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del] : mem(c_2EerrorStateMonad_2EWIDEN(A_27a,A_27b,A_27state),arr(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))),arr(ty_2Epair_2Eprod(A_27b,A_27state),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))))) ).

tff(tp_c_2EerrorStateMonad_2EWRITE,type,
    c_2EerrorStateMonad_2EWRITE: del > $i ).

tff(mem_c_2EerrorStateMonad_2EWRITE,axiom,
    ! [A_27state: del] : mem(c_2EerrorStateMonad_2EWRITE(A_27state),arr(arr(A_27state,A_27state),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))) ).

tff(tp_c_2EerrorStateMonad_2EmapM,type,
    c_2EerrorStateMonad_2EmapM: ( del * del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2EmapM,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2EerrorStateMonad_2EmapM(A_27a,A_27b,A_27c),arr(arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))),arr(ty_2Elist_2Elist(A_27a),arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27c),A_27b)))))) ).

tff(tp_c_2EerrorStateMonad_2Esequence,type,
    c_2EerrorStateMonad_2Esequence: ( del * del ) > $i ).

tff(mem_c_2EerrorStateMonad_2Esequence,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2EerrorStateMonad_2Esequence(A_27a,A_27b),arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27b),A_27a))))) ).

tff(lamtp_f536,type,
    f536: ( del * del * $i ) > $i ).

tff(lameq_f536,axiom,
    ! [A_27b: del,A_27a: del,V0x: $i] :
      ( mem(V0x,A_27b)
     => ! [V1s: $i] : ( ap(f536(A_27b,A_27a,V0x),V1s) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27b,A_27a)),ap(ap(c_2Epair_2E_2C(A_27b,A_27a),V0x),V1s)) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EUNIT__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( mem(V0x,A_27b)
     => ( ap(c_2EerrorStateMonad_2EUNIT(A_27a,A_27b),V0x) = f536(A_27b,A_27a,V0x) ) ) ).

tff(lamtp_f537,type,
    f537: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f537,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V4b: $i] :
      ( mem(V4b,A_27b)
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
         => ! [V5s: $i] : ( ap(f537(A_27c,A_27b,A_27a,V4b,V1f),V5s) = ap(ap(V1f,V4b),V5s) ) ) ) ).

tff(lamtp_f538,type,
    f538: ( del * del * del * $i ) > $i ).

tff(lameq_f538,axiom,
    ! [A_27a: del,A_27c: del,A_27b: del,V1f: $i] :
      ( mem(V1f,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
     => ! [V4b: $i] : ( ap(f538(A_27a,A_27c,A_27b,V1f),V4b) = f537(A_27c,A_27b,A_27a,V4b,V1f) ) ) ).

tff(lamtp_f539,type,
    f539: ( del * del * del * $i ) > $i ).

tff(lameq_f539,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V1f: $i] :
      ( mem(V1f,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
     => ! [V3v: $i] : ( ap(f539(A_27c,A_27b,A_27a,V1f),V3v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)),A_27b,A_27a),V3v),f538(A_27a,A_27c,A_27b,V1f)) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EBIND__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0g: $i] :
      ( mem(V0g,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
         => ! [V2s0: $i] :
              ( mem(V2s0,A_27a)
             => ( ap(ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27c),V0g),V1f),V2s0) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27b,A_27a),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),ap(V0g,V2s0)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(A_27c,A_27a))),f539(A_27c,A_27b,A_27a,V1f)) ) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EIGNORE__BIND__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27b))))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b))))
         => ( ap(ap(c_2EerrorStateMonad_2EIGNORE__BIND(A_27a,A_27b,A_27c),V0f),V1g) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27b,A_27a,A_27c),V0f),k(A_27a,V1g)) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EMMAP__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,A_27b))
     => ! [V1m: $i] :
          ( mem(V1m,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
         => ( ap(ap(c_2EerrorStateMonad_2EMMAP(A_27a,A_27b,A_27c),V0f),V1m) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27b),V1m),ap(ap(c_2Ecombin_2Eo(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27b),c_2EerrorStateMonad_2EUNIT(A_27a,A_27b)),V0f)) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EJOIN__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0z: $i] :
      ( mem(V0z,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a))))
     => ( ap(c_2EerrorStateMonad_2EJOIN(A_27a,A_27b),V0z) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27b),V0z),c_2Ecombin_2EI(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EEXT__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0g: $i] :
      ( mem(V0g,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ! [V1m: $i] :
          ( mem(V1m,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
         => ( ap(ap(c_2EerrorStateMonad_2EEXT(A_27a,A_27b,A_27c),V0g),V1m) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27b),V1m),V0g) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EMCOMP__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,V0g: $i] :
      ( mem(V0g,arr(A_27d,arr(A_27e,ty_2Eoption_2Eoption(A_27c))))
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27e)))))
         => ( ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,A_27c,A_27d,A_27e),V0g),V1f) = ap(c_2Epair_2ECURRY(A_27a,A_27b,ty_2Eoption_2Eoption(A_27c)),ap(ap(c_2Eoption_2EOPTION__MCOMP(A_27c,ty_2Epair_2Eprod(A_27d,A_27e),ty_2Epair_2Eprod(A_27a,A_27b)),ap(c_2Epair_2EUNCURRY(A_27d,A_27e,ty_2Eoption_2Eoption(A_27c)),V0g)),ap(c_2Epair_2EUNCURRY(A_27a,A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27e))),V1f))) ) ) ) ).

tff(lamtp_f540,type,
    f540: ( del * $i * $i * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f540,axiom,
    ! [A_27state: del,V1a: $i] :
      ( mem(V1a,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V0R: $i] :
          ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),bool)))
         => ! [V2j: tp__ty_2Enum_2Enum,V3i: tp__ty_2Enum_2Enum] : ( ap(f540(A_27state,V1a,V0R,V2j),inj__ty_2Enum_2Enum(V3i)) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V3i)),inj__ty_2Enum_2Enum(V2j)))),ap(ap(V0R,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V3i)),inj__ty_2Enum_2Enum(V2j))),ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V3i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V3i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V2j)),V1a))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),inj__ty_2Enum_2Enum(V3i)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V2j)),V1a)))) ) ) ) ).

tff(lamtp_f541,type,
    f541: ( del * $i * $i ) > $i ).

tff(lameq_f541,axiom,
    ! [A_27state: del,V0R: $i] :
      ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),bool)))
     => ! [V1a: $i] :
          ( mem(V1a,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
         => ! [V2j: tp__ty_2Enum_2Enum] : ( ap(f541(A_27state,V0R,V1a),inj__ty_2Enum_2Enum(V2j)) = ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f540(A_27state,V1a,V0R,V2j)) ) ) ) ).

tff(lamtp_f542,type,
    f542: ( del * $i ) > $i ).

tff(lameq_f542,axiom,
    ! [A_27state: del,V0R: $i] :
      ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),bool)))
     => ! [V1a: $i] : ( ap(f542(A_27state,V0R),V1a) = ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f541(A_27state,V0R,V1a)) ) ) ).

tff(lamtp_f543,type,
    f543: del > $i ).

tff(lameq_f543,axiom,
    ! [A_27state: del,V0R: $i] : ( ap(f543(A_27state),V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))))),V0R)),ap(c_2Ebool_2E_21(arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),f542(A_27state,V0R))) ) ).

tff(lamtp_f544,type,
    f544: ( del * tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f544,axiom,
    ! [A_27state: del,V6i: tp__ty_2Enum_2Enum,V8j: tp__ty_2Enum_2Enum,V4FOR: $i] :
      ( mem(V4FOR,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V9a: $i] : ( ap(f544(A_27state,V6i,V8j,V4FOR),V9a) = ap(c_2Ecombin_2EI(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(ap(ap(c_2Ebool_2ECOND(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V6i)),inj__ty_2Enum_2Enum(V8j))),ap(V9a,inj__ty_2Enum_2Enum(V6i))),ap(ap(c_2EerrorStateMonad_2EBIND(A_27state,ty_2Eone_2Eone,ty_2Eone_2Eone),ap(V9a,inj__ty_2Enum_2Enum(V6i))),k(ty_2Eone_2Eone,ap(V4FOR,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V6i)),inj__ty_2Enum_2Enum(V8j))),ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V6i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V6i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V8j)),V9a))))))) ) ) ).

tff(lamtp_f545,type,
    f545: ( del * tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f545,axiom,
    ! [A_27state: del,V6i: tp__ty_2Enum_2Enum,V4FOR: $i] :
      ( mem(V4FOR,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V8j: tp__ty_2Enum_2Enum] : ( ap(f545(A_27state,V6i,V4FOR),inj__ty_2Enum_2Enum(V8j)) = f544(A_27state,V6i,V8j,V4FOR) ) ) ).

tff(lamtp_f546,type,
    f546: ( del * $i * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f546,axiom,
    ! [A_27state: del,V4FOR: $i] :
      ( mem(V4FOR,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V6i: tp__ty_2Enum_2Enum,V7v1: $i] : ( ap(f546(A_27state,V4FOR,V6i),V7v1) = ap(ap(c_2Epair_2Epair__CASE(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))),ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V7v1),f545(A_27state,V6i,V4FOR)) ) ) ).

tff(lamtp_f547,type,
    f547: ( del * $i ) > $i ).

tff(lameq_f547,axiom,
    ! [A_27state: del,V4FOR: $i] :
      ( mem(V4FOR,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V6i: tp__ty_2Enum_2Enum] : ( ap(f547(A_27state,V4FOR),inj__ty_2Enum_2Enum(V6i)) = f546(A_27state,V4FOR,V6i) ) ) ).

tff(lamtp_f548,type,
    f548: ( del * $i ) > $i ).

tff(lameq_f548,axiom,
    ! [A_27state: del,V4FOR: $i] :
      ( mem(V4FOR,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V5a_27: $i] : ( ap(f548(A_27state,V4FOR),V5a_27) = ap(ap(c_2Epair_2Epair__CASE(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))),ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),V5a_27),f547(A_27state,V4FOR)) ) ) ).

tff(lamtp_f549,type,
    f549: del > $i ).

tff(lameq_f549,axiom,
    ! [A_27state: del,V4FOR: $i] : ( ap(f549(A_27state),V4FOR) = f548(A_27state,V4FOR) ) ).

tff(ax_thm_2EerrorStateMonad_2EFOR__primitive__def,axiom,
    ! [A_27state: del] : ( c_2EerrorStateMonad_2EFOR(A_27state) = ap(ap(c_2Erelation_2EWFREC(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(c_2Emin_2E_40(arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),bool))),f543(A_27state))),f549(A_27state)) ) ).

tff(conj_thm_2EerrorStateMonad_2EFOR__ind,axiom,
    ! [A_27state: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Epair_2Eprod(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),bool))
     => ( ! [V1i: tp__ty_2Enum_2Enum,V2j: tp__ty_2Enum_2Enum,V3a: $i] :
            ( mem(V3a,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
           => ( ( ( V1i != V2j )
               => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1i)),inj__ty_2Enum_2Enum(V2j))),ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V1i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V2j)),V3a)))) )
             => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),inj__ty_2Enum_2Enum(V1i)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V2j)),V3a)))) ) )
       => ! [V4v: tp__ty_2Enum_2Enum,V5v1: tp__ty_2Enum_2Enum,V6v2: $i] :
            ( mem(V6v2,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
           => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),inj__ty_2Enum_2Enum(V4v)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V5v1)),V6v2)))) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EFOR__def,axiom,
    ! [A_27state: del,V0j: tp__ty_2Enum_2Enum,V1i: tp__ty_2Enum_2Enum,V2a: $i] :
      ( mem(V2a,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ( ap(c_2EerrorStateMonad_2EFOR(A_27state),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),inj__ty_2Enum_2Enum(V1i)),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V0j)),V2a))) = ap(ap(ap(c_2Ebool_2ECOND(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V1i)),inj__ty_2Enum_2Enum(V0j))),ap(V2a,inj__ty_2Enum_2Enum(V1i))),ap(ap(c_2EerrorStateMonad_2EBIND(A_27state,ty_2Eone_2Eone,ty_2Eone_2Eone),ap(V2a,inj__ty_2Enum_2Enum(V1i))),k(ty_2Eone_2Eone,ap(c_2EerrorStateMonad_2EFOR(A_27state),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,ty_2Epair_2Eprod(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V1i)),inj__ty_2Enum_2Enum(V0j))),ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V1i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V1i)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(c_2Epair_2E_2C(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),inj__ty_2Enum_2Enum(V0j)),V2a)))))) ) ) ).

tff(lamtp_f550,type,
    f550: ( del * del * $i * $i * $i ) > $i ).

tff(lameq_f550,axiom,
    ! [A_27state: del,A_27a: del,V0R: $i] :
      ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),bool)))
     => ! [V1h: $i] :
          ( mem(V1h,A_27a)
         => ! [V2a: $i] :
              ( mem(V2a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
             => ! [V3t: $i] : ( ap(f550(A_27state,A_27a,V0R,V1h,V2a),V3t) = ap(ap(V0R,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V3t),V2a)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),ap(ap(c_2Elist_2ECONS(A_27a),V1h),V3t)),V2a)) ) ) ) ) ).

tff(lamtp_f551,type,
    f551: ( del * del * $i * $i ) > $i ).

tff(lameq_f551,axiom,
    ! [A_27state: del,A_27a: del,V1h: $i] :
      ( mem(V1h,A_27a)
     => ! [V0R: $i] :
          ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),bool)))
         => ! [V2a: $i] : ( ap(f551(A_27state,A_27a,V1h,V0R),V2a) = ap(c_2Ebool_2E_21(ty_2Elist_2Elist(A_27a)),f550(A_27state,A_27a,V0R,V1h,V2a)) ) ) ) ).

tff(lamtp_f552,type,
    f552: ( del * del * $i ) > $i ).

tff(lameq_f552,axiom,
    ! [A_27state: del,A_27a: del,V0R: $i] :
      ( mem(V0R,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),bool)))
     => ! [V1h: $i] : ( ap(f552(A_27state,A_27a,V0R),V1h) = ap(c_2Ebool_2E_21(arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),f551(A_27state,A_27a,V1h,V0R)) ) ) ).

tff(lamtp_f553,type,
    f553: ( del * del ) > $i ).

tff(lameq_f553,axiom,
    ! [A_27state: del,A_27a: del,V0R: $i] : ( ap(f553(A_27state,A_27a),V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))),V0R)),ap(c_2Ebool_2E_21(A_27a),f552(A_27state,A_27a,V0R))) ) ).

tff(lamtp_f554,type,
    f554: ( del * del * $i * $i * $i ) > $i ).

tff(lameq_f554,axiom,
    ! [A_27state: del,A_27a: del,V7a: $i] :
      ( mem(V7a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V8h: $i] :
          ( mem(V8h,A_27a)
         => ! [V4FOREACH: $i] :
              ( mem(V4FOREACH,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
             => ! [V9t: $i] : ( ap(f554(A_27state,A_27a,V7a,V8h,V4FOREACH),V9t) = ap(c_2Ecombin_2EI(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(ap(c_2EerrorStateMonad_2EBIND(A_27state,ty_2Eone_2Eone,ty_2Eone_2Eone),ap(V7a,V8h)),k(ty_2Eone_2Eone,ap(V4FOREACH,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V9t),V7a))))) ) ) ) ) ).

tff(lamtp_f555,type,
    f555: ( del * del * $i * $i ) > $i ).

tff(lameq_f555,axiom,
    ! [A_27state: del,A_27a: del,V7a: $i] :
      ( mem(V7a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V4FOREACH: $i] :
          ( mem(V4FOREACH,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
         => ! [V8h: $i] : ( ap(f555(A_27state,A_27a,V7a,V4FOREACH),V8h) = f554(A_27state,A_27a,V7a,V8h,V4FOREACH) ) ) ) ).

tff(lamtp_f556,type,
    f556: ( del * del * $i * $i ) > $i ).

tff(lameq_f556,axiom,
    ! [A_27state: del,A_27a: del,V4FOREACH: $i] :
      ( mem(V4FOREACH,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V6v: $i] :
          ( mem(V6v,ty_2Elist_2Elist(A_27a))
         => ! [V7a: $i] : ( ap(f556(A_27state,A_27a,V4FOREACH,V6v),V7a) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),V6v),ap(c_2Ecombin_2EI(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(c_2EerrorStateMonad_2EUNIT(A_27state,ty_2Eone_2Eone),inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone)))),f555(A_27state,A_27a,V7a,V4FOREACH)) ) ) ) ).

tff(lamtp_f557,type,
    f557: ( del * del * $i ) > $i ).

tff(lameq_f557,axiom,
    ! [A_27state: del,A_27a: del,V4FOREACH: $i] :
      ( mem(V4FOREACH,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V6v: $i] : ( ap(f557(A_27state,A_27a,V4FOREACH),V6v) = f556(A_27state,A_27a,V4FOREACH,V6v) ) ) ).

tff(lamtp_f558,type,
    f558: ( del * del * $i ) > $i ).

tff(lameq_f558,axiom,
    ! [A_27state: del,A_27a: del,V4FOREACH: $i] :
      ( mem(V4FOREACH,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
     => ! [V5a_27: $i] : ( ap(f558(A_27state,A_27a,V4FOREACH),V5a_27) = ap(ap(c_2Epair_2Epair__CASE(arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))),ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V5a_27),f557(A_27state,A_27a,V4FOREACH)) ) ) ).

tff(lamtp_f559,type,
    f559: ( del * del ) > $i ).

tff(lameq_f559,axiom,
    ! [A_27state: del,A_27a: del,V4FOREACH: $i] : ( ap(f559(A_27state,A_27a),V4FOREACH) = f558(A_27state,A_27a,V4FOREACH) ) ).

tff(ax_thm_2EerrorStateMonad_2EFOREACH__primitive__def,axiom,
    ! [A_27a: del,A_27state: del] : ( c_2EerrorStateMonad_2EFOREACH(A_27a,A_27state) = ap(ap(c_2Erelation_2EWFREC(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))),ap(c_2Emin_2E_40(arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),bool))),f553(A_27state,A_27a))),f559(A_27state,A_27a)) ) ).

tff(conj_thm_2EerrorStateMonad_2EFOREACH__ind,axiom,
    ! [A_27a: del,A_27state: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),bool))
     => ( ( ! [V1a: $i] :
              ( mem(V1a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
             => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),c_2Elist_2ENIL(A_27a)),V1a))) )
          & ! [V2h: $i] :
              ( mem(V2h,A_27a)
             => ! [V3t: $i] :
                  ( mem(V3t,ty_2Elist_2Elist(A_27a))
                 => ! [V4a: $i] :
                      ( mem(V4a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
                     => ( p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V3t),V4a)))
                       => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)),V4a))) ) ) ) ) )
       => ! [V5v: $i] :
            ( mem(V5v,ty_2Elist_2Elist(A_27a))
           => ! [V6v1: $i] :
                ( mem(V6v1,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
               => p(ap(V0P,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V5v),V6v1))) ) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EFOREACH__def,axiom,
    ! [A_27a: del,A_27state: del] :
      ( ! [V0a: $i] :
          ( mem(V0a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
         => ( ap(c_2EerrorStateMonad_2EFOREACH(A_27a,A_27state),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),c_2Elist_2ENIL(A_27a)),V0a)) = ap(c_2EerrorStateMonad_2EUNIT(A_27state,ty_2Eone_2Eone),inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone)) ) )
      & ! [V1t: $i] :
          ( mem(V1t,ty_2Elist_2Elist(A_27a))
         => ! [V2h: $i] :
              ( mem(V2h,A_27a)
             => ! [V3a: $i] :
                  ( mem(V3a,arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)))))
                 => ( ap(c_2EerrorStateMonad_2EFOREACH(A_27a,A_27state),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V1t)),V3a)) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27state,ty_2Eone_2Eone,ty_2Eone_2Eone),ap(V3a,V2h)),k(ty_2Eone_2Eone,ap(c_2EerrorStateMonad_2EFOREACH(A_27a,A_27state),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),arr(A_27a,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state))))),V1t),V3a)))) ) ) ) ) ) ).

tff(lamtp_f560,type,
    f560: ( del * del * $i ) > $i ).

tff(lameq_f560,axiom,
    ! [A_27a: del,A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,A_27a))
     => ! [V1s: $i] : ( ap(f560(A_27a,A_27state,V0f),V1s) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,A_27state)),ap(ap(c_2Epair_2E_2C(A_27a,A_27state),ap(V0f,V1s)),V1s)) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EREAD__def,axiom,
    ! [A_27a: del,A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,A_27a))
     => ( ap(c_2EerrorStateMonad_2EREAD(A_27a,A_27state),V0f) = f560(A_27a,A_27state,V0f) ) ) ).

tff(lamtp_f561,type,
    f561: ( del * $i ) > $i ).

tff(lameq_f561,axiom,
    ! [A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,A_27state))
     => ! [V1s: $i] : ( ap(f561(A_27state,V0f),V1s) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27state)),ap(ap(c_2Epair_2E_2C(ty_2Eone_2Eone,A_27state),inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone)),ap(V0f,V1s))) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EWRITE__def,axiom,
    ! [A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,A_27state))
     => ( ap(c_2EerrorStateMonad_2EWRITE(A_27state),V0f) = f561(A_27state,V0f) ) ) ).

tff(lamtp_f562,type,
    f562: ( del * del * del * $i ) > $i ).

tff(lameq_f562,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del,V4r: $i] :
      ( mem(V4r,A_27a)
     => ! [V5s1: $i] : ( ap(f562(A_27a,A_27b,A_27state,V4r),V5s1) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,A_27state)),ap(ap(c_2Epair_2E_2C(A_27a,A_27state),V4r),ap(c_2Epair_2ESND(A_27b,A_27state),V5s1))) ) ) ).

tff(lamtp_f563,type,
    f563: ( del * del * del ) > $i ).

tff(lameq_f563,axiom,
    ! [A_27state: del,A_27b: del,A_27a: del,V4r: $i] : ( ap(f563(A_27state,A_27b,A_27a),V4r) = f562(A_27a,A_27b,A_27state,V4r) ) ).

tff(lamtp_f564,type,
    f564: ( del * del * del ) > $i ).

tff(lameq_f564,axiom,
    ! [A_27state: del,A_27b: del,A_27a: del,V3v: $i] : ( ap(f564(A_27state,A_27b,A_27a),V3v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state)),A_27a,ty_2Epair_2Eprod(A_27b,A_27state)),V3v),f563(A_27state,A_27b,A_27a)) ) ).

tff(lamtp_f565,type,
    f565: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f565,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del,V1f: $i] :
      ( mem(V1f,arr(ty_2Epair_2Eprod(A_27b,A_27state),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))))
     => ! [V0v: $i] :
          ( mem(V0v,A_27b)
         => ! [V2s: $i] : ( ap(f565(A_27a,A_27b,A_27state,V1f,V0v),V2s) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))),ap(V1f,ap(ap(c_2Epair_2E_2C(A_27b,A_27state),V0v),V2s))),c_2Eoption_2ENONE(ty_2Epair_2Eprod(A_27a,A_27state))),f564(A_27state,A_27b,A_27a)) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2ENARROW__def,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del,V0v: $i] :
      ( mem(V0v,A_27b)
     => ! [V1f: $i] :
          ( mem(V1f,arr(ty_2Epair_2Eprod(A_27b,A_27state),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))))
         => ( ap(ap(c_2EerrorStateMonad_2ENARROW(A_27a,A_27b,A_27state),V0v),V1f) = f565(A_27a,A_27b,A_27state,V1f,V0v) ) ) ) ).

tff(lamtp_f566,type,
    f566: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f566,axiom,
    ! [A_27b: del,A_27a: del,A_27state: del,V4r: $i] :
      ( mem(V4r,A_27a)
     => ! [V1s1: $i] :
          ( mem(V1s1,A_27b)
         => ! [V5s3: $i] : ( ap(f566(A_27b,A_27a,A_27state,V4r,V1s1),V5s3) = ap(c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state))),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)),V4r),ap(ap(c_2Epair_2E_2C(A_27b,A_27state),V1s1),V5s3))) ) ) ) ).

tff(lamtp_f567,type,
    f567: ( del * del * del * $i ) > $i ).

tff(lameq_f567,axiom,
    ! [A_27state: del,A_27b: del,A_27a: del,V1s1: $i] :
      ( mem(V1s1,A_27b)
     => ! [V4r: $i] : ( ap(f567(A_27state,A_27b,A_27a,V1s1),V4r) = f566(A_27b,A_27a,A_27state,V4r,V1s1) ) ) ).

tff(lamtp_f568,type,
    f568: ( del * del * del * $i ) > $i ).

tff(lameq_f568,axiom,
    ! [A_27b: del,A_27a: del,A_27state: del,V1s1: $i] :
      ( mem(V1s1,A_27b)
     => ! [V3v: $i] : ( ap(f568(A_27b,A_27a,A_27state,V1s1),V3v) = ap(ap(c_2Epair_2Epair__CASE(ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state))),A_27a,A_27state),V3v),f567(A_27state,A_27b,A_27a,V1s1)) ) ) ).

tff(lamtp_f569,type,
    f569: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f569,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))))
     => ! [V1s1: $i] :
          ( mem(V1s1,A_27b)
         => ! [V2s2: $i] : ( ap(f569(A_27a,A_27b,A_27state,V0f,V1s1),V2s2) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Epair_2Eprod(A_27a,A_27state),ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))),ap(V0f,V2s2)),c_2Eoption_2ENONE(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))),f568(A_27b,A_27a,A_27state,V1s1)) ) ) ) ).

tff(lamtp_f570,type,
    f570: ( del * del * del * $i ) > $i ).

tff(lameq_f570,axiom,
    ! [A_27state: del,A_27a: del,A_27b: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))))
     => ! [V1s1: $i] : ( ap(f570(A_27state,A_27a,A_27b,V0f),V1s1) = f569(A_27a,A_27b,A_27state,V0f,V1s1) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EWIDEN__def,axiom,
    ! [A_27a: del,A_27b: del,A_27state: del,V0f: $i] :
      ( mem(V0f,arr(A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27state))))
     => ( ap(c_2EerrorStateMonad_2EWIDEN(A_27a,A_27b,A_27state),V0f) = ap(c_2Epair_2EUNCURRY(A_27b,A_27state,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(A_27b,A_27state)))),f570(A_27state,A_27a,A_27b,V0f)) ) ) ).

tff(lamtp_f571,type,
    f571: ( del * del * $i ) > $i ).

tff(lameq_f571,axiom,
    ! [A_27a: del,A_27b: del,V2x: $i] :
      ( mem(V2x,A_27b)
     => ! [V3xs: $i] : ( ap(f571(A_27a,A_27b,V2x),V3xs) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Elist_2Elist(A_27b)),ap(ap(c_2Elist_2ECONS(A_27b),V2x),V3xs)) ) ) ).

tff(lamtp_f572,type,
    f572: ( del * del * $i ) > $i ).

tff(lameq_f572,axiom,
    ! [A_27a: del,A_27b: del,V1ms: $i] :
      ( mem(V1ms,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27b),A_27a))))
     => ! [V2x: $i] : ( ap(f572(A_27a,A_27b,V1ms),V2x) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27b)),V1ms),f571(A_27a,A_27b,V2x)) ) ) ).

tff(lamtp_f573,type,
    f573: ( del * del * $i ) > $i ).

tff(lameq_f573,axiom,
    ! [A_27a: del,A_27b: del,V0m: $i] :
      ( mem(V0m,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ! [V1ms: $i] : ( ap(f573(A_27a,A_27b,V0m),V1ms) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,ty_2Elist_2Elist(A_27b)),V0m),f572(A_27a,A_27b,V1ms)) ) ) ).

tff(lamtp_f574,type,
    f574: ( del * del ) > $i ).

tff(lameq_f574,axiom,
    ! [A_27a: del,A_27b: del,V0m: $i] : ( ap(f574(A_27a,A_27b),V0m) = f573(A_27a,A_27b,V0m) ) ).

tff(ax_thm_2EerrorStateMonad_2Esequence__def,axiom,
    ! [A_27a: del,A_27b: del] : ( c_2EerrorStateMonad_2Esequence(A_27a,A_27b) = ap(ap(c_2Elist_2EFOLDR(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27b),A_27a)))),f574(A_27a,A_27b)),ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Elist_2Elist(A_27b)),c_2Elist_2ENIL(A_27b))) ) ).

tff(ax_thm_2EerrorStateMonad_2EmapM__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))))
     => ( ap(c_2EerrorStateMonad_2EmapM(A_27a,A_27b,A_27c),V0f) = ap(ap(c_2Ecombin_2Eo(ty_2Elist_2Elist(A_27a),arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27c),A_27b))),ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b))))),c_2EerrorStateMonad_2Esequence(A_27b,A_27c)),ap(c_2Elist_2EMAP(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))),V0f)) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EBIND__LEFT__UNIT,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0k: $i] :
      ( mem(V0k,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27b,A_27a,A_27c),ap(c_2EerrorStateMonad_2EUNIT(A_27b,A_27a),V1x)),V0k) = ap(V0k,V1x) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EMCOMP__THM,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0g: $i] :
      ( mem(V0g,arr(A_27d,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b)))))
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27b)))))
         => ( ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,ty_2Epair_2Eprod(A_27c,A_27b),A_27d,A_27b),V0g),V1f) = ap(ap(c_2Ecombin_2Eo(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27b))),arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27b)))),ap(c_2EerrorStateMonad_2EEXT(A_27b,A_27c,A_27d),V0g)),V1f) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EMCOMP__ASSOC,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,A_27f: del,A_27g: del,V0f: $i] :
      ( mem(V0f,arr(A_27d,arr(A_27e,ty_2Eoption_2Eoption(A_27c))))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27f,arr(A_27g,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27e)))))
         => ! [V2h: $i] :
              ( mem(V2h,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27f,A_27g)))))
             => ( ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,A_27c,A_27d,A_27e),V0f),ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,ty_2Epair_2Eprod(A_27d,A_27e),A_27f,A_27g),V1g),V2h)) = ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,A_27c,A_27f,A_27g),ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27f,A_27g,A_27c,A_27d,A_27e),V0f),V1g)),V2h) ) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EUNIT__CURRY,axiom,
    ! [A_27a: del,A_27b: del] : ( c_2EerrorStateMonad_2EUNIT(A_27b,A_27a) = ap(c_2Epair_2ECURRY(A_27a,A_27b,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27b))),c_2Eoption_2ESOME(ty_2Epair_2Eprod(A_27a,A_27b))) ) ).

tff(conj_thm_2EerrorStateMonad_2EMCOMP__ID,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,A_27f: del,A_27g: del,V0g: $i] :
      ( mem(V0g,arr(A_27a,arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
     => ! [V1f: $i] :
          ( mem(V1f,arr(A_27d,arr(A_27e,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27f,A_27g)))))
         => ( ( ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27a,A_27b,A_27c,A_27a,A_27b),V0g),c_2EerrorStateMonad_2EUNIT(A_27b,A_27a)) = V0g )
            & ( ap(ap(c_2EerrorStateMonad_2EMCOMP(A_27d,A_27e,ty_2Epair_2Eprod(A_27f,A_27g),A_27f,A_27g),c_2EerrorStateMonad_2EUNIT(A_27g,A_27f)),V1f) = V1f ) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EBIND__RIGHT__UNIT,axiom,
    ! [A_27a: del,A_27b: del,V0k: $i] :
      ( mem(V0k,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27b),V0k),c_2EerrorStateMonad_2EUNIT(A_27a,A_27b)) = V0k ) ) ).

tff(lamtp_f575,type,
    f575: ( del * del * del * del * $i * $i ) > $i ).

tff(lameq_f575,axiom,
    ! [A_27c: del,A_27d: del,A_27a: del,A_27b: del,V1m: $i] :
      ( mem(V1m,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
     => ! [V2n: $i] :
          ( mem(V2n,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27a)))))
         => ! [V3a: $i] : ( ap(f575(A_27c,A_27d,A_27a,A_27b,V1m,V2n),V3a) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27d),ap(V1m,V3a)),V2n) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EBIND__ASSOC,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0k: $i] :
      ( mem(V0k,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ! [V1m: $i] :
          ( mem(V1m,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
         => ! [V2n: $i] :
              ( mem(V2n,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27a)))))
             => ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27d),V0k),f575(A_27c,A_27d,A_27a,A_27b,V1m,V2n)) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27d),ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27c),V0k),V1m)),V2n) ) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EMMAP__ID,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(c_2EerrorStateMonad_2EMMAP(A_27a,A_27b,A_27b),c_2Ecombin_2EI(A_27b)) = c_2Ecombin_2EI(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))) ) ).

tff(conj_thm_2EerrorStateMonad_2EMMAP__COMP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27b))
     => ! [V1g: $i] :
          ( mem(V1g,arr(A_27c,A_27a))
         => ( ap(c_2EerrorStateMonad_2EMMAP(A_27d,A_27b,A_27c),ap(ap(c_2Ecombin_2Eo(A_27c,A_27b,A_27a),V0f),V1g)) = ap(ap(c_2Ecombin_2Eo(arr(A_27d,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27d))),arr(A_27d,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27d))),arr(A_27d,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27d)))),ap(c_2EerrorStateMonad_2EMMAP(A_27d,A_27b,A_27a),V0f)),ap(c_2EerrorStateMonad_2EMMAP(A_27d,A_27a,A_27c),V1g)) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EMMAP__UNIT,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27b))
     => ( ap(ap(c_2Ecombin_2Eo(A_27a,arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27c)))),ap(c_2EerrorStateMonad_2EMMAP(A_27c,A_27b,A_27a),V0f)),c_2EerrorStateMonad_2EUNIT(A_27c,A_27a)) = ap(ap(c_2Ecombin_2Eo(A_27a,arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),A_27b),c_2EerrorStateMonad_2EUNIT(A_27c,A_27b)),V0f) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EMMAP__JOIN,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27a,A_27b))
     => ( ap(ap(c_2Ecombin_2Eo(arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27c))),A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27c)))),ap(c_2EerrorStateMonad_2EMMAP(A_27c,A_27b,A_27a),V0f)),c_2EerrorStateMonad_2EJOIN(A_27c,A_27a)) = ap(ap(c_2Ecombin_2Eo(arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27c))),A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),A_27c)))),c_2EerrorStateMonad_2EJOIN(A_27c,A_27b)),ap(c_2EerrorStateMonad_2EMMAP(A_27c,arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27c))),arr(A_27c,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27a,A_27c)))),ap(c_2EerrorStateMonad_2EMMAP(A_27c,A_27b,A_27a),V0f))) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EJOIN__UNIT,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(ap(c_2Ecombin_2Eo(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a)))),c_2EerrorStateMonad_2EJOIN(A_27a,A_27b)),c_2EerrorStateMonad_2EUNIT(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) = c_2Ecombin_2EI(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))) ) ).

tff(conj_thm_2EerrorStateMonad_2EJOIN__MMAP__UNIT,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(ap(c_2Ecombin_2Eo(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a)))),c_2EerrorStateMonad_2EJOIN(A_27a,A_27b)),ap(c_2EerrorStateMonad_2EMMAP(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27b),c_2EerrorStateMonad_2EUNIT(A_27a,A_27b))) = c_2Ecombin_2EI(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))) ) ).

tff(conj_thm_2EerrorStateMonad_2EJOIN__MAP__JOIN,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(ap(c_2Ecombin_2Eo(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a))),A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a)))),c_2EerrorStateMonad_2EJOIN(A_27a,A_27b)),ap(c_2EerrorStateMonad_2EMMAP(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a)))),c_2EerrorStateMonad_2EJOIN(A_27a,A_27b))) = ap(ap(c_2Ecombin_2Eo(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a))),A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))),A_27a)))),c_2EerrorStateMonad_2EJOIN(A_27a,A_27b)),c_2EerrorStateMonad_2EJOIN(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) ) ).

tff(conj_thm_2EerrorStateMonad_2EJOIN__MAP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0k: $i] :
      ( mem(V0k,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ! [V1m: $i] :
          ( mem(V1m,arr(A_27b,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a)))))
         => ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,A_27c),V0k),V1m) = ap(c_2EerrorStateMonad_2EJOIN(A_27a,A_27c),ap(ap(c_2EerrorStateMonad_2EMMAP(A_27a,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))),A_27b),V1m),V0k)) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2Esequence__nil,axiom,
    ! [A_27a: del,A_27b: del] : ( ap(c_2EerrorStateMonad_2Esequence(A_27a,A_27b),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Elist_2Elist(A_27b)),c_2Elist_2ENIL(A_27b)) ) ).

tff(conj_thm_2EerrorStateMonad_2EmapM__nil,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ( ap(ap(c_2EerrorStateMonad_2EmapM(A_27c,A_27a,A_27b),V0f),c_2Elist_2ENIL(A_27c)) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Elist_2Elist(A_27b)),c_2Elist_2ENIL(A_27b)) ) ) ).

tff(lamtp_f576,type,
    f576: ( del * del * $i ) > $i ).

tff(lameq_f576,axiom,
    ! [A_27a: del,A_27b: del,V3y: $i] :
      ( mem(V3y,A_27b)
     => ! [V4ys: $i] : ( ap(f576(A_27a,A_27b,V3y),V4ys) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Elist_2Elist(A_27b)),ap(ap(c_2Elist_2ECONS(A_27b),V3y),V4ys)) ) ) ).

tff(lamtp_f577,type,
    f577: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f577,axiom,
    ! [A_27a: del,A_27c: del,A_27b: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ! [V2xs: $i] :
          ( mem(V2xs,ty_2Elist_2Elist(A_27c))
         => ! [V3y: $i] : ( ap(f577(A_27a,A_27c,A_27b,V0f,V2xs),V3y) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,ty_2Elist_2Elist(A_27b),ty_2Elist_2Elist(A_27b)),ap(ap(c_2EerrorStateMonad_2EmapM(A_27c,A_27a,A_27b),V0f),V2xs)),f576(A_27a,A_27b,V3y)) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EmapM__cons,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ! [V1x: $i] :
          ( mem(V1x,A_27c)
         => ! [V2xs: $i] :
              ( mem(V2xs,ty_2Elist_2Elist(A_27c))
             => ( ap(ap(c_2EerrorStateMonad_2EmapM(A_27c,A_27a,A_27b),V0f),ap(ap(c_2Elist_2ECONS(A_27c),V1x),V2xs)) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27b,ty_2Elist_2Elist(A_27b)),ap(V0f,V1x)),f577(A_27a,A_27c,A_27b,V0f,V2xs)) ) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EES__FAIL__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0s: $i] :
      ( mem(V0s,A_27b)
     => ( ap(c_2EerrorStateMonad_2EES__FAIL(A_27a,A_27b),V0s) = c_2Eoption_2ENONE(A_27a) ) ) ).

tff(lamtp_f578,type,
    f578: del > $i ).

tff(lameq_f578,axiom,
    ! [A_27a: del,V3v1: $i] : ( ap(f578(A_27a),V3v1) = ap(c_2Eoption_2ESOME(A_27a),V3v1) ) ).

tff(ax_thm_2EerrorStateMonad_2EES__CHOICE__DEF,axiom,
    ! [A_27a: del,A_27b: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
     => ! [V1yM: $i] :
          ( mem(V1yM,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
         => ! [V2s: $i] :
              ( mem(V2s,A_27b)
             => ( ap(ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27a,A_27b),V0xM),V1yM),V2s) = ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27a,ty_2Eoption_2Eoption(A_27a)),ap(V0xM,V2s)),ap(V1yM,V2s)),f578(A_27a)) ) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EES__GUARD__DEF,axiom,
    ! [A_27a: del,V0b: tp__o] : ( ap(c_2EerrorStateMonad_2EES__GUARD(A_27a),inj__o(V0b)) = ap(ap(ap(c_2Ebool_2ECOND(arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27a)))),inj__o(V0b)),ap(c_2EerrorStateMonad_2EUNIT(A_27a,ty_2Eone_2Eone),inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone))),c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(ty_2Eone_2Eone,A_27a),A_27a)) ) ).

tff(conj_thm_2EerrorStateMonad_2EES__CHOICE__ASSOC,axiom,
    ! [A_27a: del,A_27b: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
     => ! [V1yM: $i] :
          ( mem(V1yM,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
         => ! [V2zM: $i] :
              ( mem(V2zM,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
             => ( ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),V0xM),ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),V1yM),V2zM)) = ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),V0xM),V1yM)),V2zM) ) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EES__CHOICE__FAIL__LID,axiom,
    ! [A_27a: del,A_27b: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
     => ( ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),c_2EerrorStateMonad_2EES__FAIL(A_27b,A_27a)),V0xM) = V0xM ) ) ).

tff(conj_thm_2EerrorStateMonad_2EES__CHOICE__FAIL__RID,axiom,
    ! [A_27a: del,A_27b: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
     => ( ap(ap(c_2EerrorStateMonad_2EES__CHOICE(A_27b,A_27a),V0xM),c_2EerrorStateMonad_2EES__FAIL(A_27b,A_27a)) = V0xM ) ) ).

tff(conj_thm_2EerrorStateMonad_2EBIND__FAIL__L,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0fM: $i] :
      ( mem(V0fM,arr(A_27c,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27b),c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27c,A_27a),A_27a)),V0fM) = c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27b,A_27a),A_27a) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EBIND__ESGUARD,axiom,
    ! [A_27a: del,A_27b: del,V0fM: $i] :
      ( mem(V0fM,arr(ty_2Eone_2Eone,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a)))))
     => ( ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,ty_2Eone_2Eone,A_27b),ap(c_2EerrorStateMonad_2EES__GUARD(A_27a),inj__o(fo__c_2Ebool_2EF))),V0fM) = c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27b,A_27a),A_27a) )
        & ( ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,ty_2Eone_2Eone,A_27b),ap(c_2EerrorStateMonad_2EES__GUARD(A_27a),inj__o(fo__c_2Ebool_2ET))),V0fM) = ap(V0fM,inj__ty_2Eone_2Eone(fo__c_2Eone_2Eone)) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EIGNORE__BIND__ESGUARD,axiom,
    ! [A_27a: del,A_27b: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ( ( ap(ap(c_2EerrorStateMonad_2EIGNORE__BIND(ty_2Eone_2Eone,A_27a,A_27b),ap(c_2EerrorStateMonad_2EES__GUARD(A_27a),inj__o(fo__c_2Ebool_2EF))),V0xM) = c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27b,A_27a),A_27a) )
        & ( ap(ap(c_2EerrorStateMonad_2EIGNORE__BIND(ty_2Eone_2Eone,A_27a,A_27b),ap(c_2EerrorStateMonad_2EES__GUARD(A_27a),inj__o(fo__c_2Ebool_2ET))),V0xM) = V0xM ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EIGNORE__BIND__FAIL,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0xM: $i] :
      ( mem(V0xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27b,A_27a))))
     => ( ( ap(ap(c_2EerrorStateMonad_2EIGNORE__BIND(A_27c,A_27a,A_27b),c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27c,A_27a),A_27a)),V0xM) = c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27b,A_27a),A_27a) )
        & ( ap(ap(c_2EerrorStateMonad_2EIGNORE__BIND(A_27b,A_27a,A_27d),V0xM),c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27d,A_27a),A_27a)) = c_2EerrorStateMonad_2EES__FAIL(ty_2Epair_2Eprod(A_27d,A_27a),A_27a) ) ) ) ).

tff(lamtp_f579,type,
    f579: ( del * del * del * $i ) > $i ).

tff(lameq_f579,axiom,
    ! [A_27b: del,A_27a: del,A_27c: del,V2f: $i] :
      ( mem(V2f,arr(A_27c,A_27b))
     => ! [V3x: $i] : ( ap(f579(A_27b,A_27a,A_27c,V2f),V3x) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,A_27b),ap(V2f,V3x)) ) ) ).

tff(lamtp_f580,type,
    f580: ( del * del * del * $i ) > $i ).

tff(lameq_f580,axiom,
    ! [A_27a: del,A_27c: del,A_27b: del,V1xM: $i] :
      ( mem(V1xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
     => ! [V2f: $i] : ( ap(f580(A_27a,A_27c,A_27b,V1xM),V2f) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,A_27c,A_27b),V1xM),f579(A_27b,A_27a,A_27c,V2f)) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EES__APPLY__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0fM: $i] :
      ( mem(V0fM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(arr(A_27c,A_27b),A_27a))))
     => ! [V1xM: $i] :
          ( mem(V1xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
         => ( ap(ap(c_2EerrorStateMonad_2EES__APPLY(A_27a,A_27b,A_27c),V0fM),V1xM) = ap(ap(c_2EerrorStateMonad_2EBIND(A_27a,arr(A_27c,A_27b),A_27b),V0fM),f580(A_27a,A_27c,A_27b,V1xM)) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EAPPLY__UNIT,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,A_27b))
     => ! [V1xM: $i] :
          ( mem(V1xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
         => ( ap(ap(c_2EerrorStateMonad_2EES__APPLY(A_27a,A_27b,A_27c),ap(c_2EerrorStateMonad_2EUNIT(A_27a,arr(A_27c,A_27b)),V0f)),V1xM) = ap(ap(c_2EerrorStateMonad_2EMMAP(A_27a,A_27b,A_27c),V0f),V1xM) ) ) ) ).

tff(conj_thm_2EerrorStateMonad_2EAPPLY__UNIT__UNIT,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,A_27b))
     => ! [V1x: $i] :
          ( mem(V1x,A_27c)
         => ( ap(ap(c_2EerrorStateMonad_2EES__APPLY(A_27a,A_27b,A_27c),ap(c_2EerrorStateMonad_2EUNIT(A_27a,arr(A_27c,A_27b)),V0f)),ap(c_2EerrorStateMonad_2EUNIT(A_27a,A_27c),V1x)) = ap(c_2EerrorStateMonad_2EUNIT(A_27a,A_27b),ap(V0f,V1x)) ) ) ) ).

tff(ax_thm_2EerrorStateMonad_2EES__LIFT2__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
      ( mem(V0f,arr(A_27c,arr(A_27d,A_27b)))
     => ! [V1xM: $i] :
          ( mem(V1xM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27c,A_27a))))
         => ! [V2yM: $i] :
              ( mem(V2yM,arr(A_27a,ty_2Eoption_2Eoption(ty_2Epair_2Eprod(A_27d,A_27a))))
             => ( ap(ap(ap(c_2EerrorStateMonad_2EES__LIFT2(A_27a,A_27b,A_27c,A_27d),V0f),V1xM),V2yM) = ap(ap(c_2EerrorStateMonad_2EES__APPLY(A_27a,A_27b,A_27d),ap(ap(c_2EerrorStateMonad_2EMMAP(A_27a,arr(A_27d,A_27b),A_27c),V0f),V1xM)),V2yM) ) ) ) ) ).

%------------------------------------------------------------------------------