ITP001 Axioms: ITP008^5.ax
%------------------------------------------------------------------------------
% File : ITP008^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 : combin^2.ax [Gau20]
% : HL4008^5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 83 ( 6 unt; 15 typ; 0 def)
% Number of atoms : 743 ( 61 equ; 0 cnn)
% Maximal formula atoms : 32 ( 8 avg)
% Number of connectives : 1653 ( 5 ~; 1 |; 9 &;1490 @)
% ( 13 <=>; 135 =>; 0 <=; 0 <~>)
% Maximal formula depth : 21 ( 11 avg;1490 nst)
% Number of types : 1 ( 0 usr)
% Number of type conns : 31 ( 31 >; 0 *; 0 +; 0 <<)
% Number of symbols : 34 ( 33 usr; 18 con; 0-3 aty)
% Number of variables : 302 ( 25 ^ 277 !; 0 ?; 302 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Ecombin_2E_3A_3E,type,
c_2Ecombin_2E_3A_3E: del > del > $i ).
thf(mem_c_2Ecombin_2E_3A_3E,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2E_3A_3E @ A_27a @ A_27b ) @ ( arr @ A_27b @ ( arr @ ( arr @ A_27b @ A_27a ) @ A_27a ) ) ) ).
thf(tp_c_2Ecombin_2EASSOC,type,
c_2Ecombin_2EASSOC: del > $i ).
thf(mem_c_2Ecombin_2EASSOC,axiom,
! [A_27a: del] : ( mem @ ( c_2Ecombin_2EASSOC @ A_27a ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) @ bool ) ) ).
thf(tp_c_2Ecombin_2EC,type,
c_2Ecombin_2EC: del > del > del > $i ).
thf(mem_c_2Ecombin_2EC,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Ecombin_2EC @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) @ ( arr @ A_27b @ ( arr @ A_27a @ A_27c ) ) ) ) ).
thf(tp_c_2Ecombin_2ECOMM,type,
c_2Ecombin_2ECOMM: del > del > $i ).
thf(mem_c_2Ecombin_2ECOMM,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2ECOMM @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27a @ A_27b ) ) @ bool ) ) ).
thf(tp_c_2Ecombin_2EFAIL,type,
c_2Ecombin_2EFAIL: del > del > $i ).
thf(mem_c_2Ecombin_2EFAIL,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2EFAIL @ A_27a @ A_27b ) @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) ) ).
thf(tp_c_2Ecombin_2EFCOMM,type,
c_2Ecombin_2EFCOMM: del > del > del > $i ).
thf(mem_c_2Ecombin_2EFCOMM,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Ecombin_2EFCOMM @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) @ ( arr @ ( arr @ A_27c @ ( arr @ A_27a @ A_27a ) ) @ bool ) ) ) ).
thf(tp_c_2Ecombin_2EI,type,
c_2Ecombin_2EI: del > $i ).
thf(mem_c_2Ecombin_2EI,axiom,
! [A_27a: del] : ( mem @ ( c_2Ecombin_2EI @ A_27a ) @ ( arr @ A_27a @ A_27a ) ) ).
thf(tp_c_2Ecombin_2EK,type,
c_2Ecombin_2EK: del > del > $i ).
thf(mem_c_2Ecombin_2EK,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2EK @ A_27a @ A_27b ) @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) ) ).
thf(tp_c_2Ecombin_2ELEFT__ID,type,
c_2Ecombin_2ELEFT__ID: del > del > $i ).
thf(mem_c_2Ecombin_2ELEFT__ID,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2ELEFT__ID @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ A_27b ) ) @ ( arr @ A_27a @ bool ) ) ) ).
thf(tp_c_2Ecombin_2EMONOID,type,
c_2Ecombin_2EMONOID: del > $i ).
thf(mem_c_2Ecombin_2EMONOID,axiom,
! [A_27a: del] : ( mem @ ( c_2Ecombin_2EMONOID @ A_27a ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) @ ( arr @ A_27a @ bool ) ) ) ).
thf(tp_c_2Ecombin_2ERIGHT__ID,type,
c_2Ecombin_2ERIGHT__ID: del > del > $i ).
thf(mem_c_2Ecombin_2ERIGHT__ID,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2ERIGHT__ID @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) @ ( arr @ A_27b @ bool ) ) ) ).
thf(tp_c_2Ecombin_2ES,type,
c_2Ecombin_2ES: del > del > del > $i ).
thf(mem_c_2Ecombin_2ES,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Ecombin_2ES @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) @ ( arr @ ( arr @ A_27a @ A_27b ) @ ( arr @ A_27a @ A_27c ) ) ) ) ).
thf(tp_c_2Ecombin_2EUPDATE,type,
c_2Ecombin_2EUPDATE: del > del > $i ).
thf(mem_c_2Ecombin_2EUPDATE,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ ( arr @ A_27a @ ( arr @ A_27b @ ( arr @ ( arr @ A_27a @ A_27b ) @ ( arr @ A_27a @ A_27b ) ) ) ) ) ).
thf(tp_c_2Ecombin_2EW,type,
c_2Ecombin_2EW: del > del > $i ).
thf(mem_c_2Ecombin_2EW,axiom,
! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ecombin_2EW @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27a @ A_27b ) ) @ ( arr @ A_27a @ A_27b ) ) ) ).
thf(tp_c_2Ecombin_2Eo,type,
c_2Ecombin_2Eo: del > del > del > $i ).
thf(mem_c_2Ecombin_2Eo,axiom,
! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27c @ A_27b ) @ ( arr @ ( arr @ A_27a @ A_27c ) @ ( arr @ A_27a @ A_27b ) ) ) ) ).
thf(ax_thm_2Ecombin_2EK__DEF,axiom,
! [A_27a: del,A_27b: del] :
( ( c_2Ecombin_2EK @ A_27a @ A_27b )
= ( lam @ A_27a
@ ^ [V0x: $i] :
( lam @ A_27b
@ ^ [V1y: $i] : V0x ) ) ) ).
thf(ax_thm_2Ecombin_2ES__DEF,axiom,
! [A_27a: del,A_27b: del,A_27c: del] :
( ( c_2Ecombin_2ES @ A_27a @ A_27b @ A_27c )
= ( lam @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) )
@ ^ [V0f: $i] :
( lam @ ( arr @ A_27a @ A_27b )
@ ^ [V1g: $i] :
( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ ( ap @ V0f @ V2x ) @ ( ap @ V1g @ V2x ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EI__DEF,axiom,
! [A_27a: del] :
( ( c_2Ecombin_2EI @ A_27a )
= ( ap @ ( ap @ ( c_2Ecombin_2ES @ A_27a @ ( arr @ A_27a @ A_27a ) @ A_27a ) @ ( c_2Ecombin_2EK @ A_27a @ ( arr @ A_27a @ A_27a ) ) ) @ ( c_2Ecombin_2EK @ A_27a @ A_27a ) ) ) ).
thf(ax_thm_2Ecombin_2EC__DEF,axiom,
! [A_27a: del,A_27b: del,A_27c: del] :
( ( c_2Ecombin_2EC @ A_27a @ A_27b @ A_27c )
= ( lam @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) )
@ ^ [V0f: $i] :
( lam @ A_27b
@ ^ [V1x: $i] :
( lam @ A_27a
@ ^ [V2y: $i] : ( ap @ ( ap @ V0f @ V2y ) @ V1x ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EW__DEF,axiom,
! [A_27a: del,A_27b: del] :
( ( c_2Ecombin_2EW @ A_27a @ A_27b )
= ( lam @ ( arr @ A_27a @ ( arr @ A_27a @ A_27b ) )
@ ^ [V0f: $i] :
( lam @ A_27a
@ ^ [V1x: $i] : ( ap @ ( ap @ V0f @ V1x ) @ V1x ) ) ) ) ).
thf(ax_thm_2Ecombin_2Eo__DEF,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27c @ A_27b ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27a @ A_27c ) )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1g )
= ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V0f @ ( ap @ V1g @ V2x ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EAPP__DEF,axiom,
! [A_27a: del,A_27b: del,V0x: $i] :
( ( mem @ V0x @ A_27b )
=> ! [V1f: $i] :
( ( mem @ V1f @ ( arr @ A_27b @ A_27a ) )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2E_3A_3E @ A_27a @ A_27b ) @ V0x ) @ V1f )
= ( ap @ V1f @ V0x ) ) ) ) ).
thf(ax_thm_2Ecombin_2EUPDATE__def,axiom,
! [A_27a: del,A_27b: del,V0a: $i] :
( ( mem @ V0a @ A_27a )
=> ! [V1b: $i] :
( ( mem @ V1b @ A_27b )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V0a ) @ V1b )
= ( lam @ ( arr @ A_27a @ A_27b )
@ ^ [V2f: $i] :
( lam @ A_27a
@ ^ [V3c: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ A_27b ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27a ) @ V0a ) @ V3c ) ) @ V1b ) @ ( ap @ V2f @ V3c ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2Eo__THM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27c @ A_27a ) )
=> ! [V2x: $i] :
( ( mem @ V2x @ A_27c )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27c @ A_27b @ A_27a ) @ V0f ) @ V1g ) @ V2x )
= ( ap @ V0f @ ( ap @ V1g @ V2x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2Eo__ASSOC,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27c @ A_27a ) )
=> ! [V2h: $i] :
( ( mem @ V2h @ ( arr @ A_27d @ A_27c ) )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27d @ A_27b @ A_27a ) @ V0f ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27d @ A_27a @ A_27c ) @ V1g ) @ V2h ) )
= ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27d @ A_27b @ A_27c ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27c @ A_27b @ A_27a ) @ V0f ) @ V1g ) ) @ V2h ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2Eo__ABS__L,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27c ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27b @ A_27a ) )
=> ( ( ap
@ ( ap @ ( c_2Ecombin_2Eo @ A_27b @ A_27c @ A_27a )
@ ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V0f @ V2x ) ) )
@ V1g )
= ( lam @ A_27b
@ ^ [V3x: $i] : ( ap @ V0f @ ( ap @ V1g @ V3x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2Eo__ABS__R,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27c @ A_27b ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27a @ A_27c ) )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27c ) @ V0f )
@ ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V1g @ V2x ) ) )
= ( lam @ A_27a
@ ^ [V3x: $i] : ( ap @ V0f @ ( ap @ V1g @ V3x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EK__THM,axiom,
! [A_27a: del,A_27b: del,V0x: $i] :
( ( mem @ V0x @ A_27a )
=> ! [V1y: $i] :
( ( mem @ V1y @ A_27b )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2EK @ A_27a @ A_27b ) @ V0x ) @ V1y )
= V0x ) ) ) ).
thf(conj_thm_2Ecombin_2ES__THM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27a @ A_27b ) )
=> ! [V2x: $i] :
( ( mem @ V2x @ A_27a )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2ES @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1g ) @ V2x )
= ( ap @ ( ap @ V0f @ V2x ) @ ( ap @ V1g @ V2x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2ES__ABS__L,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27c @ A_27b ) ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27a @ A_27c ) )
=> ( ( ap
@ ( ap @ ( c_2Ecombin_2ES @ A_27a @ A_27c @ A_27b )
@ ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V0f @ V2x ) ) )
@ V1g )
= ( lam @ A_27a
@ ^ [V3x: $i] : ( ap @ ( ap @ V0f @ V3x ) @ ( ap @ V1g @ V3x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2ES__ABS__R,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27c @ A_27b ) ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27a @ A_27c ) )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2ES @ A_27a @ A_27c @ A_27b ) @ V0f )
@ ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V1g @ V2x ) ) )
= ( lam @ A_27a
@ ^ [V3x: $i] : ( ap @ ( ap @ V0f @ V3x ) @ ( ap @ V1g @ V3x ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EC__THM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
=> ! [V1x: $i] :
( ( mem @ V1x @ A_27b )
=> ! [V2y: $i] :
( ( mem @ V2y @ A_27a )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EC @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1x ) @ V2y )
= ( ap @ ( ap @ V0f @ V2y ) @ V1x ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EC__ABS__L,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27c @ A_27b ) ) )
=> ! [V1y: $i] :
( ( mem @ V1y @ A_27c )
=> ( ( ap
@ ( ap @ ( c_2Ecombin_2EC @ A_27a @ A_27c @ A_27b )
@ ( lam @ A_27a
@ ^ [V2x: $i] : ( ap @ V0f @ V2x ) ) )
@ V1y )
= ( lam @ A_27a
@ ^ [V3x: $i] : ( ap @ ( ap @ V0f @ V3x ) @ V1y ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EW__THM,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27b ) ) )
=> ! [V1x: $i] :
( ( mem @ V1x @ A_27a )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2EW @ A_27a @ A_27b ) @ V0f ) @ V1x )
= ( ap @ ( ap @ V0f @ V1x ) @ V1x ) ) ) ) ).
thf(conj_thm_2Ecombin_2EI__THM,axiom,
! [A_27a: del,V0x: $i] :
( ( mem @ V0x @ A_27a )
=> ( ( ap @ ( c_2Ecombin_2EI @ A_27a ) @ V0x )
= V0x ) ) ).
thf(conj_thm_2Ecombin_2EI__o__ID,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ( ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27b ) @ ( c_2Ecombin_2EI @ A_27b ) ) @ V0f )
= V0f )
& ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27a ) @ V0f ) @ ( c_2Ecombin_2EI @ A_27a ) )
= V0f ) ) ) ).
thf(conj_thm_2Ecombin_2EK__o__THM,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,A_27e: del,A_27f: del] :
( ! [V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1v: $i] :
( ( mem @ V1v @ A_27c )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27c @ A_27b ) @ ( ap @ ( c_2Ecombin_2EK @ A_27c @ A_27b ) @ V1v ) ) @ V0f )
= ( ap @ ( c_2Ecombin_2EK @ A_27c @ A_27a ) @ V1v ) ) ) )
& ! [V2f: $i] :
( ( mem @ V2f @ ( arr @ A_27d @ A_27e ) )
=> ! [V3v: $i] :
( ( mem @ V3v @ A_27d )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27f @ A_27e @ A_27d ) @ V2f ) @ ( ap @ ( c_2Ecombin_2EK @ A_27d @ A_27f ) @ V3v ) )
= ( ap @ ( c_2Ecombin_2EK @ A_27e @ A_27f ) @ ( ap @ V2f @ V3v ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPDATE__APPLY,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del] :
( ! [V0a: $i] :
( ( mem @ V0a @ A_27a )
=> ! [V1x: $i] :
( ( mem @ V1x @ A_27b )
=> ! [V2f: $i] :
( ( mem @ V2f @ ( arr @ A_27a @ A_27b ) )
=> ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V0a ) @ V1x ) @ V2f ) @ V0a )
= V1x ) ) ) )
& ! [V3a: $i] :
( ( mem @ V3a @ A_27c )
=> ! [V4b: $i] :
( ( mem @ V4b @ A_27c )
=> ! [V5x: $i] :
( ( mem @ V5x @ A_27d )
=> ! [V6f: $i] :
( ( mem @ V6f @ ( arr @ A_27c @ A_27d ) )
=> ( ( V3a != V4b )
=> ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27c @ A_27d ) @ V3a ) @ V5x ) @ V6f ) @ V4b )
= ( ap @ V6f @ V4b ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EAPPLY__UPDATE__THM,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27b )
=> ! [V3c: $i] :
( ( mem @ V3c @ A_27a )
=> ( ( ap @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V2b ) @ V0f ) @ V3c )
= ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ A_27b ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27a ) @ V1a ) @ V3c ) ) @ V2b ) @ ( ap @ V0f @ V3c ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPDATE__COMMUTES,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27a )
=> ! [V3c: $i] :
( ( mem @ V3c @ A_27b )
=> ! [V4d: $i] :
( ( mem @ V4d @ A_27b )
=> ( ( V1a != V2b )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2b ) @ V4d ) @ V0f ) )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2b ) @ V4d ) @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ V0f ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPDATE__EQ,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27b )
=> ! [V3c: $i] :
( ( mem @ V3c @ A_27b )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V2b ) @ V0f ) )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ V0f ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPDATE__APPLY__ID,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27b )
=> ( ( ( ap @ V0f @ V1a )
= V2b )
<=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V2b ) @ V0f )
= V0f ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPDATE__APPLY__IMP__ID,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1b: $i] :
( ( mem @ V1b @ A_27b )
=> ! [V2a: $i] :
( ( mem @ V2a @ A_27a )
=> ( ( ( ap @ V0f @ V2a )
= V1b )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2a ) @ V1b ) @ V0f )
= V0f ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EAPPLY__UPDATE__ID,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ ( ap @ V0f @ V1a ) ) @ V0f )
= V0f ) ) ) ).
thf(conj_thm_2Ecombin_2EUPD11__SAME__BASE,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27a )
=> ! [V3c: $i] :
( ( mem @ V3c @ A_27b )
=> ! [V4d: $i] :
( ( mem @ V4d @ A_27b )
=> ( ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ V0f )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2b ) @ V4d ) @ V0f ) )
<=> ( ( ( V1a = V2b )
& ( V3c = V4d ) )
| ( ( V1a != V2b )
& ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ V0f )
= V0f )
& ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2b ) @ V4d ) @ V0f )
= V0f ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2ESAME__KEY__UPDATE__DIFFER,axiom,
! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27c @ A_27d ) )
=> ! [V1f1: $i] :
( ( mem @ V1f1 @ A_27a )
=> ! [V2f2: $i] :
( ( mem @ V2f2 @ A_27b )
=> ! [V3a: $i] :
( ( mem @ V3a @ A_27c )
=> ! [V4b: $i] :
( ( mem @ V4b @ A_27d )
=> ! [V5c: $i] :
( ( mem @ V5c @ A_27d )
=> ( ( V4b != V5c )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27c @ A_27d ) @ V3a ) @ V4b ) @ V0f )
!= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27c @ A_27d ) @ V3a ) @ V5c ) @ V0f ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPD11__SAME__KEY__AND__BASE,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2b: $i] :
( ( mem @ V2b @ A_27b )
=> ! [V3c: $i] :
( ( mem @ V3c @ A_27b )
=> ( ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V2b ) @ V0f )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V1a ) @ V3c ) @ V0f ) )
<=> ( V2b = V3c ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EUPD__SAME__KEY__UNWIND,axiom,
! [A_27a: del,A_27b: del,V0f1: $i] :
( ( mem @ V0f1 @ ( arr @ A_27a @ A_27b ) )
=> ! [V1f2: $i] :
( ( mem @ V1f2 @ ( arr @ A_27a @ A_27b ) )
=> ! [V2a: $i] :
( ( mem @ V2a @ A_27a )
=> ! [V3b: $i] :
( ( mem @ V3b @ A_27b )
=> ! [V4c: $i] :
( ( mem @ V4c @ A_27b )
=> ( ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2a ) @ V3b ) @ V0f1 )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2a ) @ V4c ) @ V1f2 ) )
=> ( ( V3b = V4c )
& ! [V5v: $i] :
( ( mem @ V5v @ A_27b )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2a ) @ V5v ) @ V0f1 )
= ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EUPDATE @ A_27a @ A_27b ) @ V2a ) @ V5v ) @ V1f2 ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EGEN__LET__RAND,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0P: $i] :
( ( mem @ V0P @ ( arr @ A_27b @ A_27a ) )
=> ! [V1f: $i] :
( ( mem @ V1f @ ( arr @ A_27c @ A_27b ) )
=> ! [V2v: $i] :
( ( mem @ V2v @ A_27c )
=> ( ( ap @ V0P @ ( ap @ ( ap @ ( c_2Ebool_2ELET @ A_27c @ A_27b ) @ V1f ) @ V2v ) )
= ( ap @ ( ap @ ( c_2Ebool_2ELET @ A_27c @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27c @ A_27a @ A_27b ) @ V0P ) @ V1f ) ) @ V2v ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EGEN__LET__RATOR,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27b @ ( arr @ A_27c @ A_27a ) ) )
=> ! [V1v: $i] :
( ( mem @ V1v @ A_27b )
=> ! [V2x: $i] :
( ( mem @ V2x @ A_27c )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ELET @ A_27b @ ( arr @ A_27c @ A_27a ) ) @ V0f ) @ V1v ) @ V2x )
= ( ap @ ( ap @ ( c_2Ebool_2ELET @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2EC @ A_27b @ A_27c @ A_27a ) @ V0f ) @ V2x ) ) @ V1v ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2ELET__FORALL__ELIM,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ bool ) )
=> ! [V1v: $i] :
( ( mem @ V1v @ A_27a )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2ELET @ A_27a @ bool ) @ V0f ) @ V1v ) )
<=> ( p @ ( ap @ ( c_2Ebool_2E_21 @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2ES @ A_27a @ bool @ bool ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ ( arr @ bool @ bool ) @ bool ) @ c_2Emin_2E_3D_3D_3E ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ bool @ bool ) @ c_2Emarker_2EAbbrev ) @ ( ap @ ( ap @ ( c_2Ecombin_2EC @ A_27a @ A_27a @ bool ) @ ( c_2Emin_2E_3D @ A_27a ) ) @ V1v ) ) ) ) @ V0f ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EGEN__literal__case__RAND,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0P: $i] :
( ( mem @ V0P @ ( arr @ A_27b @ A_27a ) )
=> ! [V1f: $i] :
( ( mem @ V1f @ ( arr @ A_27c @ A_27b ) )
=> ! [V2v: $i] :
( ( mem @ V2v @ A_27c )
=> ( ( ap @ V0P @ ( ap @ ( ap @ ( c_2Ebool_2Eliteral__case @ A_27c @ A_27b ) @ V1f ) @ V2v ) )
= ( ap @ ( ap @ ( c_2Ebool_2Eliteral__case @ A_27c @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27c @ A_27a @ A_27b ) @ V0P ) @ V1f ) ) @ V2v ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EGEN__literal__case__RATOR,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27b @ ( arr @ A_27c @ A_27a ) ) )
=> ! [V1v: $i] :
( ( mem @ V1v @ A_27b )
=> ! [V2x: $i] :
( ( mem @ V2x @ A_27c )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2Eliteral__case @ A_27b @ ( arr @ A_27c @ A_27a ) ) @ V0f ) @ V1v ) @ V2x )
= ( ap @ ( ap @ ( c_2Ebool_2Eliteral__case @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2EC @ A_27b @ A_27c @ A_27a ) @ V0f ) @ V2x ) ) @ V1v ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2Eliteral__case__FORALL__ELIM,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ bool ) )
=> ! [V1v: $i] :
( ( mem @ V1v @ A_27a )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2Eliteral__case @ A_27a @ bool ) @ V0f ) @ V1v ) )
<=> ( p @ ( ap @ ( c_2Ebool_2E_21 @ A_27a ) @ ( ap @ ( ap @ ( c_2Ecombin_2ES @ A_27a @ bool @ bool ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ ( arr @ bool @ bool ) @ bool ) @ c_2Emin_2E_3D_3D_3E ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ bool @ bool ) @ c_2Emarker_2EAbbrev ) @ ( ap @ ( ap @ ( c_2Ecombin_2EC @ A_27a @ A_27a @ bool ) @ ( c_2Emin_2E_3D @ A_27a ) ) @ V1v ) ) ) ) @ V0f ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EASSOC__DEF,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) )
=> ( ( p @ ( ap @ ( c_2Ecombin_2EASSOC @ A_27a ) @ V0f ) )
<=> ! [V1x: $i] :
( ( mem @ V1x @ A_27a )
=> ! [V2y: $i] :
( ( mem @ V2y @ A_27a )
=> ! [V3z: $i] :
( ( mem @ V3z @ A_27a )
=> ( ( ap @ ( ap @ V0f @ V1x ) @ ( ap @ ( ap @ V0f @ V2y ) @ V3z ) )
= ( ap @ ( ap @ V0f @ ( ap @ ( ap @ V0f @ V1x ) @ V2y ) ) @ V3z ) ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2ECOMM__DEF,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27b ) ) )
=> ( ( p @ ( ap @ ( c_2Ecombin_2ECOMM @ A_27a @ A_27b ) @ V0f ) )
<=> ! [V1x: $i] :
( ( mem @ V1x @ A_27a )
=> ! [V2y: $i] :
( ( mem @ V2y @ A_27a )
=> ( ( ap @ ( ap @ V0f @ V1x ) @ V2y )
= ( ap @ ( ap @ V0f @ V2y ) @ V1x ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EFCOMM__DEF,axiom,
! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) )
=> ! [V1g: $i] :
( ( mem @ V1g @ ( arr @ A_27c @ ( arr @ A_27a @ A_27a ) ) )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ecombin_2EFCOMM @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1g ) )
<=> ! [V2x: $i] :
( ( mem @ V2x @ A_27c )
=> ! [V3y: $i] :
( ( mem @ V3y @ A_27a )
=> ! [V4z: $i] :
( ( mem @ V4z @ A_27b )
=> ( ( ap @ ( ap @ V1g @ V2x ) @ ( ap @ ( ap @ V0f @ V3y ) @ V4z ) )
= ( ap @ ( ap @ V0f @ ( ap @ ( ap @ V1g @ V2x ) @ V3y ) ) @ V4z ) ) ) ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2ERIGHT__ID__DEF,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27a ) ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ A_27b )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ecombin_2ERIGHT__ID @ A_27a @ A_27b ) @ V0f ) @ V1e ) )
<=> ! [V2x: $i] :
( ( mem @ V2x @ A_27a )
=> ( ( ap @ ( ap @ V0f @ V2x ) @ V1e )
= V2x ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2ELEFT__ID__DEF,axiom,
! [A_27a: del,A_27b: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27b ) ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ A_27a )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ecombin_2ELEFT__ID @ A_27a @ A_27b ) @ V0f ) @ V1e ) )
<=> ! [V2x: $i] :
( ( mem @ V2x @ A_27b )
=> ( ( ap @ ( ap @ V0f @ V1e ) @ V2x )
= V2x ) ) ) ) ) ).
thf(ax_thm_2Ecombin_2EMONOID__DEF,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) )
=> ! [V1e: $i] :
( ( mem @ V1e @ A_27a )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ecombin_2EMONOID @ A_27a ) @ V0f ) @ V1e ) )
<=> ( ( p @ ( ap @ ( c_2Ecombin_2EASSOC @ A_27a ) @ V0f ) )
& ( p @ ( ap @ ( ap @ ( c_2Ecombin_2ERIGHT__ID @ A_27a @ A_27a ) @ V0f ) @ V1e ) )
& ( p @ ( ap @ ( ap @ ( c_2Ecombin_2ELEFT__ID @ A_27a @ A_27a ) @ V0f ) @ V1e ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EASSOC__CONJ,axiom,
p @ ( ap @ ( c_2Ecombin_2EASSOC @ bool ) @ c_2Ebool_2E_2F_5C ) ).
thf(conj_thm_2Ecombin_2EASSOC__SYM,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) )
=> ( ( p @ ( ap @ ( c_2Ecombin_2EASSOC @ A_27a ) @ V0f ) )
<=> ! [V1x: $i] :
( ( mem @ V1x @ A_27a )
=> ! [V2y: $i] :
( ( mem @ V2y @ A_27a )
=> ! [V3z: $i] :
( ( mem @ V3z @ A_27a )
=> ( ( ap @ ( ap @ V0f @ ( ap @ ( ap @ V0f @ V1x ) @ V2y ) ) @ V3z )
= ( ap @ ( ap @ V0f @ V1x ) @ ( ap @ ( ap @ V0f @ V2y ) @ V3z ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Ecombin_2EASSOC__DISJ,axiom,
p @ ( ap @ ( c_2Ecombin_2EASSOC @ bool ) @ c_2Ebool_2E_5C_2F ) ).
thf(conj_thm_2Ecombin_2EFCOMM__ASSOC,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27a @ A_27a ) ) )
=> ( ( p @ ( ap @ ( ap @ ( c_2Ecombin_2EFCOMM @ A_27a @ A_27a @ A_27a ) @ V0f ) @ V0f ) )
<=> ( p @ ( ap @ ( c_2Ecombin_2EASSOC @ A_27a ) @ V0f ) ) ) ) ).
thf(conj_thm_2Ecombin_2EMONOID__CONJ__T,axiom,
p @ ( ap @ ( ap @ ( c_2Ecombin_2EMONOID @ bool ) @ c_2Ebool_2E_2F_5C ) @ c_2Ebool_2ET ) ).
thf(conj_thm_2Ecombin_2EMONOID__DISJ__F,axiom,
p @ ( ap @ ( ap @ ( c_2Ecombin_2EMONOID @ bool ) @ c_2Ebool_2E_5C_2F ) @ c_2Ebool_2EF ) ).
thf(ax_thm_2Ecombin_2EFAIL__DEF,axiom,
! [A_27a: del,A_27b: del] :
( ( c_2Ecombin_2EFAIL @ A_27a @ A_27b )
= ( lam @ A_27a
@ ^ [V0x: $i] :
( lam @ A_27b
@ ^ [V1y: $i] : V0x ) ) ) ).
thf(conj_thm_2Ecombin_2EFAIL__THM,axiom,
! [A_27a: del,A_27b: del,V0x: $i] :
( ( mem @ V0x @ A_27a )
=> ! [V1y: $i] :
( ( mem @ V1y @ A_27b )
=> ( ( ap @ ( ap @ ( c_2Ecombin_2EFAIL @ A_27a @ A_27b ) @ V0x ) @ V1y )
= V0x ) ) ) ).
%------------------------------------------------------------------------------