ITP001 Axioms: ITP068^7.ax
%------------------------------------------------------------------------------
% File : ITP068^7 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 syntactic export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : path.ax [Gau19]
% : HL4068^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 255 ( 43 unt; 98 typ; 0 def)
% Number of atoms : 470 ( 188 equ; 16 cnn)
% Maximal formula atoms : 12 ( 1 avg)
% Number of connectives : 4043 ( 16 ~; 11 |; 118 &;3772 @)
% ( 47 <=>; 79 =>; 0 <=; 0 <~>)
% Maximal formula depth : 24 ( 10 avg;3772 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 381 ( 381 >; 0 *; 0 +; 0 <<)
% Number of symbols : 98 ( 96 usr; 5 con; 0-10 aty)
% Number of variables : 1039 ( 27 ^ 839 !; 41 ?;1039 :)
% ( 132 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Elist_2Elist,type,
tyop_2Elist_2Elist: $tType > $tType ).
thf(tyop_2Ellist_2Ellist,type,
tyop_2Ellist_2Ellist: $tType > $tType ).
thf(tyop_2Emin_2Ebool,type,
tyop_2Emin_2Ebool: $tType ).
thf(tyop_2Emin_2Efun,type,
tyop_2Emin_2Efun: $tType > $tType > $tType ).
thf(tyop_2Enum_2Enum,type,
tyop_2Enum_2Enum: $tType ).
thf(tyop_2Eoption_2Eoption,type,
tyop_2Eoption_2Eoption: $tType > $tType ).
thf(tyop_2Epair_2Eprod,type,
tyop_2Epair_2Eprod: $tType > $tType > $tType ).
thf(tyop_2Epath_2Epath,type,
tyop_2Epath_2Epath: $tType > $tType > $tType ).
thf(c_2Ebool_2E_21,type,
c_2Ebool_2E_21:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Epair_2E_23_23,type,
c_2Epair_2E_23_23:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] : ( ( A_27a > A_27c ) > ( A_27b > A_27d ) > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > ( tyop_2Epair_2Eprod @ A_27c @ A_27d ) ) ).
thf(c_2Earithmetic_2E_2B,type,
c_2Earithmetic_2E_2B: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Epair_2E_2C,type,
c_2Epair_2E_2C:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) ).
thf(c_2Earithmetic_2E_2D,type,
c_2Earithmetic_2E_2D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_2F_5C,type,
c_2Ebool_2E_2F_5C: $o > $o > $o ).
thf(c_2Enum_2E0,type,
c_2Enum_2E0: tyop_2Enum_2Enum ).
thf(c_2Eprim__rec_2E_3C,type,
c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Earithmetic_2E_3C_3D,type,
c_2Earithmetic_2E_3C_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Emin_2E_3D,type,
c_2Emin_2E_3D:
!>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).
thf(c_2Emin_2E_3D_3D_3E,type,
c_2Emin_2E_3D_3D_3E: $o > $o > $o ).
thf(c_2Ebool_2E_3F,type,
c_2Ebool_2E_3F:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Elist_2EAPPEND,type,
c_2Elist_2EAPPEND:
!>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).
thf(c_2Earithmetic_2EBIT1,type,
c_2Earithmetic_2EBIT1: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EBIT2,type,
c_2Earithmetic_2EBIT2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Elist_2ECONS,type,
c_2Elist_2ECONS:
!>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).
thf(c_2Elist_2EEL,type,
c_2Elist_2EEL:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > A_27a ) ).
thf(c_2Epred__set_2EEMPTY,type,
c_2Epred__set_2EEMPTY:
!>[A_27a: $tType] : ( A_27a > $o ) ).
thf(c_2Ebool_2EF,type,
c_2Ebool_2EF: $o ).
thf(c_2Epair_2EFST,type,
c_2Epair_2EFST:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27a ) ).
thf(c_2Epred__set_2EGSPEC,type,
c_2Epred__set_2EGSPEC:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > ( tyop_2Epair_2Eprod @ A_27a @ $o ) ) > A_27a > $o ) ).
thf(c_2Epred__set_2EIMAGE,type,
c_2Epred__set_2EIMAGE:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( A_27a > $o ) > A_27b > $o ) ).
thf(c_2Ebool_2EIN,type,
c_2Ebool_2EIN:
!>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > $o ) ).
thf(c_2Epred__set_2EINSERT,type,
c_2Epred__set_2EINSERT:
!>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Ellist_2ELAPPEND,type,
c_2Ellist_2ELAPPEND:
!>[A_27a: $tType] : ( ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Ellist_2Ellist @ A_27a ) ) ).
thf(c_2Ellist_2ELCONS,type,
c_2Ellist_2ELCONS:
!>[A_27a: $tType] : ( A_27a > ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Ellist_2Ellist @ A_27a ) ) ).
thf(c_2Elist_2ELENGTH,type,
c_2Elist_2ELENGTH:
!>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Ellist_2ELFINITE,type,
c_2Ellist_2ELFINITE:
!>[A_27a: $tType] : ( ( tyop_2Ellist_2Ellist @ A_27a ) > $o ) ).
thf(c_2Ellist_2ELMAP,type,
c_2Ellist_2ELMAP:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Ellist_2Ellist @ A_27b ) ) ).
thf(c_2Ellist_2ELNIL,type,
c_2Ellist_2ELNIL:
!>[A_27a: $tType] : ( tyop_2Ellist_2Ellist @ A_27a ) ).
thf(c_2Ellist_2ELNTH,type,
c_2Ellist_2ELNTH:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).
thf(c_2Ellist_2ELTAKE,type,
c_2Ellist_2ELTAKE:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Eoption_2Eoption @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ).
thf(c_2Ellist_2ELUNFOLD,type,
c_2Ellist_2ELUNFOLD:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) ) > A_27b > ( tyop_2Ellist_2Ellist @ A_27a ) ) ).
thf(c_2Elist_2ENIL,type,
c_2Elist_2ENIL:
!>[A_27a: $tType] : ( tyop_2Elist_2Elist @ A_27a ) ).
thf(c_2Eoption_2ENONE,type,
c_2Eoption_2ENONE:
!>[A_27a: $tType] : ( tyop_2Eoption_2Eoption @ A_27a ) ).
thf(c_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eoption_2EOPTION__MAP,type,
c_2Eoption_2EOPTION__MAP:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( tyop_2Eoption_2Eoption @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27b ) ) ).
thf(c_2Epath_2EPL,type,
c_2Epath_2EPL:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > tyop_2Enum_2Enum > $o ) ).
thf(c_2Epath_2ESN,type,
c_2Epath_2ESN:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27a > $o ) > $o ) ).
thf(c_2Epair_2ESND,type,
c_2Epair_2ESND:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27b ) ).
thf(c_2Eoption_2ESOME,type,
c_2Eoption_2ESOME:
!>[A_27a: $tType] : ( A_27a > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).
thf(c_2Enum_2ESUC,type,
c_2Enum_2ESUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2ET,type,
c_2Ebool_2ET: $o ).
thf(c_2Eoption_2ETHE,type,
c_2Eoption_2ETHE:
!>[A_27a: $tType] : ( ( tyop_2Eoption_2Eoption @ A_27a ) > A_27a ) ).
thf(c_2Ebool_2ETYPE__DEFINITION,type,
c_2Ebool_2ETYPE__DEFINITION:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( A_27b > A_27a ) > $o ) ).
thf(c_2Epair_2EUNCURRY,type,
c_2Epair_2EUNCURRY:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27a > A_27b > A_27c ) > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27c ) ).
thf(c_2Epred__set_2EUNION,type,
c_2Epred__set_2EUNION:
!>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).
thf(c_2Epred__set_2EUNIV,type,
c_2Epred__set_2EUNIV:
!>[A_27a: $tType] : ( A_27a > $o ) ).
thf(c_2Erelation_2EWF,type,
c_2Erelation_2EWF:
!>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).
thf(c_2Earithmetic_2EZERO,type,
c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $o > $o > $o ).
thf(c_2Epath_2Edrop,type,
c_2Epath_2Edrop:
!>[A_27a: $tType,A_27b: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Eel,type,
c_2Epath_2Eel:
!>[A_27a: $tType,A_27b: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > A_27a ) ).
thf(c_2Epath_2Eevery,type,
c_2Epath_2Eevery:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Epath_2Eexists,type,
c_2Epath_2Eexists:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Epath_2Efilter,type,
c_2Epath_2Efilter:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Efinite,type,
c_2Epath_2Efinite:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Epath_2Efirst,type,
c_2Epath_2Efirst:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > A_27a ) ).
thf(c_2Epath_2EfirstP__at,type,
c_2Epath_2EfirstP__at:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > tyop_2Enum_2Enum > $o ) ).
thf(c_2Epath_2Efirst__label,type,
c_2Epath_2Efirst__label:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > A_27b ) ).
thf(c_2Epath_2EfromPath,type,
c_2Epath_2EfromPath:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) ) ) ).
thf(c_2EfixedPoint_2Egfp,type,
c_2EfixedPoint_2Egfp:
!>[A_27a: $tType] : ( ( ( A_27a > $o ) > A_27a > $o ) > A_27a > $o ) ).
thf(c_2Epath_2Eis__stopped,type,
c_2Epath_2Eis__stopped:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Epath_2Elabels,type,
c_2Epath_2Elabels:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Ellist_2Ellist @ A_27b ) ) ).
thf(c_2Epath_2Elast,type,
c_2Epath_2Elast:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > A_27a ) ).
thf(c_2Epath_2Elength,type,
c_2Epath_2Elength:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) ) ).
thf(c_2Epath_2Emem,type,
c_2Epath_2Emem:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2EfixedPoint_2Emonotone,type,
c_2EfixedPoint_2Emonotone:
!>[A_27a: $tType,A_27b: $tType] : ( ( ( A_27a > $o ) > A_27b > $o ) > $o ) ).
thf(c_2Epath_2Enth__label,type,
c_2Epath_2Enth__label:
!>[A_27a: $tType,A_27b: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Epath_2Epath @ A_27b @ A_27a ) > A_27a ) ).
thf(c_2Ecombin_2Eo,type,
c_2Ecombin_2Eo:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27c > A_27b ) > ( A_27a > A_27c ) > A_27a > A_27b ) ).
thf(c_2Epath_2Eokpath,type,
c_2Epath_2Eokpath:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27a > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Epath_2Eokpath__f,type,
c_2Epath_2Eokpath__f:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27a > $o ) > ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o ) ).
thf(c_2Eoption_2Eoption__CASE,type,
c_2Eoption_2Eoption__CASE:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Eoption_2Eoption @ A_27a ) > A_27b > ( A_27a > A_27b ) > A_27b ) ).
thf(c_2Epair_2Epair__CASE,type,
c_2Epair_2Epair__CASE:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( tyop_2Epair_2Eprod @ A_27b @ A_27c ) > ( A_27b > A_27c > A_27a ) > A_27a ) ).
thf(c_2Epath_2Eparallel__comp,type,
c_2Epath_2Eparallel__comp:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,A_27e: $tType] : ( ( A_27a > A_27b > A_27c > $o ) > ( A_27d > A_27b > A_27e > $o ) > ( tyop_2Epair_2Eprod @ A_27a @ A_27d ) > A_27b > ( tyop_2Epair_2Eprod @ A_27c @ A_27e ) > $o ) ).
thf(c_2Epath_2Epconcat,type,
c_2Epath_2Epconcat:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > A_27b > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Epcons,type,
c_2Epath_2Epcons:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Epgenerate,type,
c_2Epath_2Epgenerate:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Enum_2Enum > A_27a ) > ( tyop_2Enum_2Enum > A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Eplink,type,
c_2Epath_2Eplink:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Epmap,type,
c_2Epath_2Epmap:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] : ( ( A_27a > A_27c ) > ( A_27b > A_27d ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27c @ A_27d ) ) ).
thf(c_2Epath_2Eseg,type,
c_2Epath_2Eseg:
!>[A_27a: $tType,A_27b: $tType] : ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Estopped__at,type,
c_2Epath_2Estopped__at:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Etail,type,
c_2Epath_2Etail:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Etake,type,
c_2Epath_2Etake:
!>[A_27a: $tType,A_27b: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Ellist_2EtoList,type,
c_2Ellist_2EtoList:
!>[A_27a: $tType] : ( ( tyop_2Ellist_2Ellist @ A_27a ) > ( tyop_2Eoption_2Eoption @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ).
thf(c_2Epath_2EtoPath,type,
c_2Epath_2EtoPath:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Epath_2Etrace__machine,type,
c_2Epath_2Etrace__machine:
!>[A_27a: $tType] : ( ( ( tyop_2Elist_2Elist @ A_27a ) > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > A_27a > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).
thf(c_2Epath_2Eunfold,type,
c_2Epath_2Eunfold:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27c > A_27a ) > ( A_27c > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27c @ A_27b ) ) ) > A_27c > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) ).
thf(c_2Ebool_2E_7E,type,
c_2Ebool_2E_7E: $o > $o ).
thf(logicdef_2E_2F_5C,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
<=> ( V0
& V1 ) ) ).
thf(logicdef_2E_5C_2F,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
<=> ( V0
| V1 ) ) ).
thf(logicdef_2E_7E,axiom,
! [V0: $o] :
( ( c_2Ebool_2E_7E @ V0 )
<=> ( (~) @ V0 ) ) ).
thf(logicdef_2E_3D_3D_3E,axiom,
! [V0: $o,V1: $o] :
( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
<=> ( V0
=> V1 ) ) ).
thf(logicdef_2E_3D,axiom,
! [A_27a: $tType,V0: A_27a,V1: A_27a] :
( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
<=> ( V0 = V1 ) ) ).
thf(quantdef_2E_21,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_21 @ A_27a @ V0f )
<=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(quantdef_2E_3F,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_3F @ A_27a @ V0f )
<=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(thm_2Epath_2Epath__TY__DEF,axiom,
! [A_27a: $tType,A_27b: $tType] :
? [V0rep: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) )] :
( c_2Ebool_2ETYPE__DEFINITION @ ( tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) ) @ ( tyop_2Epath_2Epath @ A_27a @ A_27b )
@ ^ [V1x: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] : c_2Ebool_2ET
@ V0rep ) ).
thf(thm_2Epath_2Epath__absrep__bijections,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0a: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EtoPath @ A_27a @ A_27b @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0a ) )
= V0a )
& ! [V1r: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] :
( ( ^ [V2x: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] : c_2Ebool_2ET
@ V1r )
<=> ( ( c_2Epath_2EfromPath @ A_27a @ A_27b @ ( c_2Epath_2EtoPath @ A_27a @ A_27b @ V1r ) )
= V1r ) ) ) ).
thf(thm_2Epath_2Efirst__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p )
= ( c_2Epair_2EFST @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0p ) ) ) ).
thf(thm_2Epath_2Estopped__at__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a] :
( ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x )
= ( c_2Epath_2EtoPath @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0x @ ( c_2Ellist_2ELNIL @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) ) ) ) ).
thf(thm_2Epath_2Epcons__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p )
= ( c_2Epath_2EtoPath @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0x @ ( c_2Ellist_2ELCONS @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Epair_2E_2C @ A_27b @ A_27a @ V1r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p ) ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V2p ) ) ) ) ) ) ).
thf(thm_2Epath_2Efinite__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0sigma: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0sigma )
= ( c_2Ellist_2ELFINITE @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0sigma ) ) ) ) ).
thf(thm_2Epath_2Elast__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Elast @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= V0x )
& ! [V1x: A_27a,V2r: A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Elast @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1x @ V2r @ V3p ) )
= ( c_2Epath_2Elast @ A_27a @ A_27b @ V3p ) ) ) ).
thf(thm_2Epath_2Epmap__def,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0f: A_27a > A_27c,V1g: A_27b > A_27d,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27c @ A_27d @ V0f @ V1g @ V2p )
= ( c_2Epath_2EtoPath @ A_27c @ A_27d @ ( c_2Epair_2E_23_23 @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ A_27c @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27d @ A_27c ) ) @ V0f @ ( c_2Ellist_2ELMAP @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( tyop_2Epair_2Eprod @ A_27d @ A_27c ) @ ( c_2Epair_2E_23_23 @ A_27b @ A_27a @ A_27d @ A_27c @ V1g @ V0f ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V2p ) ) ) ) ).
thf(thm_2Epath_2Etail__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etail @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p ) )
= V2p ) ).
thf(thm_2Epath_2Efirst__label__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efirst__label @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p ) )
= V1r ) ).
thf(thm_2Epath_2Elength__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p )
= ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) @ ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ELENGTH @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Eoption_2ETHE @ ( tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Ellist_2EtoList @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0p ) ) ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Eoption_2ENONE @ tyop_2Enum_2Enum ) ) ) ).
thf(thm_2Epath_2Eel__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Enum_2ESUC @ V1n ) @ V2p )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V1n @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) ) ) ).
thf(thm_2Epath_2Enth__label__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27b @ A_27a] :
( ( c_2Epath_2Enth__label @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Efirst__label @ A_27b @ A_27a @ V0p ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27b @ A_27a] :
( ( c_2Epath_2Enth__label @ A_27a @ A_27b @ ( c_2Enum_2ESUC @ V1n ) @ V2p )
= ( c_2Epath_2Enth__label @ A_27a @ A_27b @ V1n @ ( c_2Epath_2Etail @ A_27b @ A_27a @ V2p ) ) ) ) ).
thf(thm_2Epath_2Epconcat__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1lab: A_27b,V2p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V0p1 @ V1lab @ V2p2 )
= ( c_2Epath_2EtoPath @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p1 ) @ ( c_2Ellist_2ELAPPEND @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0p1 ) ) @ ( c_2Ellist_2ELCONS @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Epair_2E_2C @ A_27b @ A_27a @ V1lab @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p2 ) ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V2p2 ) ) ) ) ) ) ) ).
thf(thm_2Epath_2EPL__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p )
= ( c_2Epred__set_2EGSPEC @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V1i: tyop_2Enum_2Enum] : ( c_2Epair_2E_2C @ tyop_2Enum_2Enum @ $o @ V1i @ ( c_2Emin_2E_3D_3D_3E @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) @ ( c_2Eprim__rec_2E_3C @ V1i @ ( c_2Eoption_2ETHE @ tyop_2Enum_2Enum @ ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p ) ) ) ) ) ) ) ).
thf(thm_2Epath_2EfirstP__at__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2i: tyop_2Enum_2Enum] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ V1p @ V2i )
<=> ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( V0P @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V2i @ V1p ) )
& ! [V3j: tyop_2Enum_2Enum] :
( ( c_2Eprim__rec_2E_3C @ V3j @ V2i )
=> ( (~) @ ( V0P @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V3j @ V1p ) ) ) ) ) ) ).
thf(thm_2Epath_2Eexists__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ V1p )
<=> ? [V2i: tyop_2Enum_2Enum] : ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ V1p @ V2i ) ) ).
thf(thm_2Epath_2Eevery__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eevery @ A_27a @ A_27b @ V0P @ V1p )
<=> ( (~) @ ( c_2Epath_2Eexists @ A_27a @ A_27b @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1p ) ) ) ).
thf(thm_2Epath_2Emem__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0s: A_27a,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Emem @ A_27a @ A_27b @ V0s @ V1p )
<=> ? [V2i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( V0s
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V2i @ V1p ) ) ) ) ).
thf(thm_2Epath_2Edrop__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= V0p )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Enum_2ESUC @ V1n ) @ V2p )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1n @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) ) ) ).
thf(thm_2Epath_2Etake__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etake @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p ) ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Enum_2ESUC @ V1n ) @ V2p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p ) @ ( c_2Epath_2Efirst__label @ A_27a @ A_27b @ V2p ) @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V1n @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) ) ) ) ).
thf(thm_2Epath_2Eseg__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V1j @ V2p )
= ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ V1j @ V0i ) @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0i @ V2p ) ) ) ).
thf(thm_2Epath_2Elabels__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Elabels @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= ( c_2Ellist_2ELNIL @ A_27b ) )
& ! [V1x: A_27a,V2r: A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Elabels @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1x @ V2r @ V3p ) )
= ( c_2Ellist_2ELCONS @ A_27b @ V2r @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V3p ) ) ) ) ).
thf(thm_2Epath_2Eis__stopped__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eis__stopped @ A_27a @ A_27b @ V0p )
<=> ? [V1x: A_27a] :
( V0p
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) ) ) ).
thf(thm_2Epath_2Efilter__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o] :
( ! [V1x: A_27a] :
( ( V0P @ V1x )
=> ( ( c_2Epath_2Efilter @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) ) )
& ! [V2x: A_27a,V3r: A_27b,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efilter @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4p ) )
= ( c_2Ebool_2ECOND @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( V0P @ V2x ) @ ( c_2Ebool_2ECOND @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ V4p ) @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ ( c_2Epath_2Efilter @ A_27a @ A_27b @ V0P @ V4p ) ) @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) ) @ ( c_2Epath_2Efilter @ A_27a @ A_27b @ V0P @ V4p ) ) ) ) ).
thf(thm_2Epath_2Epgenerate__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1g: tyop_2Enum_2Enum > A_27b] :
( ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V0f @ V1g )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( V0f @ c_2Enum_2E0 ) @ ( V1g @ c_2Enum_2E0 ) @ ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ A_27a @ tyop_2Enum_2Enum @ V0f @ c_2Enum_2ESUC ) @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ A_27b @ tyop_2Enum_2Enum @ V1g @ c_2Enum_2ESUC ) ) ) ) ).
thf(thm_2Epath_2Eokpath__f__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1X: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ( c_2Epath_2Eokpath__f @ A_27a @ A_27b @ V0R @ V1X )
= ( c_2Epred__set_2EUNION @ ( tyop_2Epath_2Epath @ A_27a @ A_27b )
@ ( c_2Epred__set_2EGSPEC @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ A_27a
@ ^ [V2x: A_27a] : ( c_2Epair_2E_2C @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ $o @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) @ ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Epred__set_2EUNIV @ A_27a ) ) ) )
@ ( c_2Epred__set_2EGSPEC @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Epair_2Eprod @ A_27b @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) )
@ ( c_2Epair_2EUNCURRY @ A_27a @ ( tyop_2Epair_2Eprod @ A_27b @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ $o )
@ ^ [V3x: A_27a] :
( c_2Epair_2EUNCURRY @ A_27b @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ $o )
@ ^ [V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( c_2Epair_2E_2C @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ $o @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) @ ( c_2Ebool_2E_2F_5C @ ( V0R @ V3x @ V4r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V5p ) ) @ ( c_2Ebool_2EIN @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ V5p @ V1X ) ) ) ) ) ) ) ) ).
thf(thm_2Epath_2Eokpath__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] :
( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R )
= ( c_2EfixedPoint_2Egfp @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( c_2Epath_2Eokpath__f @ A_27a @ A_27b @ V0R ) ) ) ).
thf(thm_2Epath_2Eplink__def,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eplink @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) @ V1p )
= V1p )
& ! [V2x: A_27a,V3r: A_27b,V4p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V5p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eplink @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4p1 ) @ V5p2 )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V4p1 @ V5p2 ) ) ) ) ).
thf(thm_2Epath_2ESN__def,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] :
( ( c_2Epath_2ESN @ A_27a @ A_27b @ V0R )
= ( c_2Erelation_2EWF @ A_27a
@ ^ [V1x: A_27a,V2y: A_27a] :
( c_2Ebool_2E_3F @ A_27b
@ ^ [V3l: A_27b] : ( V0R @ V2y @ V3l @ V1x ) ) ) ) ).
thf(thm_2Epath_2Eunfold__def,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0proj: A_27c > A_27a,V1f: A_27c > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27c @ A_27b ) ),V2s: A_27c] :
( ( c_2Epath_2Eunfold @ A_27a @ A_27b @ A_27c @ V0proj @ V1f @ V2s )
= ( c_2Epath_2EtoPath @ A_27a @ A_27b
@ ( c_2Epair_2E_2C @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( V0proj @ V2s )
@ ( c_2Ellist_2ELUNFOLD @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ A_27c
@ ^ [V3s: A_27c] :
( c_2Eoption_2EOPTION__MAP @ ( tyop_2Epair_2Eprod @ A_27c @ A_27b ) @ ( tyop_2Epair_2Eprod @ A_27c @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )
@ ( c_2Epair_2EUNCURRY @ A_27c @ A_27b @ ( tyop_2Epair_2Eprod @ A_27c @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )
@ ^ [V4next__s: A_27c,V5lbl: A_27b] : ( c_2Epair_2E_2C @ A_27c @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ V4next__s @ ( c_2Epair_2E_2C @ A_27b @ A_27a @ V5lbl @ ( V0proj @ V4next__s ) ) ) )
@ ( V1f @ V3s ) )
@ V2s ) ) ) ) ).
thf(thm_2Epath_2Etrace__machine__def,axiom,
! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o,V1s: tyop_2Elist_2Elist @ A_27a,V2l: A_27a,V3s_27: tyop_2Elist_2Elist @ A_27a] :
( ( c_2Epath_2Etrace__machine @ A_27a @ V0P @ V1s @ V2l @ V3s_27 )
<=> ( ( V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1s @ ( c_2Elist_2ECONS @ A_27a @ V2l @ ( c_2Elist_2ENIL @ A_27a ) ) ) )
& ( V3s_27
= ( c_2Elist_2EAPPEND @ A_27a @ V1s @ ( c_2Elist_2ECONS @ A_27a @ V2l @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ) ) ).
thf(thm_2Epath_2Eparallel__comp__def,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,A_27e: $tType,V0m1: A_27a > A_27b > A_27c > $o,V1m2: A_27d > A_27b > A_27e > $o,V2s1: A_27a,V3s2: A_27d,V4l: A_27b,V5s1_27: A_27c,V6s2_27: A_27e] :
( ( c_2Epath_2Eparallel__comp @ A_27a @ A_27b @ A_27c @ A_27d @ A_27e @ V0m1 @ V1m2 @ ( c_2Epair_2E_2C @ A_27a @ A_27d @ V2s1 @ V3s2 ) @ V4l @ ( c_2Epair_2E_2C @ A_27c @ A_27e @ V5s1_27 @ V6s2_27 ) )
<=> ( ( V0m1 @ V2s1 @ V4l @ V5s1_27 )
& ( V1m2 @ V3s2 @ V4l @ V6s2_27 ) ) ) ).
thf(thm_2Epath_2Epath__rep__bijections__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0a: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EtoPath @ A_27a @ A_27b @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0a ) )
= V0a )
& ! [V1r: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] :
( ( c_2Epath_2EfromPath @ A_27a @ A_27b @ ( c_2Epath_2EtoPath @ A_27a @ A_27b @ V1r ) )
= V1r ) ) ).
thf(thm_2Epath_2EtoPath__11,axiom,
! [A_27a: $tType,A_27b: $tType,V0r: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ),V1r_27: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] :
( ( ( c_2Epath_2EtoPath @ A_27a @ A_27b @ V0r )
= ( c_2Epath_2EtoPath @ A_27a @ A_27b @ V1r_27 ) )
<=> ( V0r = V1r_27 ) ) ).
thf(thm_2Epath_2EfromPath__11,axiom,
! [A_27a: $tType,A_27b: $tType,V0a: tyop_2Epath_2Epath @ A_27a @ A_27b,V1a_27: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0a )
= ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V1a_27 ) )
<=> ( V0a = V1a_27 ) ) ).
thf(thm_2Epath_2EfromPath__onto,axiom,
! [A_27a: $tType,A_27b: $tType,V0r: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] :
? [V1a: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( V0r
= ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V1a ) ) ).
thf(thm_2Epath_2EtoPath__onto,axiom,
! [A_27a: $tType,A_27b: $tType,V0a: tyop_2Epath_2Epath @ A_27a @ A_27b] :
? [V1r: tyop_2Epair_2Eprod @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) )] :
( V0a
= ( c_2Epath_2EtoPath @ A_27a @ A_27b @ V1r ) ) ).
thf(thm_2Epath_2Estopped__at__11,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1y: A_27a] :
( ( ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1y ) )
<=> ( V0x = V1y ) ) ).
thf(thm_2Epath_2Epcons__11,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b,V3y: A_27a,V4s: A_27b,V5q: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3y @ V4s @ V5q ) )
<=> ( ( V0x = V3y )
& ( V1r = V4s )
& ( V2p = V5q ) ) ) ).
thf(thm_2Epath_2Estopped__at__not__pcons,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1y: A_27a,V2r: A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( (~)
@ ( ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1y @ V2r @ V3p ) ) )
& ( (~)
@ ( ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1y @ V2r @ V3p )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) ) ) ) ).
thf(thm_2Epath_2Epath__cases,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ? [V1x: A_27a] :
( V0p
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
| ? [V2x: A_27a,V3r: A_27b,V4q: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( V0p
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4q ) ) ) ).
thf(thm_2Epath_2EFORALL__path,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ! [V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( V0P @ V1p )
<=> ( ! [V2x: A_27a] : ( V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) )
& ! [V3x: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) ) ) ) ).
thf(thm_2Epath_2EEXISTS__path,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ? [V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( V0P @ V1p )
<=> ( ? [V2x: A_27a] : ( V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) )
| ? [V3x: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) ) ) ) ).
thf(thm_2Epath_2Efirst__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= V0x )
& ! [V1x: A_27a,V2r: A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1x @ V2r @ V3p ) )
= V1x ) ) ).
thf(thm_2Epath_2Efinite__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= c_2Ebool_2ET )
& ! [V1x: A_27a,V2r: A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1x @ V2r @ V3p ) )
= ( c_2Epath_2Efinite @ A_27a @ A_27b @ V3p ) ) ) ).
thf(thm_2Epath_2Epath__bisimulation,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V0p1 = V1p2 )
<=> ? [V2R: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ( V2R @ V0p1 @ V1p2 )
& ! [V3q1: tyop_2Epath_2Epath @ A_27a @ A_27b,V4q2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V2R @ V3q1 @ V4q2 )
=> ( ? [V5x: A_27a] :
( ( V3q1
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V5x ) )
& ( V4q2
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V5x ) ) )
| ? [V6x: A_27a,V7r: A_27b,V8q1_27: tyop_2Epath_2Epath @ A_27a @ A_27b,V9q2_27: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V3q1
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V6x @ V7r @ V8q1_27 ) )
& ( V4q2
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V6x @ V7r @ V9q2_27 ) )
& ( V2R @ V8q1_27 @ V9q2_27 ) ) ) ) ) ) ).
thf(thm_2Epath_2Efinite__path__ind,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ( ! [V1x: A_27a] : ( V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
& ! [V2x: A_27a,V3r: A_27b,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V4p )
& ( V0P @ V4p ) )
=> ( V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4p ) ) ) )
=> ! [V5q: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V5q )
=> ( V0P @ V5q ) ) ) ).
thf(thm_2Epath_2Epmap__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g: A_27d > A_27c,V1f: A_27a > A_27b] :
( ! [V2x: A_27a] :
( ( c_2Epath_2Epmap @ A_27a @ A_27d @ A_27b @ A_27c @ V1f @ V0g @ ( c_2Epath_2Estopped__at @ A_27a @ A_27d @ V2x ) )
= ( c_2Epath_2Estopped__at @ A_27b @ A_27c @ ( V1f @ V2x ) ) )
& ! [V3x: A_27a,V4r: A_27d,V5p: tyop_2Epath_2Epath @ A_27a @ A_27d] :
( ( c_2Epath_2Epmap @ A_27a @ A_27d @ A_27b @ A_27c @ V1f @ V0g @ ( c_2Epath_2Epcons @ A_27a @ A_27d @ V3x @ V4r @ V5p ) )
= ( c_2Epath_2Epcons @ A_27b @ A_27c @ ( V1f @ V3x ) @ ( V0g @ V4r ) @ ( c_2Epath_2Epmap @ A_27a @ A_27d @ A_27b @ A_27c @ V1f @ V0g @ V5p ) ) ) ) ).
thf(thm_2Epath_2Efirst__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g: A_27b > A_27d,V1f: A_27a > A_27c,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efirst @ A_27c @ A_27d @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27c @ A_27d @ V1f @ V0g @ V2p ) )
= ( V1f @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p ) ) ) ).
thf(thm_2Epath_2Elast__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g: A_27b > A_27d,V1f: A_27a > A_27c,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V2p )
=> ( ( c_2Epath_2Elast @ A_27c @ A_27d @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27c @ A_27d @ V1f @ V0g @ V2p ) )
= ( V1f @ ( c_2Epath_2Elast @ A_27a @ A_27b @ V2p ) ) ) ) ).
thf(thm_2Epath_2Efinite__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0f: A_27a > A_27c,V1g: A_27b > A_27d,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27c @ A_27d @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27c @ A_27d @ V0f @ V1g @ V2p ) )
= ( c_2Epath_2Efinite @ A_27a @ A_27b @ V2p ) ) ).
thf(thm_2Epath_2Elength__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Elength @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) )
& ! [V1x: A_27c,V2r: A_27d,V3p: tyop_2Epath_2Epath @ A_27c @ A_27d] :
( ( c_2Epath_2Elength @ A_27c @ A_27d @ ( c_2Epath_2Epcons @ A_27c @ A_27d @ V1x @ V2r @ V3p ) )
= ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) @ ( c_2Epath_2Efinite @ A_27c @ A_27d @ V3p ) @ ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ ( c_2Eoption_2ETHE @ tyop_2Enum_2Enum @ ( c_2Epath_2Elength @ A_27c @ A_27d @ V3p ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Eoption_2ENONE @ tyop_2Enum_2Enum ) ) ) ) ).
thf(thm_2Epath_2Ealt__length__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Elength @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) )
& ! [V1x: A_27c,V2r: A_27d,V3p: tyop_2Epath_2Epath @ A_27c @ A_27d] :
( ( c_2Epath_2Elength @ A_27c @ A_27d @ ( c_2Epath_2Epcons @ A_27c @ A_27d @ V1x @ V2r @ V3p ) )
= ( c_2Eoption_2EOPTION__MAP @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum @ c_2Enum_2ESUC @ ( c_2Epath_2Elength @ A_27c @ A_27d @ V3p ) ) ) ) ).
thf(thm_2Epath_2Elength__never__zero,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( (~)
@ ( ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p )
= ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Epath_2Efinite__length,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p )
<=> ? [V1n: tyop_2Enum_2Enum] :
( ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p )
= ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ V1n ) ) )
& ( ( (~) @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) )
<=> ( ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p )
= ( c_2Eoption_2ENONE @ tyop_2Enum_2Enum ) ) ) ) ).
thf(thm_2Epath_2Elength__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0f: A_27a > A_27b,V1g: A_27c > A_27d,V2p: tyop_2Epath_2Epath @ A_27a @ A_27c] :
( ( c_2Epath_2Elength @ A_27b @ A_27d @ ( c_2Epath_2Epmap @ A_27a @ A_27c @ A_27b @ A_27d @ V0f @ V1g @ V2p ) )
= ( c_2Epath_2Elength @ A_27a @ A_27c @ V2p ) ) ).
thf(thm_2Epath_2Eel__def__compute,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ V2p )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) )
& ! [V3n: tyop_2Enum_2Enum,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V3n ) ) @ V4p )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V4p ) ) ) ) ).
thf(thm_2Epath_2Enth__label__def__compute,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27b @ A_27a] :
( ( c_2Epath_2Enth__label @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Efirst__label @ A_27b @ A_27a @ V0p ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27b @ A_27a] :
( ( c_2Epath_2Enth__label @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ V2p )
= ( c_2Epath_2Enth__label @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2Etail @ A_27b @ A_27a @ V2p ) ) )
& ! [V3n: tyop_2Enum_2Enum,V4p: tyop_2Epath_2Epath @ A_27b @ A_27a] :
( ( c_2Epath_2Enth__label @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V3n ) ) @ V4p )
= ( c_2Epath_2Enth__label @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Epath_2Etail @ A_27b @ A_27a @ V4p ) ) ) ) ).
thf(thm_2Epath_2Epath__Axiom,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27a > ( tyop_2Epair_2Eprod @ A_27b @ ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27c @ A_27a ) ) )] :
? [V1g: A_27a > ( tyop_2Epath_2Epath @ A_27b @ A_27c )] :
! [V2x: A_27a] :
( ( V1g @ V2x )
= ( c_2Epair_2Epair__CASE @ ( tyop_2Epath_2Epath @ A_27b @ A_27c ) @ A_27b @ ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27c @ A_27a ) ) @ ( V0f @ V2x )
@ ^ [V3y: A_27b,V4v2: tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27c @ A_27a )] :
( c_2Eoption_2Eoption__CASE @ ( tyop_2Epair_2Eprod @ A_27c @ A_27a ) @ ( tyop_2Epath_2Epath @ A_27b @ A_27c ) @ V4v2 @ ( c_2Epath_2Estopped__at @ A_27b @ A_27c @ V3y )
@ ^ [V5v3: tyop_2Epair_2Eprod @ A_27c @ A_27a] :
( c_2Epair_2Epair__CASE @ ( tyop_2Epath_2Epath @ A_27b @ A_27c ) @ A_27c @ A_27a @ V5v3
@ ^ [V6l: A_27c,V7v: A_27a] : ( c_2Epath_2Epcons @ A_27b @ A_27c @ V3y @ V6l @ ( V1g @ V7v ) ) ) ) ) ) ).
thf(thm_2Epath_2Epconcat__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0x: A_27a,V1lab: A_27b,V2p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Epconcat @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) @ V1lab @ V2p2 )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1lab @ V2p2 ) )
& ! [V3x: A_27c,V4r: A_27d,V5p: tyop_2Epath_2Epath @ A_27c @ A_27d,V6lab: A_27d,V7p2: tyop_2Epath_2Epath @ A_27c @ A_27d] :
( ( c_2Epath_2Epconcat @ A_27c @ A_27d @ ( c_2Epath_2Epcons @ A_27c @ A_27d @ V3x @ V4r @ V5p ) @ V6lab @ V7p2 )
= ( c_2Epath_2Epcons @ A_27c @ A_27d @ V3x @ V4r @ ( c_2Epath_2Epconcat @ A_27c @ A_27d @ V5p @ V6lab @ V7p2 ) ) ) ) ).
thf(thm_2Epath_2Epconcat__eq__stopped,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1lab: A_27b,V2p2: tyop_2Epath_2Epath @ A_27a @ A_27b,V3x: A_27a] :
( ( (~)
@ ( ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V0p1 @ V1lab @ V2p2 )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V3x ) ) )
& ( (~)
@ ( ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V3x )
= ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V0p1 @ V1lab @ V2p2 ) ) ) ) ).
thf(thm_2Epath_2Epconcat__eq__pcons,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b,V3p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V4lab: A_27b,V5p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V3p1 @ V4lab @ V5p2 )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p ) )
<=> ( ( ( V4lab = V1r )
& ( V3p1
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
& ( V2p = V5p2 ) )
| ? [V6p1_27: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V3p1
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V6p1_27 ) )
& ( V2p
= ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V6p1_27 @ V4lab @ V5p2 ) ) ) ) )
& ( ( ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2p )
= ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V3p1 @ V4lab @ V5p2 ) )
<=> ( ( ( V4lab = V1r )
& ( V3p1
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
& ( V2p = V5p2 ) )
| ? [V7p1_27: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V3p1
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V7p1_27 ) )
& ( V2p
= ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V7p1_27 @ V4lab @ V5p2 ) ) ) ) ) ) ).
thf(thm_2Epath_2Efinite__pconcat,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1lab: A_27b,V2p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Epconcat @ A_27a @ A_27b @ V0p1 @ V1lab @ V2p2 ) )
<=> ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p1 )
& ( c_2Epath_2Efinite @ A_27a @ A_27b @ V2p2 ) ) ) ).
thf(thm_2Epath_2Einfinite__PL,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( (~) @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) )
=> ! [V1i: tyop_2Enum_2Enum] : ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) ) ) ).
thf(thm_2Epath_2EPL__pcons,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1r: A_27b,V2q: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V0x @ V1r @ V2q ) )
= ( c_2Epred__set_2EINSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Epred__set_2EIMAGE @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum @ c_2Enum_2ESUC @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2q ) ) ) ) ).
thf(thm_2Epath_2EPL__stopped__at,axiom,
! [A_27a: $tType,A_27b: $tType,V0x: A_27a] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= ( c_2Epred__set_2EINSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Epred__set_2EEMPTY @ tyop_2Enum_2Enum ) ) ) ).
thf(thm_2Epath_2EPL__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= ( c_2Epred__set_2EINSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Epred__set_2EEMPTY @ tyop_2Enum_2Enum ) ) )
& ! [V1x: A_27a,V2r: A_27b,V3q: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V1x @ V2r @ V3q ) )
= ( c_2Epred__set_2EINSERT @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Epred__set_2EIMAGE @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum @ c_2Enum_2ESUC @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V3q ) ) ) ) ) ).
thf(thm_2Epath_2EPL__0,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] : ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ c_2Enum_2E0 @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) ) ).
thf(thm_2Epath_2EPL__downward__closed,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ! [V2j: tyop_2Enum_2Enum] :
( ( c_2Eprim__rec_2E_3C @ V2j @ V0i )
=> ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) ) ) ) ).
thf(thm_2Epath_2EPL__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0p: tyop_2Epath_2Epath @ A_27c @ A_27d,V1g: A_27d > A_27b,V2f: A_27c > A_27a] :
( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Epmap @ A_27c @ A_27d @ A_27a @ A_27b @ V2f @ V1g @ V0p ) )
= ( c_2Epath_2EPL @ A_27c @ A_27d @ V0p ) ) ).
thf(thm_2Epath_2Eel__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g: A_27b > A_27d,V1f: A_27a > A_27c,V2i: tyop_2Enum_2Enum,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V3p ) )
=> ( ( c_2Epath_2Eel @ A_27c @ A_27d @ V2i @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27c @ A_27d @ V1f @ V0g @ V3p ) )
= ( V1f @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V2i @ V3p ) ) ) ) ).
thf(thm_2Epath_2Enth__label__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g: A_27b > A_27c,V1f: A_27a > A_27d,V2i: tyop_2Enum_2Enum,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Enum_2ESUC @ V2i ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V3p ) )
=> ( ( c_2Epath_2Enth__label @ A_27c @ A_27d @ V2i @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27d @ A_27c @ V1f @ V0g @ V3p ) )
= ( V0g @ ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V2i @ V3p ) ) ) ) ).
thf(thm_2Epath_2EfirstP__at__thm,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0P: A_27a > $o,V1x: A_27a,V2n: tyop_2Enum_2Enum] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) @ V2n )
<=> ( ( V2n = c_2Enum_2E0 )
& ( V0P @ V1x ) ) )
& ! [V3P: A_27a > $o,V4n: tyop_2Enum_2Enum,V5x: A_27a,V6r: A_27b,V7p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V3P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V5x @ V6r @ V7p ) @ V4n )
<=> ( ( ( V4n = c_2Enum_2E0 )
& ( V3P @ V5x ) )
| ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V4n )
& ( (~) @ ( V3P @ V5x ) )
& ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V3P @ V7p @ ( c_2Earithmetic_2E_2D @ V4n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ).
thf(thm_2Epath_2EfirstP__at__zero,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ V1p @ c_2Enum_2E0 )
= ( V0P @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V1p ) ) ) ).
thf(thm_2Epath_2Eexists__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0P: A_27a > $o] :
( ! [V1x: A_27a] :
( ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
= ( V0P @ V1x ) )
& ! [V2x: A_27a,V3r: A_27c,V4p: tyop_2Epath_2Epath @ A_27a @ A_27c] :
( ( c_2Epath_2Eexists @ A_27a @ A_27c @ V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27c @ V2x @ V3r @ V4p ) )
<=> ( ( V0P @ V2x )
| ( c_2Epath_2Eexists @ A_27a @ A_27c @ V0P @ V4p ) ) ) ) ).
thf(thm_2Epath_2Eevery__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0P: A_27a > $o] :
( ! [V1x: A_27a] :
( ( c_2Epath_2Eevery @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
= ( V0P @ V1x ) )
& ! [V2x: A_27a,V3r: A_27c,V4p: tyop_2Epath_2Epath @ A_27a @ A_27c] :
( ( c_2Epath_2Eevery @ A_27a @ A_27c @ V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27c @ V2x @ V3r @ V4p ) )
<=> ( ( V0P @ V2x )
& ( c_2Epath_2Eevery @ A_27a @ A_27c @ V0P @ V4p ) ) ) ) ).
thf(thm_2Epath_2Enot__every,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( (~) @ ( c_2Epath_2Eevery @ A_27a @ A_27b @ V0P @ V1p ) )
<=> ( c_2Epath_2Eexists @ A_27a @ A_27b @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1p ) ) ).
thf(thm_2Epath_2Enot__exists,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( (~) @ ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ V1p ) )
<=> ( c_2Epath_2Eevery @ A_27a @ A_27b @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1p ) ) ).
thf(thm_2Epath_2Eexists__el,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ V1p )
<=> ? [V2i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( V0P @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V2i @ V1p ) ) ) ) ).
thf(thm_2Epath_2Eevery__el,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eevery @ A_27a @ A_27b @ V0P @ V1p )
<=> ! [V2i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( V0P @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V2i @ V1p ) ) ) ) ).
thf(thm_2Epath_2Eevery__coinduction,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o,V1Q: A_27a > $o] :
( ( ! [V2x: A_27a] :
( ( V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) )
=> ( V1Q @ V2x ) )
& ! [V3x: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) )
=> ( ( V1Q @ V3x )
& ( V0P @ V5p ) ) ) )
=> ! [V6p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V0P @ V6p )
=> ( c_2Epath_2Eevery @ A_27a @ A_27b @ V1Q @ V6p ) ) ) ).
thf(thm_2Epath_2Eexists__induction,axiom,
! [A_27a: $tType,A_27b: $tType,V0Q: A_27a > $o,V1P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ( ! [V2x: A_27a] :
( ( V0Q @ V2x )
=> ( V1P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) ) )
& ! [V3x: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V0Q @ V3x )
=> ( V1P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) ) )
& ! [V6x: A_27a,V7r: A_27b,V8p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V1P @ V8p )
=> ( V1P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V6x @ V7r @ V8p ) ) ) )
=> ! [V9p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0Q @ V9p )
=> ( V1P @ V9p ) ) ) ).
thf(thm_2Epath_2Emem__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0x: A_27a,V1s: A_27a] :
( ( c_2Epath_2Emem @ A_27a @ A_27b @ V1s @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
<=> ( V1s = V0x ) )
& ! [V2x: A_27c,V3r: A_27d,V4p: tyop_2Epath_2Epath @ A_27c @ A_27d,V5s: A_27c] :
( ( c_2Epath_2Emem @ A_27c @ A_27d @ V5s @ ( c_2Epath_2Epcons @ A_27c @ A_27d @ V2x @ V3r @ V4p ) )
<=> ( ( V5s = V2x )
| ( c_2Epath_2Emem @ A_27c @ A_27d @ V5s @ V4p ) ) ) ) ).
thf(thm_2Epath_2Edrop__def__compute,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= V0p )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ V2p )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) )
& ! [V3n: tyop_2Enum_2Enum,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V3n ) ) @ V4p )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V4p ) ) ) ) ).
thf(thm_2Epath_2Enumeral__drop,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ V1p )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V1p ) ) )
& ! [V2n: tyop_2Enum_2Enum,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V2n ) ) @ V3p )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V3p ) ) ) ) ).
thf(thm_2Epath_2Efinite__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1n @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1n @ V0p ) )
= ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) ) ) ).
thf(thm_2Epath_2Elength__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1n @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( ( c_2Epath_2Elength @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1n @ V0p ) )
= ( c_2Eoption_2Eoption__CASE @ tyop_2Enum_2Enum @ ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) @ ( c_2Epath_2Elength @ A_27a @ A_27b @ V0p ) @ ( c_2Eoption_2ENONE @ tyop_2Enum_2Enum )
@ ^ [V2m: tyop_2Enum_2Enum] : ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2D @ V2m @ V1n ) ) ) ) ) ).
thf(thm_2Epath_2EPL__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1i @ V0p ) )
= ( c_2Epred__set_2EIMAGE @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V2n: tyop_2Enum_2Enum] : ( c_2Earithmetic_2E_2D @ V2n @ V1i )
@ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) ) ) ) ).
thf(thm_2Epath_2EIN__PL__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) )
=> ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0i @ V2p ) ) )
= ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V0i @ V1j ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) ) ) ) ).
thf(thm_2Epath_2Efirst__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0i @ V1p ) )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ V1p ) ) ) ).
thf(thm_2Epath_2Efirst__label__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( ( c_2Epath_2Efirst__label @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0i @ V1p ) )
= ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V0i @ V1p ) ) ) ).
thf(thm_2Epath_2Etail__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V0i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( ( c_2Epath_2Etail @ A_27a @ A_27b @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0i @ V1p ) )
= ( c_2Epath_2Edrop @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2B @ V0i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1p ) ) ) ).
thf(thm_2Epath_2Eel__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V0i @ V1j ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) )
=> ( ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1j @ V2p ) )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2B @ V0i @ V1j ) @ V2p ) ) ) ).
thf(thm_2Epath_2Enth__label__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Enum_2ESUC @ ( c_2Earithmetic_2E_2B @ V0i @ V1j ) ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) )
=> ( ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V0i @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V1j @ V2p ) )
= ( c_2Epath_2Enth__label @ A_27b @ A_27a @ ( c_2Earithmetic_2E_2B @ V0i @ V1j ) @ V2p ) ) ) ).
thf(thm_2Epath_2Etake__def__compute,axiom,
! [A_27a: $tType,A_27b: $tType] :
( ! [V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etake @ A_27a @ A_27b @ c_2Enum_2E0 @ V0p )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p ) ) )
& ! [V1n: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ V2p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p ) @ ( c_2Epath_2Efirst__label @ A_27a @ A_27b @ V2p ) @ ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V2p ) ) ) )
& ! [V3n: tyop_2Enum_2Enum,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V3n ) ) @ V4p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V4p ) @ ( c_2Epath_2Efirst__label @ A_27a @ A_27b @ V4p ) @ ( c_2Epath_2Etake @ A_27a @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Epath_2Etail @ A_27a @ A_27b @ V4p ) ) ) ) ) ).
thf(thm_2Epath_2Efirst__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum] :
( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V1i @ V0p ) )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p ) ) ).
thf(thm_2Epath_2Efinite__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V1i @ V0p ) ) ) ).
thf(thm_2Epath_2Elength__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( ( c_2Epath_2Elength @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V1i @ V0p ) )
= ( c_2Eoption_2ESOME @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V1i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Epath_2EPL__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) )
=> ( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V1i @ V0p ) )
= ( c_2Epred__set_2EGSPEC @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V2n: tyop_2Enum_2Enum] : ( c_2Epair_2E_2C @ tyop_2Enum_2Enum @ $o @ V2n @ ( c_2Earithmetic_2E_3C_3D @ V2n @ V1i ) ) ) ) ) ).
thf(thm_2Epath_2Elast__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( ( c_2Epath_2Elast @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V0i @ V1p ) )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ V1p ) ) ) ).
thf(thm_2Epath_2Enth__label__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2i: tyop_2Enum_2Enum] :
( ( ( c_2Eprim__rec_2E_3C @ V2i @ V0n )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0n @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) ) )
=> ( ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V2i @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V0n @ V1p ) )
= ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V2i @ V1p ) ) ) ).
thf(thm_2Epath_2Esingleton__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
=> ( ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V0i @ V1p )
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ V1p ) ) ) ) ).
thf(thm_2Epath_2Erecursive__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Eprim__rec_2E_3C @ V0i @ V1j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) ) )
=> ( ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V1j @ V2p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ V2p ) @ ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V0i @ V2p ) @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ ( c_2Earithmetic_2E_2B @ V0i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1j @ V2p ) ) ) ) ).
thf(thm_2Epath_2EPL__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Earithmetic_2E_3C_3D @ V0i @ V1j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) ) )
=> ( ( c_2Epath_2EPL @ A_27a @ A_27b @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V1j @ V2p ) )
= ( c_2Epred__set_2EGSPEC @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V3n: tyop_2Enum_2Enum] : ( c_2Epair_2E_2C @ tyop_2Enum_2Enum @ $o @ V3n @ ( c_2Earithmetic_2E_3C_3D @ V3n @ ( c_2Earithmetic_2E_2D @ V1j @ V0i ) ) ) ) ) ) ).
thf(thm_2Epath_2Efinite__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b,V1i: tyop_2Enum_2Enum,V2j: tyop_2Enum_2Enum] :
( ( ( c_2Earithmetic_2E_3C_3D @ V1i @ V2j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V0p ) ) )
=> ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ V1i @ V2j @ V0p ) ) ) ).
thf(thm_2Epath_2Efirst__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Earithmetic_2E_3C_3D @ V0i @ V1j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) ) )
=> ( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V1j @ V2p ) )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V0i @ V2p ) ) ) ).
thf(thm_2Epath_2Elast__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0i: tyop_2Enum_2Enum,V1j: tyop_2Enum_2Enum,V2p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Earithmetic_2E_3C_3D @ V0i @ V1j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V2p ) ) )
=> ( ( c_2Epath_2Elast @ A_27a @ A_27b @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ V0i @ V1j @ V2p ) )
= ( c_2Epath_2Eel @ A_27a @ A_27b @ V1j @ V2p ) ) ) ).
thf(thm_2Epath_2EfirstP__at__unique,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2n: tyop_2Enum_2Enum] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ V1p @ V2n )
=> ! [V3m: tyop_2Enum_2Enum] :
( ( c_2Epath_2EfirstP__at @ A_27a @ A_27b @ V0P @ V1p @ V3m )
<=> ( V3m = V2n ) ) ) ).
thf(thm_2Epath_2Eis__stopped__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
( ! [V0x: A_27a] :
( ( c_2Epath_2Eis__stopped @ A_27a @ A_27b @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V0x ) )
= c_2Ebool_2ET )
& ! [V1x: A_27c,V2r: A_27d,V3p: tyop_2Epath_2Epath @ A_27c @ A_27d] :
( ( c_2Epath_2Eis__stopped @ A_27c @ A_27d @ ( c_2Epath_2Epcons @ A_27c @ A_27d @ V1x @ V2r @ V3p ) )
= c_2Ebool_2EF ) ) ).
thf(thm_2Epath_2Efilter__every,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eexists @ A_27a @ A_27b @ V0P @ V1p )
=> ( c_2Epath_2Eevery @ A_27a @ A_27b @ V0P @ ( c_2Epath_2Efilter @ A_27a @ A_27b @ V0P @ V1p ) ) ) ).
thf(thm_2Epath_2Epgenerate__infinite,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1g: tyop_2Enum_2Enum > A_27b] : ( (~) @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V0f @ V1g ) ) ) ).
thf(thm_2Epath_2Epgenerate__not__stopped,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1g: tyop_2Enum_2Enum > A_27b,V2x: A_27a] :
( (~)
@ ( ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x )
= ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V0f @ V1g ) ) ) ).
thf(thm_2Epath_2Eel__pgenerate,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a,V2g: tyop_2Enum_2Enum > A_27b] :
( ( c_2Epath_2Eel @ A_27a @ A_27b @ V0n @ ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V1f @ V2g ) )
= ( V1f @ V0n ) ) ).
thf(thm_2Epath_2Enth__label__pgenerate,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a,V2g: tyop_2Enum_2Enum > A_27b] :
( ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V0n @ ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V1f @ V2g ) )
= ( V2g @ V0n ) ) ).
thf(thm_2Epath_2Epgenerate__11,axiom,
! [A_27a: $tType,A_27b: $tType,V0f1: tyop_2Enum_2Enum > A_27a,V1g1: tyop_2Enum_2Enum > A_27b,V2f2: tyop_2Enum_2Enum > A_27a,V3g2: tyop_2Enum_2Enum > A_27b] :
( ( ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V0f1 @ V1g1 )
= ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V2f2 @ V3g2 ) )
<=> ( ( V0f1 = V2f2 )
& ( V1g1 = V3g2 ) ) ) ).
thf(thm_2Epath_2Epgenerate__onto,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( (~) @ ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) )
=> ? [V1f: tyop_2Enum_2Enum > A_27a,V2g: tyop_2Enum_2Enum > A_27b] :
( V0p
= ( c_2Epath_2Epgenerate @ A_27a @ A_27b @ V1f @ V2g ) ) ) ).
thf(thm_2Epath_2Eokpath__monotone,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] : ( c_2EfixedPoint_2Emonotone @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( tyop_2Epath_2Epath @ A_27a @ A_27b ) @ ( c_2Epath_2Eokpath__f @ A_27a @ A_27b @ V0R ) ) ).
thf(thm_2Epath_2Eokpath__co__ind,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o] :
( ! [V2x: A_27a,V3r: A_27b,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V1P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4p ) )
=> ( ( V0R @ V2x @ V3r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V4p ) )
& ( V1P @ V4p ) ) )
=> ! [V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V1P @ V5p )
=> ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V5p ) ) ) ).
thf(thm_2Epath_2Eokpath__cases,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1x: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1x )
<=> ( ? [V2x_27: A_27a] :
( V1x
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x_27 ) )
| ? [V3x_27: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( V1x
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x_27 @ V4r @ V5p ) )
& ( V0R @ V3x_27 @ V4r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V5p ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V5p ) ) ) ) ).
thf(thm_2Epath_2Eokpath__thm,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] :
( ! [V1x: A_27a] : ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
& ! [V2x: A_27a,V3r: A_27b,V4p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2x @ V3r @ V4p ) )
<=> ( ( V0R @ V2x @ V3r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V4p ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V4p ) ) ) ) ).
thf(thm_2Epath_2Efinite__okpath__ind,axiom,
! [A_27a: $tType,A_27b: $tType,V0P: ( tyop_2Epath_2Epath @ A_27a @ A_27b ) > $o,V1R: A_27a > A_27b > A_27a > $o] :
( ( ! [V2x: A_27a] : ( V0P @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V2x ) )
& ! [V3x: A_27a,V4r: A_27b,V5p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V1R @ V5p )
& ( c_2Epath_2Efinite @ A_27a @ A_27b @ V5p )
& ( V1R @ V3x @ V4r @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V5p ) )
& ( V0P @ V5p ) )
=> ( V0P @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ V3x @ V4r @ V5p ) ) ) )
=> ! [V6sigma: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V1R @ V6sigma )
& ( c_2Epath_2Efinite @ A_27a @ A_27b @ V6sigma ) )
=> ( V0P @ V6sigma ) ) ) ).
thf(thm_2Epath_2Eokpath__pmap,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1f: A_27a > A_27a,V2g: A_27b > A_27b,V3p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V3p )
& ! [V4x: A_27a,V5r: A_27b,V6y: A_27a] :
( ( V0R @ V4x @ V5r @ V6y )
=> ( V0R @ ( V1f @ V4x ) @ ( V2g @ V5r ) @ ( V1f @ V6y ) ) ) )
=> ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Epmap @ A_27a @ A_27b @ A_27a @ A_27b @ V1f @ V2g @ V3p ) ) ) ).
thf(thm_2Epath_2Efinite__plink,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V0p1 @ V1p2 ) )
<=> ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p1 )
& ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p2 ) ) ) ).
thf(thm_2Epath_2Efirst__plink,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Elast @ A_27a @ A_27b @ V0p1 )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V1p2 ) )
=> ( ( c_2Epath_2Efirst @ A_27a @ A_27b @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V0p1 @ V1p2 ) )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V0p1 ) ) ) ).
thf(thm_2Epath_2Elast__plink,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p1 )
& ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p2 )
& ( ( c_2Epath_2Elast @ A_27a @ A_27b @ V0p1 )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V1p2 ) ) )
=> ( ( c_2Epath_2Elast @ A_27a @ A_27b @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V0p1 @ V1p2 ) )
= ( c_2Epath_2Elast @ A_27a @ A_27b @ V1p2 ) ) ) ).
thf(thm_2Epath_2Eokpath__plink,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V2p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p1 )
& ( ( c_2Epath_2Elast @ A_27a @ A_27b @ V1p1 )
= ( c_2Epath_2Efirst @ A_27a @ A_27b @ V2p2 ) ) )
=> ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V1p1 @ V2p2 ) )
<=> ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p1 )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V2p2 ) ) ) ) ).
thf(thm_2Epath_2Eokpath__take,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2i: tyop_2Enum_2Enum] :
( ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p ) )
=> ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V2i @ V1p ) ) ) ).
thf(thm_2Epath_2Eokpath__drop,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2i: tyop_2Enum_2Enum] :
( ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V2i @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p ) )
=> ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Edrop @ A_27a @ A_27b @ V2i @ V1p ) ) ) ).
thf(thm_2Epath_2Eokpath__seg,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2i: tyop_2Enum_2Enum,V3j: tyop_2Enum_2Enum] :
( ( ( c_2Earithmetic_2E_3C_3D @ V2i @ V3j )
& ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V3j @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p ) )
=> ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ ( c_2Epath_2Eseg @ A_27a @ A_27b @ V2i @ V3j @ V1p ) ) ) ).
thf(thm_2Epath_2ESN__finite__paths,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Epath_2ESN @ A_27a @ A_27b @ V0R )
& ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p ) )
=> ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p ) ) ).
thf(thm_2Epath_2Efinite__paths__SN,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] :
( ! [V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p )
=> ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p ) )
=> ( c_2Epath_2ESN @ A_27a @ A_27b @ V0R ) ) ).
thf(thm_2Epath_2ESN__finite__paths__EQ,axiom,
! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > A_27a > $o] :
( ( c_2Epath_2ESN @ A_27a @ A_27b @ V0R )
<=> ! [V1p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0R @ V1p )
=> ( c_2Epath_2Efinite @ A_27a @ A_27b @ V1p ) ) ) ).
thf(thm_2Epath_2Elabels__LMAP,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Elabels @ A_27a @ A_27b @ V0p )
= ( c_2Ellist_2ELMAP @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ A_27b @ ( c_2Epair_2EFST @ A_27b @ A_27a ) @ ( c_2Epair_2ESND @ A_27a @ ( tyop_2Ellist_2Ellist @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( c_2Epath_2EfromPath @ A_27a @ A_27b @ V0p ) ) ) ) ).
thf(thm_2Epath_2Elabels__plink,axiom,
! [A_27a: $tType,A_27b: $tType,V0p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V1p2: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Elabels @ A_27a @ A_27b @ ( c_2Epath_2Eplink @ A_27a @ A_27b @ V0p1 @ V1p2 ) )
= ( c_2Ellist_2ELAPPEND @ A_27b @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V0p1 ) @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p2 ) ) ) ).
thf(thm_2Epath_2Efinite__labels,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Ellist_2ELFINITE @ A_27b @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V0p ) )
= ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p ) ) ).
thf(thm_2Epath_2Eunfold__thm,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0proj: A_27a > A_27b,V1f: A_27a > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) ),V2s: A_27a] :
( ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V2s )
= ( c_2Eoption_2Eoption__CASE @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ ( tyop_2Epath_2Epath @ A_27b @ A_27c ) @ ( V1f @ V2s ) @ ( c_2Epath_2Estopped__at @ A_27b @ A_27c @ ( V0proj @ V2s ) )
@ ^ [V3v: tyop_2Epair_2Eprod @ A_27a @ A_27c] :
( c_2Epair_2Epair__CASE @ ( tyop_2Epath_2Epath @ A_27b @ A_27c ) @ A_27a @ A_27c @ V3v
@ ^ [V4s_27: A_27a,V5l: A_27c] : ( c_2Epath_2Epcons @ A_27b @ A_27c @ ( V0proj @ V2s ) @ V5l @ ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V4s_27 ) ) ) ) ) ).
thf(thm_2Epath_2Eunfold__thm2,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0proj: A_27a > A_27b,V1f: A_27a > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) ),V2x: A_27a,V3v1: A_27a,V4v2: A_27c] :
( ( ( ( V1f @ V2x )
= ( c_2Eoption_2ENONE @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) ) )
=> ( ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V2x )
= ( c_2Epath_2Estopped__at @ A_27b @ A_27c @ ( V0proj @ V2x ) ) ) )
& ( ( ( V1f @ V2x )
= ( c_2Eoption_2ESOME @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ ( c_2Epair_2E_2C @ A_27a @ A_27c @ V3v1 @ V4v2 ) ) )
=> ( ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V2x )
= ( c_2Epath_2Epcons @ A_27b @ A_27c @ ( V0proj @ V2x ) @ V4v2 @ ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V3v1 ) ) ) ) ) ).
thf(thm_2Epath_2Elabels__unfold,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0proj: A_27a > A_27b,V1f: A_27a > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) ),V2s: A_27a] :
( ( c_2Epath_2Elabels @ A_27b @ A_27c @ ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V0proj @ V1f @ V2s ) )
= ( c_2Ellist_2ELUNFOLD @ A_27c @ A_27a @ V1f @ V2s ) ) ).
thf(thm_2Epath_2Eokpath__unfold,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0P: A_27a > $o,V1m: A_27b > A_27c > A_27b > $o,V2proj: A_27a > A_27b,V3f: A_27a > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) ),V4s: A_27a] :
( ( ( V0P @ V4s )
& ! [V5s: A_27a,V6s_27: A_27a,V7l: A_27c] :
( ( ( V0P @ V5s )
& ( ( V3f @ V5s )
= ( c_2Eoption_2ESOME @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ ( c_2Epair_2E_2C @ A_27a @ A_27c @ V6s_27 @ V7l ) ) ) )
=> ( V0P @ V6s_27 ) )
& ! [V8s: A_27a,V9s_27: A_27a,V10l: A_27c] :
( ( ( V0P @ V8s )
& ( ( V3f @ V8s )
= ( c_2Eoption_2ESOME @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ ( c_2Epair_2E_2C @ A_27a @ A_27c @ V9s_27 @ V10l ) ) ) )
=> ( V1m @ ( V2proj @ V8s ) @ V10l @ ( V2proj @ V9s_27 ) ) ) )
=> ( c_2Epath_2Eokpath @ A_27b @ A_27c @ V1m @ ( c_2Epath_2Eunfold @ A_27b @ A_27c @ A_27a @ V2proj @ V3f @ V4s ) ) ) ).
thf(thm_2Epath_2Etrace__machine__thm,axiom,
! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o,V1tr: tyop_2Ellist_2Ellist @ A_27a] :
( ! [V2n: tyop_2Enum_2Enum,V3l: tyop_2Elist_2Elist @ A_27a] :
( ( ( c_2Ellist_2ELTAKE @ A_27a @ V2n @ V1tr )
= ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27a ) @ V3l ) )
=> ( V0P @ V3l ) )
=> ? [V4p: tyop_2Epath_2Epath @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a] :
( ( V1tr
= ( c_2Epath_2Elabels @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ V4p ) )
& ( c_2Epath_2Eokpath @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( c_2Epath_2Etrace__machine @ A_27a @ V0P ) @ V4p )
& ( ( c_2Epath_2Efirst @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ V4p )
= ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).
thf(thm_2Epath_2Etrace__machine__thm2,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a,V2P: ( tyop_2Elist_2Elist @ A_27a ) > $o,V3p: tyop_2Epath_2Epath @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a,V4init: A_27b] :
( ( ( c_2Epath_2Eokpath @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( c_2Epath_2Etrace__machine @ A_27a @ V2P ) @ V3p )
& ( V2P @ ( c_2Epath_2Efirst @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ V3p ) ) )
=> ( ( ( c_2Ellist_2ELTAKE @ A_27a @ V0n @ ( c_2Epath_2Elabels @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ V3p ) )
= ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27a ) @ V1l ) )
=> ( V2P @ ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Epath_2Efirst @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ V3p ) @ V1l ) ) ) ) ).
thf(thm_2Epath_2ELTAKE__labels,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2l: tyop_2Elist_2Elist @ A_27b] :
( ( ( c_2Ellist_2ELTAKE @ A_27b @ V0n @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p ) )
= ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27b ) @ V2l ) )
<=> ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0n @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( ( c_2Ellist_2EtoList @ A_27b @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ ( c_2Epath_2Etake @ A_27a @ A_27b @ V0n @ V1p ) ) )
= ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27b ) @ V2l ) ) ) ) ).
thf(thm_2Epath_2Edrop__eq__pcons,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2h: A_27a,V3l: A_27b,V4t: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V0n @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( ( c_2Epath_2Edrop @ A_27a @ A_27b @ V0n @ V1p )
= ( c_2Epath_2Epcons @ A_27a @ A_27b @ V2h @ V3l @ V4t ) ) )
=> ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V0n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) ) ) ).
thf(thm_2Epath_2Eokpath__parallel__comp,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0p: tyop_2Epath_2Epath @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c,V1m1: A_27a > A_27c > A_27a > $o,V2m2: A_27b > A_27c > A_27b > $o] :
( ( c_2Epath_2Eokpath @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ ( c_2Epath_2Eparallel__comp @ A_27a @ A_27c @ A_27a @ A_27b @ A_27b @ V1m1 @ V2m2 ) @ V0p )
<=> ( ( c_2Epath_2Eokpath @ A_27a @ A_27c @ V1m1
@ ( c_2Epath_2Epmap @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ A_27a @ A_27c @ ( c_2Epair_2EFST @ A_27a @ A_27b )
@ ^ [V3x: A_27c] : V3x
@ V0p ) )
& ( c_2Epath_2Eokpath @ A_27b @ A_27c @ V2m2
@ ( c_2Epath_2Epmap @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ A_27b @ A_27c @ ( c_2Epair_2ESND @ A_27a @ A_27b )
@ ^ [V4x: A_27c] : V4x
@ V0p ) ) ) ) ).
thf(thm_2Epath_2Ebuild__pcomp__trace,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0m1: A_27a > A_27b > A_27a > $o,V1p1: tyop_2Epath_2Epath @ A_27a @ A_27b,V2m2: A_27c > A_27b > A_27c > $o,V3p2: tyop_2Epath_2Epath @ A_27c @ A_27b] :
( ( ( c_2Epath_2Eokpath @ A_27a @ A_27b @ V0m1 @ V1p1 )
& ( c_2Epath_2Eokpath @ A_27c @ A_27b @ V2m2 @ V3p2 )
& ( ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p1 )
= ( c_2Epath_2Elabels @ A_27c @ A_27b @ V3p2 ) ) )
=> ? [V4p: tyop_2Epath_2Epath @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27b] :
( ( c_2Epath_2Eokpath @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27b @ ( c_2Epath_2Eparallel__comp @ A_27a @ A_27b @ A_27a @ A_27c @ A_27c @ V0m1 @ V2m2 ) @ V4p )
& ( ( c_2Epath_2Elabels @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27b @ V4p )
= ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p1 ) )
& ( ( c_2Epath_2Efirst @ ( tyop_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27b @ V4p )
= ( c_2Epair_2E_2C @ A_27a @ A_27c @ ( c_2Epath_2Efirst @ A_27a @ A_27b @ V1p1 ) @ ( c_2Epath_2Efirst @ A_27c @ A_27b @ V3p2 ) ) ) ) ) ).
thf(thm_2Epath_2Enth__label__LNTH,axiom,
! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2x: A_27b] :
( ( ( c_2Ellist_2ELNTH @ A_27b @ V0n @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p ) )
= ( c_2Eoption_2ESOME @ A_27b @ V2x ) )
<=> ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V0n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Epath_2EPL @ A_27a @ A_27b @ V1p ) )
& ( ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V0n @ V1p )
= V2x ) ) ) ).
thf(thm_2Epath_2Enth__label__LTAKE,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0n: tyop_2Enum_2Enum,V1p: tyop_2Epath_2Epath @ A_27a @ A_27b,V2l: tyop_2Elist_2Elist @ A_27b,V3i: tyop_2Enum_2Enum,V4v: A_27c] :
( ( ( ( c_2Ellist_2ELTAKE @ A_27b @ V0n @ ( c_2Epath_2Elabels @ A_27a @ A_27b @ V1p ) )
= ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27b ) @ V2l ) )
& ( c_2Eprim__rec_2E_3C @ V3i @ ( c_2Elist_2ELENGTH @ A_27b @ V2l ) ) )
=> ( ( c_2Epath_2Enth__label @ A_27b @ A_27a @ V3i @ V1p )
= ( c_2Elist_2EEL @ A_27b @ V3i @ V2l ) ) ) ).
thf(thm_2Epath_2Efinite__path__end__cases,axiom,
! [A_27a: $tType,A_27b: $tType,V0p: tyop_2Epath_2Epath @ A_27a @ A_27b] :
( ( c_2Epath_2Efinite @ A_27a @ A_27b @ V0p )
=> ( ? [V1x: A_27a] :
( V0p
= ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V1x ) )
| ? [V2p_27: tyop_2Epath_2Epath @ A_27a @ A_27b,V3l: A_27b,V4s: A_27a] :
( V0p
= ( c_2Epath_2Eplink @ A_27a @ A_27b @ V2p_27 @ ( c_2Epath_2Epcons @ A_27a @ A_27b @ ( c_2Epath_2Elast @ A_27a @ A_27b @ V2p_27 ) @ V3l @ ( c_2Epath_2Estopped__at @ A_27a @ A_27b @ V4s ) ) ) ) ) ) ).
thf(thm_2Epath_2Esimulation__trace__inclusion,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0R: A_27a > A_27b > $o,V1M1: A_27a > A_27c > A_27a > $o,V2M2: A_27b > A_27c > A_27b > $o,V3p: tyop_2Epath_2Epath @ A_27a @ A_27c,V4t__init: A_27b] :
( ( ! [V5s1: A_27a,V6l: A_27c,V7s2: A_27a,V8t1: A_27b] :
( ( ( V0R @ V5s1 @ V8t1 )
& ( V1M1 @ V5s1 @ V6l @ V7s2 ) )
=> ? [V9t2: A_27b] :
( ( V0R @ V7s2 @ V9t2 )
& ( V2M2 @ V8t1 @ V6l @ V9t2 ) ) )
& ( c_2Epath_2Eokpath @ A_27a @ A_27c @ V1M1 @ V3p )
& ( V0R @ ( c_2Epath_2Efirst @ A_27a @ A_27c @ V3p ) @ V4t__init ) )
=> ? [V10q: tyop_2Epath_2Epath @ A_27b @ A_27c] :
( ( c_2Epath_2Eokpath @ A_27b @ A_27c @ V2M2 @ V10q )
& ( ( c_2Epath_2Elabels @ A_27a @ A_27c @ V3p )
= ( c_2Epath_2Elabels @ A_27b @ A_27c @ V10q ) )
& ( ( c_2Epath_2Efirst @ A_27b @ A_27c @ V10q )
= V4t__init ) ) ) ).
%------------------------------------------------------------------------------