ITP001 Axioms: ITP109_5.ax
%------------------------------------------------------------------------------
% File : ITP109_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 : int_bitwise_2.ax [Gau20]
% : HL4109_5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 124 ( 47 unt; 47 typ; 0 def)
% Number of atoms : 1462 ( 57 equ)
% Maximal formula atoms : 34 ( 11 avg)
% Number of connectives : 117 ( 3 ~; 1 |; 12 &)
% ( 12 <=>; 89 =>; 0 <=; 0 <~>)
% Maximal formula depth : 25 ( 4 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of FOOLs : 1271 (1271 fml; 0 var)
% Number of types : 2 ( 1 usr)
% Number of type conns : 73 ( 29 >; 44 *; 0 +; 0 <<)
% Number of predicates : 69 ( 68 usr; 32 prp; 0-3 aty)
% Number of functors : 46 ( 46 usr; 17 con; 0-7 aty)
% Number of variables : 199 ( 199 !; 0 ?; 199 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Eint__bitwise_2Ebits__bitwise,type,
c_2Eint__bitwise_2Ebits__bitwise: ( del * del * del ) > $i ).
tff(mem_c_2Eint__bitwise_2Ebits__bitwise,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),arr(arr(A_27b,arr(A_27c,A_27a)),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27b),A_27b),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27c),A_27c),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a))))) ).
tff(stp_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,type,
tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o: $tType ).
tff(stp_inj_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,type,
inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o > $i ).
tff(stp_surj_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,type,
surj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o: $i > tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o ).
tff(stp_inj_surj_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,axiom,
! [X: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o] : ( surj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(X)) = X ) ).
tff(stp_inj_mem_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,axiom,
! [X: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o] : mem(inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(X),ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool)) ).
tff(stp_iso_mem_c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o,axiom,
! [X: $i] :
( mem(X,ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool))
=> ( X = inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(surj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(X)) ) ) ).
tff(tp_c_2Eint__bitwise_2Ebits__of__int,type,
c_2Eint__bitwise_2Ebits__of__int: $i ).
tff(mem_c_2Eint__bitwise_2Ebits__of__int,axiom,
mem(c_2Eint__bitwise_2Ebits__of__int,arr(ty_2Einteger_2Eint,ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool))) ).
tff(tp_c_2Eint__bitwise_2Ebits__of__num,type,
c_2Eint__bitwise_2Ebits__of__num: $i ).
tff(mem_c_2Eint__bitwise_2Ebits__of__num,axiom,
mem(c_2Eint__bitwise_2Ebits__of__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool))) ).
tff(tp_c_2Eint__bitwise_2Eint__and,type,
c_2Eint__bitwise_2Eint__and: $i ).
tff(mem_c_2Eint__bitwise_2Eint__and,axiom,
mem(c_2Eint__bitwise_2Eint__and,arr(ty_2Einteger_2Eint,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__and,type,
fo__c_2Eint__bitwise_2Eint__and: ( tp__ty_2Einteger_2Eint * tp__ty_2Einteger_2Eint ) > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__and,axiom,
! [X0: tp__ty_2Einteger_2Eint,X1: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__and(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__and,inj__ty_2Einteger_2Eint(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__bit,type,
c_2Eint__bitwise_2Eint__bit: $i ).
tff(mem_c_2Eint__bitwise_2Eint__bit,axiom,
mem(c_2Eint__bitwise_2Eint__bit,arr(ty_2Enum_2Enum,arr(ty_2Einteger_2Eint,bool))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__bit,type,
fo__c_2Eint__bitwise_2Eint__bit: ( tp__ty_2Enum_2Enum * tp__ty_2Einteger_2Eint ) > tp__o ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__bit,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Einteger_2Eint] : ( inj__o(fo__c_2Eint__bitwise_2Eint__bit(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__bitwise,type,
c_2Eint__bitwise_2Eint__bitwise: $i ).
tff(mem_c_2Eint__bitwise_2Eint__bitwise,axiom,
mem(c_2Eint__bitwise_2Eint__bitwise,arr(arr(bool,arr(bool,bool)),arr(ty_2Einteger_2Eint,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint)))) ).
tff(tp_c_2Eint__bitwise_2Eint__not,type,
c_2Eint__bitwise_2Eint__not: $i ).
tff(mem_c_2Eint__bitwise_2Eint__not,axiom,
mem(c_2Eint__bitwise_2Eint__not,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint)) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__not,type,
fo__c_2Eint__bitwise_2Eint__not: tp__ty_2Einteger_2Eint > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__not,axiom,
! [X0: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__not(X0)) = ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(X0)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__of__bits,type,
c_2Eint__bitwise_2Eint__of__bits: $i ).
tff(mem_c_2Eint__bitwise_2Eint__of__bits,axiom,
mem(c_2Eint__bitwise_2Eint__of__bits,arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool),ty_2Einteger_2Eint)) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__of__bits,type,
fo__c_2Eint__bitwise_2Eint__of__bits: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__of__bits,axiom,
! [X0: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__of__bits(X0)) = ap(c_2Eint__bitwise_2Eint__of__bits,inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(X0)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__or,type,
c_2Eint__bitwise_2Eint__or: $i ).
tff(mem_c_2Eint__bitwise_2Eint__or,axiom,
mem(c_2Eint__bitwise_2Eint__or,arr(ty_2Einteger_2Eint,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__or,type,
fo__c_2Eint__bitwise_2Eint__or: ( tp__ty_2Einteger_2Eint * tp__ty_2Einteger_2Eint ) > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__or,axiom,
! [X0: tp__ty_2Einteger_2Eint,X1: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__or(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__or,inj__ty_2Einteger_2Eint(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__shift__left,type,
c_2Eint__bitwise_2Eint__shift__left: $i ).
tff(mem_c_2Eint__bitwise_2Eint__shift__left,axiom,
mem(c_2Eint__bitwise_2Eint__shift__left,arr(ty_2Enum_2Enum,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__shift__left,type,
fo__c_2Eint__bitwise_2Eint__shift__left: ( tp__ty_2Enum_2Enum * tp__ty_2Einteger_2Eint ) > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__shift__left,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__shift__left(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__shift__left,inj__ty_2Enum_2Enum(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__shift__right,type,
c_2Eint__bitwise_2Eint__shift__right: $i ).
tff(mem_c_2Eint__bitwise_2Eint__shift__right,axiom,
mem(c_2Eint__bitwise_2Eint__shift__right,arr(ty_2Enum_2Enum,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__shift__right,type,
fo__c_2Eint__bitwise_2Eint__shift__right: ( tp__ty_2Enum_2Enum * tp__ty_2Einteger_2Eint ) > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__shift__right,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__shift__right(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__shift__right,inj__ty_2Enum_2Enum(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Eint__xor,type,
c_2Eint__bitwise_2Eint__xor: $i ).
tff(mem_c_2Eint__bitwise_2Eint__xor,axiom,
mem(c_2Eint__bitwise_2Eint__xor,arr(ty_2Einteger_2Eint,arr(ty_2Einteger_2Eint,ty_2Einteger_2Eint))) ).
tff(stp_fo_c_2Eint__bitwise_2Eint__xor,type,
fo__c_2Eint__bitwise_2Eint__xor: ( tp__ty_2Einteger_2Eint * tp__ty_2Einteger_2Eint ) > tp__ty_2Einteger_2Eint ).
tff(stp_eq_fo_c_2Eint__bitwise_2Eint__xor,axiom,
! [X0: tp__ty_2Einteger_2Eint,X1: tp__ty_2Einteger_2Eint] : ( inj__ty_2Einteger_2Eint(fo__c_2Eint__bitwise_2Eint__xor(X0,X1)) = ap(ap(c_2Eint__bitwise_2Eint__xor,inj__ty_2Einteger_2Eint(X0)),inj__ty_2Einteger_2Eint(X1)) ) ).
tff(tp_c_2Eint__bitwise_2Enum__of__bits,type,
c_2Eint__bitwise_2Enum__of__bits: $i ).
tff(mem_c_2Eint__bitwise_2Enum__of__bits,axiom,
mem(c_2Eint__bitwise_2Enum__of__bits,arr(ty_2Elist_2Elist(bool),ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Eint__bitwise_2Enum__of__bits,type,
fo__c_2Eint__bitwise_2Enum__of__bits: tp__c_ty_2Elist_2Elist_o > tp__ty_2Enum_2Enum ).
tff(stp_eq_fo_c_2Eint__bitwise_2Enum__of__bits,axiom,
! [X0: tp__c_ty_2Elist_2Elist_o] : ( inj__ty_2Enum_2Enum(fo__c_2Eint__bitwise_2Enum__of__bits(X0)) = ap(c_2Eint__bitwise_2Enum__of__bits,inj__c_ty_2Elist_2Elist_o(X0)) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__not__def,axiom,
! [V0i: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(V0i))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Einteger_2Eint__sub,ap(ap(c_2Einteger_2Eint__sub,ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),inj__ty_2Einteger_2Eint(V0i))),ap(c_2Einteger_2Eint__of__num,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__not__not,axiom,
! [V0i: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(c_2Eint__bitwise_2Eint__not,ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(V0i)))) = V0i ) ).
tff(ax_thm_2Eint__bitwise_2Eint__bit__def,axiom,
! [V0b: tp__ty_2Enum_2Enum,V1i: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Einteger_2Eint(V1i)))
<=> p(ap(ap(ap(c_2Ebool_2ECOND(bool),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V1i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(c_2Ebool_2E_7E,ap(ap(c_2Ebit_2EBIT,inj__ty_2Enum_2Enum(V0b)),ap(c_2Einteger_2ENum,ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(V1i)))))),ap(ap(c_2Ebit_2EBIT,inj__ty_2Enum_2Enum(V0b)),ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V1i))))) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__not,axiom,
! [V0b: tp__ty_2Enum_2Enum,V1i: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0b)),ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(V1i))))
<=> ~ p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Einteger_2Eint(V1i))) ) ).
tff(lamtp_f2674,type,
f2674: $i > $i ).
tff(lameq_f2674,axiom,
! [V0R: $i] :
( mem(V0R,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool)))
=> ! [V1n: tp__ty_2Enum_2Enum] : ( ap(f2674(V0R),inj__ty_2Enum_2Enum(V1n)) = 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(V1n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(ap(V0R,ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),inj__ty_2Enum_2Enum(V1n))) ) ) ).
tff(lamtp_f2675,type,
f2675: $i ).
tff(lameq_f2675,axiom,
! [V0R: $i] : ( ap(f2675,V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Enum_2Enum),V0R)),ap(c_2Ebool_2E_21(ty_2Enum_2Enum),f2674(V0R))) ) ).
tff(lamtp_f2676,type,
f2676: $i > $i ).
tff(lameq_f2676,axiom,
! [V2bits__of__num: $i] :
( mem(V2bits__of__num,arr(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)))
=> ! [V3a: tp__ty_2Enum_2Enum] : ( ap(f2676(V2bits__of__num),inj__ty_2Enum_2Enum(V3a)) = ap(c_2Ecombin_2EI(ty_2Elist_2Elist(bool)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V3a)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Elist_2ENIL(bool)),ap(ap(c_2Elist_2ECONS(bool),ap(c_2Earithmetic_2EODD,inj__ty_2Enum_2Enum(V3a))),ap(V2bits__of__num,ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V3a)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))) ) ) ).
tff(lamtp_f2677,type,
f2677: $i ).
tff(lameq_f2677,axiom,
! [V2bits__of__num: $i] : ( ap(f2677,V2bits__of__num) = f2676(V2bits__of__num) ) ).
tff(ax_thm_2Eint__bitwise_2Ebits__of__num__primitive__def,axiom,
c_2Eint__bitwise_2Ebits__of__num = ap(ap(c_2Erelation_2EWFREC(ty_2Enum_2Enum,ty_2Elist_2Elist(bool)),ap(c_2Emin_2E_40(arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,bool))),f2675)),f2677) ).
tff(conj_thm_2Eint__bitwise_2Ebits__of__num__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(ty_2Enum_2Enum,bool))
=> ( ! [V1n: tp__ty_2Enum_2Enum] :
( ( ( V1n != fo__c_2Enum_2E0 )
=> p(ap(V0P,ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V1n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))) )
=> p(ap(V0P,inj__ty_2Enum_2Enum(V1n))) )
=> ! [V2v: tp__ty_2Enum_2Enum] : p(ap(V0P,inj__ty_2Enum_2Enum(V2v))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Ebits__of__num__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( surj__c_ty_2Elist_2Elist_o(ap(c_2Eint__bitwise_2Ebits__of__num,inj__ty_2Enum_2Enum(V0n))) = surj__c_ty_2Elist_2Elist_o(ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(bool)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V0n)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Elist_2ENIL(bool)),ap(ap(c_2Elist_2ECONS(bool),ap(c_2Earithmetic_2EODD,inj__ty_2Enum_2Enum(V0n))),ap(c_2Eint__bitwise_2Ebits__of__num,ap(ap(c_2Earithmetic_2EDIV,inj__ty_2Enum_2Enum(V0n)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))))) ) ).
tff(ax_thm_2Eint__bitwise_2Ebits__of__int__def,axiom,
! [V0i: tp__ty_2Einteger_2Eint] : ( surj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V0i))) = surj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(ap(ap(ap(c_2Ebool_2ECOND(ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool)),ap(ap(c_2Einteger_2Eint__lt,inj__ty_2Einteger_2Eint(V0i)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),bool),ap(ap(c_2Elist_2EMAP(bool,bool),c_2Ebool_2E_7E),ap(c_2Eint__bitwise_2Ebits__of__num,ap(c_2Einteger_2ENum,ap(c_2Eint__bitwise_2Eint__not,inj__ty_2Einteger_2Eint(V0i)))))),inj__o(fo__c_2Ebool_2ET))),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),bool),ap(c_2Eint__bitwise_2Ebits__of__num,ap(c_2Einteger_2ENum,inj__ty_2Einteger_2Eint(V0i)))),inj__o(fo__c_2Ebool_2EF)))) ) ).
tff(lamtp_f2678,type,
f2678: $i > $i ).
tff(lameq_f2678,axiom,
! [V0R: $i] :
( mem(V0R,arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(bool),bool)))
=> ! [V1bs: tp__c_ty_2Elist_2Elist_o] : ( ap(f2678(V0R),inj__c_ty_2Elist_2Elist_o(V1bs)) = ap(ap(V0R,inj__c_ty_2Elist_2Elist_o(V1bs)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),inj__c_ty_2Elist_2Elist_o(V1bs))) ) ) ).
tff(lamtp_f2679,type,
f2679: $i > $i ).
tff(lameq_f2679,axiom,
! [V0R: $i] :
( mem(V0R,arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(bool),bool)))
=> ! [V2bs: tp__c_ty_2Elist_2Elist_o] : ( ap(f2679(V0R),inj__c_ty_2Elist_2Elist_o(V2bs)) = ap(ap(V0R,inj__c_ty_2Elist_2Elist_o(V2bs)),ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),inj__c_ty_2Elist_2Elist_o(V2bs))) ) ) ).
tff(lamtp_f2680,type,
f2680: $i ).
tff(lameq_f2680,axiom,
! [V0R: $i] : ( ap(f2680,V0R) = ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Erelation_2EWF(ty_2Elist_2Elist(bool)),V0R)),ap(ap(c_2Ebool_2E_2F_5C,ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f2678(V0R))),ap(c_2Ebool_2E_21(ty_2Elist_2Elist(bool)),f2679(V0R)))) ) ).
tff(lamtp_f2681,type,
f2681: ( tp__o * $i ) > $i ).
tff(lameq_f2681,axiom,
! [V5v: tp__o,V3num__of__bits: $i] :
( mem(V3num__of__bits,arr(ty_2Elist_2Elist(bool),ty_2Enum_2Enum))
=> ! [V6bs: tp__c_ty_2Elist_2Elist_o] : ( ap(f2681(V5v,V3num__of__bits),inj__c_ty_2Elist_2Elist_o(V6bs)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Enum_2Enum),inj__o(V5v)),ap(c_2Ecombin_2EI(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(V3num__of__bits,inj__c_ty_2Elist_2Elist_o(V6bs)))))),ap(c_2Ecombin_2EI(ty_2Enum_2Enum),ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(V3num__of__bits,inj__c_ty_2Elist_2Elist_o(V6bs))))) ) ) ).
tff(lamtp_f2682,type,
f2682: $i > $i ).
tff(lameq_f2682,axiom,
! [V3num__of__bits: $i] :
( mem(V3num__of__bits,arr(ty_2Elist_2Elist(bool),ty_2Enum_2Enum))
=> ! [V5v: tp__o] : ( ap(f2682(V3num__of__bits),inj__o(V5v)) = f2681(V5v,V3num__of__bits) ) ) ).
tff(lamtp_f2683,type,
f2683: $i > $i ).
tff(lameq_f2683,axiom,
! [V3num__of__bits: $i] :
( mem(V3num__of__bits,arr(ty_2Elist_2Elist(bool),ty_2Enum_2Enum))
=> ! [V4a: tp__c_ty_2Elist_2Elist_o] : ( ap(f2683(V3num__of__bits),inj__c_ty_2Elist_2Elist_o(V4a)) = ap(ap(ap(c_2Elist_2Elist__CASE(bool,ty_2Enum_2Enum),inj__c_ty_2Elist_2Elist_o(V4a)),ap(c_2Ecombin_2EI(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),f2682(V3num__of__bits)) ) ) ).
tff(lamtp_f2684,type,
f2684: $i ).
tff(lameq_f2684,axiom,
! [V3num__of__bits: $i] : ( ap(f2684,V3num__of__bits) = f2683(V3num__of__bits) ) ).
tff(ax_thm_2Eint__bitwise_2Enum__of__bits__primitive__def,axiom,
c_2Eint__bitwise_2Enum__of__bits = ap(ap(c_2Erelation_2EWFREC(ty_2Elist_2Elist(bool),ty_2Enum_2Enum),ap(c_2Emin_2E_40(arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(bool),bool))),f2680)),f2684) ).
tff(conj_thm_2Eint__bitwise_2Enum__of__bits__ind,axiom,
! [V0P: $i] :
( mem(V0P,arr(ty_2Elist_2Elist(bool),bool))
=> ( ( p(ap(V0P,c_2Elist_2ENIL(bool)))
& ! [V1bs: tp__c_ty_2Elist_2Elist_o] :
( p(ap(V0P,inj__c_ty_2Elist_2Elist_o(V1bs)))
=> p(ap(V0P,ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),inj__c_ty_2Elist_2Elist_o(V1bs)))) )
& ! [V2bs: tp__c_ty_2Elist_2Elist_o] :
( p(ap(V0P,inj__c_ty_2Elist_2Elist_o(V2bs)))
=> p(ap(V0P,ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),inj__c_ty_2Elist_2Elist_o(V2bs)))) ) )
=> ! [V3v: tp__c_ty_2Elist_2Elist_o] : p(ap(V0P,inj__c_ty_2Elist_2Elist_o(V3v))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Enum__of__bits__def,axiom,
( ( surj__ty_2Enum_2Enum(ap(c_2Eint__bitwise_2Enum__of__bits,c_2Elist_2ENIL(bool))) = fo__c_2Enum_2E0 )
& ! [V0bs: tp__c_ty_2Elist_2Elist_o] : ( surj__ty_2Enum_2Enum(ap(c_2Eint__bitwise_2Enum__of__bits,ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2EF)),inj__c_ty_2Elist_2Elist_o(V0bs)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(c_2Eint__bitwise_2Enum__of__bits,inj__c_ty_2Elist_2Elist_o(V0bs)))) )
& ! [V1bs: tp__c_ty_2Elist_2Elist_o] : ( surj__ty_2Enum_2Enum(ap(c_2Eint__bitwise_2Enum__of__bits,ap(ap(c_2Elist_2ECONS(bool),inj__o(fo__c_2Ebool_2ET)),inj__c_ty_2Elist_2Elist_o(V1bs)))) = surj__ty_2Enum_2Enum(ap(ap(c_2Earithmetic_2E_2B,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Earithmetic_2E_2A,ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(c_2Eint__bitwise_2Enum__of__bits,inj__c_ty_2Elist_2Elist_o(V1bs))))) ) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__of__bits__def,axiom,
! [V0bs: tp__c_ty_2Elist_2Elist_o,V1rest: tp__o] : ( surj__ty_2Einteger_2Eint(ap(c_2Eint__bitwise_2Eint__of__bits,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),bool),inj__c_ty_2Elist_2Elist_o(V0bs)),inj__o(V1rest)))) = surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Ebool_2ECOND(ty_2Einteger_2Eint),inj__o(V1rest)),ap(c_2Eint__bitwise_2Eint__not,ap(c_2Einteger_2Eint__of__num,ap(c_2Eint__bitwise_2Enum__of__bits,ap(ap(c_2Elist_2EMAP(bool,bool),c_2Ebool_2E_7E),inj__c_ty_2Elist_2Elist_o(V0bs)))))),ap(c_2Einteger_2Eint__of__num,ap(c_2Eint__bitwise_2Enum__of__bits,inj__c_ty_2Elist_2Elist_o(V0bs))))) ) ).
tff(conj_thm_2Eint__bitwise_2Ebits__bitwise__ind,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0P: $i] :
( mem(V0P,arr(arr(A_27b,arr(A_27c,A_27a)),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27b),A_27b),arr(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27c),A_27c),bool))))
=> ( ( ! [V1f: $i] :
( mem(V1f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V2r1: $i] :
( mem(V2r1,A_27b)
=> ! [V3r2: $i] :
( mem(V3r2,A_27c)
=> p(ap(ap(ap(V0P,V1f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V2r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V3r2))) ) ) )
& ! [V4f: $i] :
( mem(V4f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V5r1: $i] :
( mem(V5r1,A_27b)
=> ! [V6b2: $i] :
( mem(V6b2,A_27c)
=> ! [V7bs2: $i] :
( mem(V7bs2,ty_2Elist_2Elist(A_27c))
=> ! [V8r2: $i] :
( mem(V8r2,A_27c)
=> ( p(ap(ap(ap(V0P,V4f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V5r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),V7bs2),V8r2)))
=> p(ap(ap(ap(V0P,V4f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V5r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),ap(ap(c_2Elist_2ECONS(A_27c),V6b2),V7bs2)),V8r2))) ) ) ) ) ) )
& ! [V9f: $i] :
( mem(V9f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V10b1: $i] :
( mem(V10b1,A_27b)
=> ! [V11bs1: $i] :
( mem(V11bs1,ty_2Elist_2Elist(A_27b))
=> ! [V12r1: $i] :
( mem(V12r1,A_27b)
=> ! [V13r2: $i] :
( mem(V13r2,A_27c)
=> ( p(ap(ap(ap(V0P,V9f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),V11bs1),V12r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V13r2)))
=> p(ap(ap(ap(V0P,V9f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),ap(ap(c_2Elist_2ECONS(A_27b),V10b1),V11bs1)),V12r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V13r2))) ) ) ) ) ) )
& ! [V14f: $i] :
( mem(V14f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V15b1: $i] :
( mem(V15b1,A_27b)
=> ! [V16bs1: $i] :
( mem(V16bs1,ty_2Elist_2Elist(A_27b))
=> ! [V17r1: $i] :
( mem(V17r1,A_27b)
=> ! [V18b2: $i] :
( mem(V18b2,A_27c)
=> ! [V19bs2: $i] :
( mem(V19bs2,ty_2Elist_2Elist(A_27c))
=> ! [V20r2: $i] :
( mem(V20r2,A_27c)
=> ( p(ap(ap(ap(V0P,V14f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),V16bs1),V17r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),V19bs2),V20r2)))
=> p(ap(ap(ap(V0P,V14f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),ap(ap(c_2Elist_2ECONS(A_27b),V15b1),V16bs1)),V17r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),ap(ap(c_2Elist_2ECONS(A_27c),V18b2),V19bs2)),V20r2))) ) ) ) ) ) ) ) ) )
=> ! [V21v: $i] :
( mem(V21v,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V22v1: $i] :
( mem(V22v1,ty_2Elist_2Elist(A_27b))
=> ! [V23v2: $i] :
( mem(V23v2,A_27b)
=> ! [V24v3: $i] :
( mem(V24v3,ty_2Elist_2Elist(A_27c))
=> ! [V25v4: $i] :
( mem(V25v4,A_27c)
=> p(ap(ap(ap(V0P,V21v),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),V22v1),V23v2)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),V24v3),V25v4))) ) ) ) ) ) ) ) ).
tff(lamtp_f2685,type,
f2685: ( del * del * del * $i * $i * $i * $i ) > $i ).
tff(lameq_f2685,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V4r1: $i] :
( mem(V4r1,A_27b)
=> ! [V5f: $i] :
( mem(V5f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V7b2: $i] :
( mem(V7b2,A_27c)
=> ! [V8bs: $i] :
( mem(V8bs,ty_2Elist_2Elist(A_27a))
=> ! [V9r: $i] : ( ap(f2685(A_27c,A_27b,A_27a,V4r1,V5f,V7b2,V8bs),V9r) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),A_27a),ap(ap(c_2Elist_2ECONS(A_27a),ap(ap(V5f,V4r1),V7b2)),V8bs)),V9r) ) ) ) ) ) ).
tff(lamtp_f2686,type,
f2686: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2686,axiom,
! [A_27b: del,A_27c: del,A_27a: del,V4r1: $i] :
( mem(V4r1,A_27b)
=> ! [V5f: $i] :
( mem(V5f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V7b2: $i] :
( mem(V7b2,A_27c)
=> ! [V8bs: $i] : ( ap(f2686(A_27b,A_27c,A_27a,V4r1,V5f,V7b2),V8bs) = f2685(A_27c,A_27b,A_27a,V4r1,V5f,V7b2,V8bs) ) ) ) ) ).
tff(lamtp_f2687,type,
f2687: ( del * del * del * $i * $i * $i * $i ) > $i ).
tff(lameq_f2687,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V14b1: $i] :
( mem(V14b1,A_27b)
=> ! [V12f: $i] :
( mem(V12f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V10r2: $i] :
( mem(V10r2,A_27c)
=> ! [V15bs: $i] :
( mem(V15bs,ty_2Elist_2Elist(A_27a))
=> ! [V16r: $i] : ( ap(f2687(A_27c,A_27b,A_27a,V14b1,V12f,V10r2,V15bs),V16r) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),A_27a),ap(ap(c_2Elist_2ECONS(A_27a),ap(ap(V12f,V14b1),V10r2)),V15bs)),V16r) ) ) ) ) ) ).
tff(lamtp_f2688,type,
f2688: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2688,axiom,
! [A_27b: del,A_27c: del,A_27a: del,V14b1: $i] :
( mem(V14b1,A_27b)
=> ! [V12f: $i] :
( mem(V12f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V10r2: $i] :
( mem(V10r2,A_27c)
=> ! [V15bs: $i] : ( ap(f2688(A_27b,A_27c,A_27a,V14b1,V12f,V10r2),V15bs) = f2687(A_27c,A_27b,A_27a,V14b1,V12f,V10r2,V15bs) ) ) ) ) ).
tff(lamtp_f2689,type,
f2689: ( del * del * del * $i * $i * $i * $i ) > $i ).
tff(lameq_f2689,axiom,
! [A_27c: del,A_27b: del,A_27a: del,V23b1: $i] :
( mem(V23b1,A_27b)
=> ! [V19f: $i] :
( mem(V19f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V22b2: $i] :
( mem(V22b2,A_27c)
=> ! [V24bs: $i] :
( mem(V24bs,ty_2Elist_2Elist(A_27a))
=> ! [V25r: $i] : ( ap(f2689(A_27c,A_27b,A_27a,V23b1,V19f,V22b2,V24bs),V25r) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),A_27a),ap(ap(c_2Elist_2ECONS(A_27a),ap(ap(V19f,V23b1),V22b2)),V24bs)),V25r) ) ) ) ) ) ).
tff(lamtp_f2690,type,
f2690: ( del * del * del * $i * $i * $i ) > $i ).
tff(lameq_f2690,axiom,
! [A_27b: del,A_27c: del,A_27a: del,V23b1: $i] :
( mem(V23b1,A_27b)
=> ! [V19f: $i] :
( mem(V19f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V22b2: $i] :
( mem(V22b2,A_27c)
=> ! [V24bs: $i] : ( ap(f2690(A_27b,A_27c,A_27a,V23b1,V19f,V22b2),V24bs) = f2689(A_27c,A_27b,A_27a,V23b1,V19f,V22b2,V24bs) ) ) ) ) ).
tff(conj_thm_2Eint__bitwise_2Ebits__bitwise__def,axiom,
! [A_27a: del,A_27b: del,A_27c: del] :
( ! [V0r2: $i] :
( mem(V0r2,A_27c)
=> ! [V1r1: $i] :
( mem(V1r1,A_27b)
=> ! [V2f: $i] :
( mem(V2f,arr(A_27b,arr(A_27c,A_27a)))
=> ( ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V2f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V1r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V0r2)) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),A_27a),c_2Elist_2ENIL(A_27a)),ap(ap(V2f,V1r1),V0r2)) ) ) ) )
& ! [V3r2: $i] :
( mem(V3r2,A_27c)
=> ! [V4r1: $i] :
( mem(V4r1,A_27b)
=> ! [V5f: $i] :
( mem(V5f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V6bs2: $i] :
( mem(V6bs2,ty_2Elist_2Elist(A_27c))
=> ! [V7b2: $i] :
( mem(V7b2,A_27c)
=> ( ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V5f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V4r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),ap(ap(c_2Elist_2ECONS(A_27c),V7b2),V6bs2)),V3r2)) = ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),ap(c_2Epair_2EUNCURRY(ty_2Elist_2Elist(A_27a),A_27a,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),f2686(A_27b,A_27c,A_27a,V4r1,V5f,V7b2))),ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V5f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),c_2Elist_2ENIL(A_27b)),V4r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),V6bs2),V3r2))) ) ) ) ) ) )
& ! [V10r2: $i] :
( mem(V10r2,A_27c)
=> ! [V11r1: $i] :
( mem(V11r1,A_27b)
=> ! [V12f: $i] :
( mem(V12f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V13bs1: $i] :
( mem(V13bs1,ty_2Elist_2Elist(A_27b))
=> ! [V14b1: $i] :
( mem(V14b1,A_27b)
=> ( ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V12f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),ap(ap(c_2Elist_2ECONS(A_27b),V14b1),V13bs1)),V11r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V10r2)) = ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),ap(c_2Epair_2EUNCURRY(ty_2Elist_2Elist(A_27a),A_27a,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),f2688(A_27b,A_27c,A_27a,V14b1,V12f,V10r2))),ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V12f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),V13bs1),V11r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),c_2Elist_2ENIL(A_27c)),V10r2))) ) ) ) ) ) )
& ! [V17r2: $i] :
( mem(V17r2,A_27c)
=> ! [V18r1: $i] :
( mem(V18r1,A_27b)
=> ! [V19f: $i] :
( mem(V19f,arr(A_27b,arr(A_27c,A_27a)))
=> ! [V20bs2: $i] :
( mem(V20bs2,ty_2Elist_2Elist(A_27c))
=> ! [V21bs1: $i] :
( mem(V21bs1,ty_2Elist_2Elist(A_27b))
=> ! [V22b2: $i] :
( mem(V22b2,A_27c)
=> ! [V23b1: $i] :
( mem(V23b1,A_27b)
=> ( ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V19f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),ap(ap(c_2Elist_2ECONS(A_27b),V23b1),V21bs1)),V18r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),ap(ap(c_2Elist_2ECONS(A_27c),V22b2),V20bs2)),V17r2)) = ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a),ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),ap(c_2Epair_2EUNCURRY(ty_2Elist_2Elist(A_27a),A_27a,ty_2Epair_2Eprod(ty_2Elist_2Elist(A_27a),A_27a)),f2690(A_27b,A_27c,A_27a,V23b1,V19f,V22b2))),ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(A_27a,A_27b,A_27c),V19f),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27b),A_27b),V21bs1),V18r1)),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27c),A_27c),V20bs2),V17r2))) ) ) ) ) ) ) ) ) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__bitwise__def,axiom,
! [V0f: $i] :
( mem(V0f,arr(bool,arr(bool,bool)))
=> ! [V1i: tp__ty_2Einteger_2Eint,V2j: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(ap(c_2Eint__bitwise_2Eint__bitwise,V0f),inj__ty_2Einteger_2Eint(V1i)),inj__ty_2Einteger_2Eint(V2j))) = surj__ty_2Einteger_2Eint(ap(c_2Eint__bitwise_2Eint__of__bits,ap(ap(ap(c_2Eint__bitwise_2Ebits__bitwise(bool,bool,bool),V0f),ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V1i))),ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V2j))))) ) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__and__def,axiom,
c_2Eint__bitwise_2Eint__and = ap(c_2Eint__bitwise_2Eint__bitwise,c_2Ebool_2E_2F_5C) ).
tff(ax_thm_2Eint__bitwise_2Eint__or__def,axiom,
c_2Eint__bitwise_2Eint__or = ap(c_2Eint__bitwise_2Eint__bitwise,c_2Ebool_2E_5C_2F) ).
tff(ax_thm_2Eint__bitwise_2Eint__xor__def,axiom,
c_2Eint__bitwise_2Eint__xor = ap(c_2Eint__bitwise_2Eint__bitwise,f2171) ).
tff(lamtp_f2691,type,
f2691: $i ).
tff(lameq_f2691,axiom,
! [V1y: tp__o] : ( ap(f2691,inj__o(V1y)) = ap(c_2Ebool_2E_7E,inj__o(V1y)) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__not,axiom,
c_2Eint__bitwise_2Eint__not = ap(ap(c_2Eint__bitwise_2Eint__bitwise,k(bool,f2691)),ap(c_2Einteger_2Eint__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ).
tff(lamtp_f2692,type,
f2692: ( tp__c_ty_2Elist_2Elist_o * tp__ty_2Enum_2Enum ) > $i ).
tff(lameq_f2692,axiom,
! [V2bs: tp__c_ty_2Elist_2Elist_o,V0n: tp__ty_2Enum_2Enum,V3r: tp__o] : ( ap(f2692(V2bs,V0n),inj__o(V3r)) = ap(c_2Eint__bitwise_2Eint__of__bits,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),bool),ap(ap(c_2Elist_2EAPPEND(bool),ap(ap(c_2Elist_2EGENLIST(bool),ap(c_2Ecombin_2EK(bool,ty_2Enum_2Enum),inj__o(fo__c_2Ebool_2EF))),inj__ty_2Enum_2Enum(V0n))),inj__c_ty_2Elist_2Elist_o(V2bs))),inj__o(V3r))) ) ).
tff(lamtp_f2693,type,
f2693: tp__ty_2Enum_2Enum > $i ).
tff(lameq_f2693,axiom,
! [V0n: tp__ty_2Enum_2Enum,V2bs: tp__c_ty_2Elist_2Elist_o] : ( ap(f2693(V0n),inj__c_ty_2Elist_2Elist_o(V2bs)) = f2692(V2bs,V0n) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__shift__left__def,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1i: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Eint__bitwise_2Eint__shift__left,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Einteger_2Eint(V1i))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool),ty_2Einteger_2Eint),ap(c_2Epair_2EUNCURRY(ty_2Elist_2Elist(bool),bool,ty_2Einteger_2Eint),f2693(V0n))),ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V1i)))) ) ).
tff(lamtp_f2694,type,
f2694: ( tp__c_ty_2Elist_2Elist_o * tp__ty_2Enum_2Enum ) > $i ).
tff(lameq_f2694,axiom,
! [V2bs: tp__c_ty_2Elist_2Elist_o,V0n: tp__ty_2Enum_2Enum,V3r: tp__o] : ( ap(f2694(V2bs,V0n),inj__o(V3r)) = ap(c_2Eint__bitwise_2Eint__of__bits,ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),bool),ap(ap(c_2Elist_2EDROP(bool),inj__ty_2Enum_2Enum(V0n)),inj__c_ty_2Elist_2Elist_o(V2bs))),inj__o(V3r))) ) ).
tff(lamtp_f2695,type,
f2695: tp__ty_2Enum_2Enum > $i ).
tff(lameq_f2695,axiom,
! [V0n: tp__ty_2Enum_2Enum,V2bs: tp__c_ty_2Elist_2Elist_o] : ( ap(f2695(V0n),inj__c_ty_2Elist_2Elist_o(V2bs)) = f2694(V2bs,V0n) ) ).
tff(ax_thm_2Eint__bitwise_2Eint__shift__right__def,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1i: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(ap(c_2Eint__bitwise_2Eint__shift__right,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Einteger_2Eint(V1i))) = surj__ty_2Einteger_2Eint(ap(ap(c_2Ebool_2ELET(ty_2Epair_2Eprod(ty_2Elist_2Elist(bool),bool),ty_2Einteger_2Eint),ap(c_2Epair_2EUNCURRY(ty_2Elist_2Elist(bool),bool,ty_2Einteger_2Eint),f2695(V0n))),ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V1i)))) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__int__of__bits,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1b: tp__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0n)),ap(c_2Eint__bitwise_2Eint__of__bits,inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(V1b))))
<=> p(ap(ap(ap(c_2Ebool_2ECOND(bool),ap(ap(c_2Eprim__rec_2E_3C,inj__ty_2Enum_2Enum(V0n)),ap(c_2Elist_2ELENGTH(bool),ap(c_2Epair_2EFST(ty_2Elist_2Elist(bool),bool),inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(V1b))))),ap(ap(c_2Elist_2EEL(bool),inj__ty_2Enum_2Enum(V0n)),ap(c_2Epair_2EFST(ty_2Elist_2Elist(bool),bool),inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(V1b)))),ap(c_2Epair_2ESND(ty_2Elist_2Elist(bool),bool),inj__c_ty_2Epair_2Eprod_c_ty_2Elist_2Elist_o_o(V1b)))) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__of__bits__bits__of__int,axiom,
! [V0i: tp__ty_2Einteger_2Eint] : ( surj__ty_2Einteger_2Eint(ap(c_2Eint__bitwise_2Eint__of__bits,ap(c_2Eint__bitwise_2Ebits__of__int,inj__ty_2Einteger_2Eint(V0i)))) = V0i ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__bitwise,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1f: $i] :
( mem(V1f,arr(bool,arr(bool,bool)))
=> ! [V2i: tp__ty_2Einteger_2Eint,V3j: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0n)),ap(ap(ap(c_2Eint__bitwise_2Eint__bitwise,V1f),inj__ty_2Einteger_2Eint(V2i)),inj__ty_2Einteger_2Eint(V3j))))
<=> p(ap(ap(V1f,ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Einteger_2Eint(V2i))),ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0n)),inj__ty_2Einteger_2Eint(V3j)))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__and,axiom,
! [V0j: tp__ty_2Einteger_2Eint,V1i: tp__ty_2Einteger_2Eint,V2n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),ap(ap(c_2Eint__bitwise_2Eint__and,inj__ty_2Einteger_2Eint(V1i)),inj__ty_2Einteger_2Eint(V0j))))
<=> ( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V1i)))
& p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V0j))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__or,axiom,
! [V0j: tp__ty_2Einteger_2Eint,V1i: tp__ty_2Einteger_2Eint,V2n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),ap(ap(c_2Eint__bitwise_2Eint__or,inj__ty_2Einteger_2Eint(V1i)),inj__ty_2Einteger_2Eint(V0j))))
<=> ( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V1i)))
| p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V0j))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__xor,axiom,
! [V0j: tp__ty_2Einteger_2Eint,V1i: tp__ty_2Einteger_2Eint,V2n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),ap(ap(c_2Eint__bitwise_2Eint__xor,inj__ty_2Einteger_2Eint(V1i)),inj__ty_2Einteger_2Eint(V0j))))
<=> ~ ( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V1i)))
<=> p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V0j))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__equiv,axiom,
! [V0i: tp__ty_2Einteger_2Eint,V1j: tp__ty_2Einteger_2Eint] :
( ( V0i = V1j )
<=> ! [V2n: tp__ty_2Enum_2Enum] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V0i)))
<=> p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Einteger_2Eint(V1j))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__shift__left,axiom,
! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2i: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Eint__bitwise_2Eint__shift__left,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Einteger_2Eint(V2i))))
<=> ( p(ap(ap(c_2Earithmetic_2E_3C_3D,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Enum_2Enum(V0b)))
& p(ap(ap(c_2Eint__bitwise_2Eint__bit,ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n))),inj__ty_2Einteger_2Eint(V2i))) ) ) ).
tff(conj_thm_2Eint__bitwise_2Eint__bit__shift__right,axiom,
! [V0b: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum,V2i: tp__ty_2Einteger_2Eint] :
( p(ap(ap(c_2Eint__bitwise_2Eint__bit,inj__ty_2Enum_2Enum(V0b)),ap(ap(c_2Eint__bitwise_2Eint__shift__right,inj__ty_2Enum_2Enum(V1n)),inj__ty_2Einteger_2Eint(V2i))))
<=> p(ap(ap(c_2Eint__bitwise_2Eint__bit,ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V0b)),inj__ty_2Enum_2Enum(V1n))),inj__ty_2Einteger_2Eint(V2i))) ) ).
%------------------------------------------------------------------------------