ITP001 Axioms: ITP034_5.ax
%------------------------------------------------------------------------------
% File : ITP034_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 : 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) ) ) ) ) ).
%------------------------------------------------------------------------------