TPTP Problem File: ITP144^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP144^1 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer PHoareTotal problem prob_493__3263728_1
% Version : Especial.
% English :
% Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source : [Des21]
% Names : PHoareTotal/prob_493__3263728_1 [Des21]
% Status : Theorem
% Rating : 0.25 v9.0.0, 0.30 v8.2.0, 0.23 v8.1.0, 0.27 v7.5.0
% Syntax : Number of formulae : 138 ( 54 unt; 26 typ; 0 def)
% Number of atoms : 265 ( 153 equ; 0 cnn)
% Maximal formula atoms : 7 ( 2 avg)
% Number of connectives : 728 ( 51 ~; 4 |; 26 &; 546 @)
% ( 0 <=>; 101 =>; 0 <=; 0 <~>)
% Maximal formula depth : 15 ( 5 avg)
% Number of types : 5 ( 4 usr)
% Number of type conns : 91 ( 91 >; 0 *; 0 +; 0 <<)
% Number of symbols : 24 ( 22 usr; 3 con; 0-3 aty)
% Number of variables : 286 ( 41 ^; 230 !; 15 ?; 286 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 15:33:49.690
%------------------------------------------------------------------------------
% Could-be-implicit typings (4)
thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__b_J_J,type,
set_set_b: $tType ).
thf(ty_n_t__Set__Oset_Itf__b_J,type,
set_b: $tType ).
thf(ty_n_tf__b,type,
b: $tType ).
thf(ty_n_tf__a,type,
a: $tType ).
% Explicit typings (22)
thf(sy_c_Fun_Obij__betw_001tf__b_001tf__b,type,
bij_betw_b_b: ( b > b ) > set_b > set_b > $o ).
thf(sy_c_Fun_Oinj__on_001tf__b_001t__Set__Oset_Itf__b_J,type,
inj_on_b_set_b: ( b > set_b ) > set_b > $o ).
thf(sy_c_Fun_Oinj__on_001tf__b_001tf__b,type,
inj_on_b_b: ( b > b ) > set_b > $o ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__b_J,type,
minus_minus_set_b: set_b > set_b > set_b ).
thf(sy_c_Hilbert__Choice_OEps_001tf__b,type,
hilbert_Eps_b: ( b > $o ) > b ).
thf(sy_c_Hilbert__Choice_Oinv__into_001tf__b_001tf__b,type,
hilbert_inv_into_b_b: set_b > ( b > b ) > b > b ).
thf(sy_c_Orderings_Obot__class_Obot_001_062_Itf__b_M_Eo_J,type,
bot_bot_b_o: b > $o ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__b_J,type,
bot_bot_set_b: set_b ).
thf(sy_c_Orderings_Otop__class_Otop_001_062_Itf__b_M_Eo_J,type,
top_top_b_o: b > $o ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_Itf__b_J,type,
top_top_set_b: set_b ).
thf(sy_c_Set_OCollect_001tf__b,type,
collect_b: ( b > $o ) > set_b ).
thf(sy_c_Set_Oimage_001t__Set__Oset_Itf__b_J_001t__Set__Oset_Itf__b_J,type,
image_set_b_set_b: ( set_b > set_b ) > set_set_b > set_set_b ).
thf(sy_c_Set_Oimage_001tf__b_001tf__b,type,
image_b_b: ( b > b ) > set_b > set_b ).
thf(sy_c_Set_Oinsert_001tf__b,type,
insert_b: b > set_b > set_b ).
thf(sy_c_Set_Ois__empty_001tf__b,type,
is_empty_b: set_b > $o ).
thf(sy_c_Set_Ois__singleton_001tf__b,type,
is_singleton_b: set_b > $o ).
thf(sy_c_Set_Oremove_001tf__b,type,
remove_b: b > set_b > set_b ).
thf(sy_c_Set_Othe__elem_001tf__b,type,
the_elem_b: set_b > b ).
thf(sy_c_member_001t__Set__Oset_Itf__b_J,type,
member_set_b: set_b > set_set_b > $o ).
thf(sy_c_member_001tf__b,type,
member_b: b > set_b > $o ).
thf(sy_v_P,type,
p: a > $o ).
thf(sy_v_Q,type,
q: a > b > $o ).
% Relevant facts (110)
thf(fact_0_some__equality,axiom,
! [P: b > $o,A: b] :
( ( P @ A )
=> ( ! [X: b] :
( ( P @ X )
=> ( X = A ) )
=> ( ( hilbert_Eps_b @ P )
= A ) ) ) ).
% some_equality
thf(fact_1_some__eq__trivial,axiom,
! [X2: b] :
( ( hilbert_Eps_b
@ ^ [Y: b] : ( Y = X2 ) )
= X2 ) ).
% some_eq_trivial
thf(fact_2_some__sym__eq__trivial,axiom,
! [X2: b] :
( ( hilbert_Eps_b
@ ( ^ [Y2: b,Z: b] : ( Y2 = Z )
@ X2 ) )
= X2 ) ).
% some_sym_eq_trivial
thf(fact_3_verit__sko__ex_H,axiom,
! [P: b > $o,A2: $o] :
( ( ( P @ ( hilbert_Eps_b @ P ) )
= A2 )
=> ( ( ? [X3: b] : ( P @ X3 ) )
= A2 ) ) ).
% verit_sko_ex'
thf(fact_4_verit__sko__forall,axiom,
( ( ^ [P2: b > $o] :
! [X3: b] : ( P2 @ X3 ) )
= ( ^ [P3: b > $o] :
( P3
@ ( hilbert_Eps_b
@ ^ [X4: b] :
~ ( P3 @ X4 ) ) ) ) ) ).
% verit_sko_forall
thf(fact_5_someI2,axiom,
! [P: b > $o,A: b,Q: b > $o] :
( ( P @ A )
=> ( ! [X: b] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( hilbert_Eps_b @ P ) ) ) ) ).
% someI2
thf(fact_6_verit__sko__forall_H,axiom,
! [P: b > $o,A2: $o] :
( ( ( P
@ ( hilbert_Eps_b
@ ^ [X4: b] :
~ ( P @ X4 ) ) )
= A2 )
=> ( ( ! [X3: b] : ( P @ X3 ) )
= A2 ) ) ).
% verit_sko_forall'
thf(fact_7_verit__sko__forall_H_H,axiom,
! [B: b,A2: b,P: b > $o] :
( ( B = A2 )
=> ( ( ( hilbert_Eps_b @ P )
= A2 )
= ( ( hilbert_Eps_b @ P )
= B ) ) ) ).
% verit_sko_forall''
thf(fact_8_someI__ex,axiom,
! [P: b > $o] :
( ? [X_1: b] : ( P @ X_1 )
=> ( P @ ( hilbert_Eps_b @ P ) ) ) ).
% someI_ex
thf(fact_9_someI2__ex,axiom,
! [P: b > $o,Q: b > $o] :
( ? [X_1: b] : ( P @ X_1 )
=> ( ! [X: b] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( hilbert_Eps_b @ P ) ) ) ) ).
% someI2_ex
thf(fact_10_someI2__bex,axiom,
! [A2: set_b,P: b > $o,Q: b > $o] :
( ? [X5: b] :
( ( member_b @ X5 @ A2 )
& ( P @ X5 ) )
=> ( ! [X: b] :
( ( ( member_b @ X @ A2 )
& ( P @ X ) )
=> ( Q @ X ) )
=> ( Q
@ ( hilbert_Eps_b
@ ^ [X4: b] :
( ( member_b @ X4 @ A2 )
& ( P @ X4 ) ) ) ) ) ) ).
% someI2_bex
thf(fact_11_some__eq__ex,axiom,
! [P: b > $o] :
( ( P @ ( hilbert_Eps_b @ P ) )
= ( ? [X3: b] : ( P @ X3 ) ) ) ).
% some_eq_ex
thf(fact_12_some__eq__imp,axiom,
! [P: b > $o,A: b,B2: b] :
( ( ( hilbert_Eps_b @ P )
= A )
=> ( ( P @ B2 )
=> ( P @ A ) ) ) ).
% some_eq_imp
thf(fact_13_tfl__some,axiom,
! [P4: b > $o,X5: b] :
( ( P4 @ X5 )
=> ( P4 @ ( hilbert_Eps_b @ P4 ) ) ) ).
% tfl_some
thf(fact_14_Eps__cong,axiom,
! [P: b > $o,Q: b > $o] :
( ! [X: b] :
( ( P @ X )
= ( Q @ X ) )
=> ( ( hilbert_Eps_b @ P )
= ( hilbert_Eps_b @ Q ) ) ) ).
% Eps_cong
thf(fact_15_someI,axiom,
! [P: b > $o,X2: b] :
( ( P @ X2 )
=> ( P @ ( hilbert_Eps_b @ P ) ) ) ).
% someI
thf(fact_16_verit__sko__forall__indirect2,axiom,
! [X2: b,P: b > $o,P5: b > $o] :
( ( X2
= ( hilbert_Eps_b
@ ^ [X4: b] :
~ ( P @ X4 ) ) )
=> ( ! [X: b] :
( ( P @ X )
= ( P5 @ X ) )
=> ( ( ! [X3: b] : ( P5 @ X3 ) )
= ( P @ X2 ) ) ) ) ).
% verit_sko_forall_indirect2
thf(fact_17_verit__sko__forall__indirect,axiom,
! [X2: b,P: b > $o] :
( ( X2
= ( hilbert_Eps_b
@ ^ [X4: b] :
~ ( P @ X4 ) ) )
=> ( ( ! [X3: b] : ( P @ X3 ) )
= ( P @ X2 ) ) ) ).
% verit_sko_forall_indirect
thf(fact_18_some1__equality,axiom,
! [P: b > $o,A: b] :
( ? [X5: b] :
( ( P @ X5 )
& ! [Y3: b] :
( ( P @ Y3 )
=> ( Y3 = X5 ) ) )
=> ( ( P @ A )
=> ( ( hilbert_Eps_b @ P )
= A ) ) ) ).
% some1_equality
thf(fact_19_verit__sko__ex__indirect2,axiom,
! [X2: b,P: b > $o,P5: b > $o] :
( ( X2
= ( hilbert_Eps_b @ P ) )
=> ( ! [X: b] :
( ( P @ X )
= ( P5 @ X ) )
=> ( ( ? [X3: b] : ( P5 @ X3 ) )
= ( P @ X2 ) ) ) ) ).
% verit_sko_ex_indirect2
thf(fact_20_verit__sko__ex__indirect,axiom,
! [X2: b,P: b > $o] :
( ( X2
= ( hilbert_Eps_b @ P ) )
=> ( ( ? [X3: b] : ( P @ X3 ) )
= ( P @ X2 ) ) ) ).
% verit_sko_ex_indirect
thf(fact_21_Nitpick_OEps__psimp,axiom,
! [P: b > $o,X2: b,Y4: b] :
( ( P @ X2 )
=> ( ~ ( P @ Y4 )
=> ( ( ( hilbert_Eps_b @ P )
= Y4 )
=> ( ( hilbert_Eps_b @ P )
= X2 ) ) ) ) ).
% Nitpick.Eps_psimp
thf(fact_22_some__in__eq,axiom,
! [A2: set_b] :
( ( member_b
@ ( hilbert_Eps_b
@ ^ [X4: b] : ( member_b @ X4 @ A2 ) )
@ A2 )
= ( A2 != bot_bot_set_b ) ) ).
% some_in_eq
thf(fact_23_exE__some,axiom,
! [P: b > $o,C: b] :
( ? [X_1: b] : ( P @ X_1 )
=> ( ( C
= ( hilbert_Eps_b @ P ) )
=> ( P @ C ) ) ) ).
% exE_some
thf(fact_24_empty__Collect__eq,axiom,
! [P: b > $o] :
( ( bot_bot_set_b
= ( collect_b @ P ) )
= ( ! [X4: b] :
~ ( P @ X4 ) ) ) ).
% empty_Collect_eq
thf(fact_25_Collect__empty__eq,axiom,
! [P: b > $o] :
( ( ( collect_b @ P )
= bot_bot_set_b )
= ( ! [X4: b] :
~ ( P @ X4 ) ) ) ).
% Collect_empty_eq
thf(fact_26_all__not__in__conv,axiom,
! [A2: set_b] :
( ( ! [X4: b] :
~ ( member_b @ X4 @ A2 ) )
= ( A2 = bot_bot_set_b ) ) ).
% all_not_in_conv
thf(fact_27_empty__iff,axiom,
! [C: b] :
~ ( member_b @ C @ bot_bot_set_b ) ).
% empty_iff
thf(fact_28_mem__Collect__eq,axiom,
! [A: b,P: b > $o] :
( ( member_b @ A @ ( collect_b @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_29_Collect__mem__eq,axiom,
! [A2: set_b] :
( ( collect_b
@ ^ [X4: b] : ( member_b @ X4 @ A2 ) )
= A2 ) ).
% Collect_mem_eq
thf(fact_30_bot__set__def,axiom,
( bot_bot_set_b
= ( collect_b @ bot_bot_b_o ) ) ).
% bot_set_def
thf(fact_31_emptyE,axiom,
! [A: b] :
~ ( member_b @ A @ bot_bot_set_b ) ).
% emptyE
thf(fact_32_equals0D,axiom,
! [A2: set_b,A: b] :
( ( A2 = bot_bot_set_b )
=> ~ ( member_b @ A @ A2 ) ) ).
% equals0D
thf(fact_33_equals0I,axiom,
! [A2: set_b] :
( ! [Y3: b] :
~ ( member_b @ Y3 @ A2 )
=> ( A2 = bot_bot_set_b ) ) ).
% equals0I
thf(fact_34_ex__in__conv,axiom,
! [A2: set_b] :
( ( ? [X4: b] : ( member_b @ X4 @ A2 ) )
= ( A2 != bot_bot_set_b ) ) ).
% ex_in_conv
thf(fact_35_empty__def,axiom,
( bot_bot_set_b
= ( collect_b
@ ^ [X4: b] : $false ) ) ).
% empty_def
thf(fact_36_Set_Ois__empty__def,axiom,
( is_empty_b
= ( ^ [A3: set_b] : ( A3 = bot_bot_set_b ) ) ) ).
% Set.is_empty_def
thf(fact_37_Collect__empty__eq__bot,axiom,
! [P: b > $o] :
( ( ( collect_b @ P )
= bot_bot_set_b )
= ( P = bot_bot_b_o ) ) ).
% Collect_empty_eq_bot
thf(fact_38_bot__empty__eq,axiom,
( bot_bot_b_o
= ( ^ [X4: b] : ( member_b @ X4 @ bot_bot_set_b ) ) ) ).
% bot_empty_eq
thf(fact_39_is__singletonI_H,axiom,
! [A2: set_b] :
( ( A2 != bot_bot_set_b )
=> ( ! [X: b,Y3: b] :
( ( member_b @ X @ A2 )
=> ( ( member_b @ Y3 @ A2 )
=> ( X = Y3 ) ) )
=> ( is_singleton_b @ A2 ) ) ) ).
% is_singletonI'
thf(fact_40_UNIV__I,axiom,
! [X2: b] : ( member_b @ X2 @ top_top_set_b ) ).
% UNIV_I
thf(fact_41_Collect__const,axiom,
! [P: $o] :
( ( P
=> ( ( collect_b
@ ^ [S: b] : P )
= top_top_set_b ) )
& ( ~ P
=> ( ( collect_b
@ ^ [S: b] : P )
= bot_bot_set_b ) ) ) ).
% Collect_const
thf(fact_42_UNIV__eq__I,axiom,
! [A2: set_b] :
( ! [X: b] : ( member_b @ X @ A2 )
=> ( top_top_set_b = A2 ) ) ).
% UNIV_eq_I
thf(fact_43_UNIV__witness,axiom,
? [X: b] : ( member_b @ X @ top_top_set_b ) ).
% UNIV_witness
thf(fact_44_empty__not__UNIV,axiom,
bot_bot_set_b != top_top_set_b ).
% empty_not_UNIV
thf(fact_45_iso__tuple__UNIV__I,axiom,
! [X2: b] : ( member_b @ X2 @ top_top_set_b ) ).
% iso_tuple_UNIV_I
thf(fact_46_is__singletonI,axiom,
! [X2: b] : ( is_singleton_b @ ( insert_b @ X2 @ bot_bot_set_b ) ) ).
% is_singletonI
thf(fact_47_insert__iff,axiom,
! [A: b,B2: b,A2: set_b] :
( ( member_b @ A @ ( insert_b @ B2 @ A2 ) )
= ( ( A = B2 )
| ( member_b @ A @ A2 ) ) ) ).
% insert_iff
thf(fact_48_insertCI,axiom,
! [A: b,B: set_b,B2: b] :
( ( ~ ( member_b @ A @ B )
=> ( A = B2 ) )
=> ( member_b @ A @ ( insert_b @ B2 @ B ) ) ) ).
% insertCI
thf(fact_49_singletonI,axiom,
! [A: b] : ( member_b @ A @ ( insert_b @ A @ bot_bot_set_b ) ) ).
% singletonI
thf(fact_50_singleton__conv,axiom,
! [A: b] :
( ( collect_b
@ ^ [X4: b] : ( X4 = A ) )
= ( insert_b @ A @ bot_bot_set_b ) ) ).
% singleton_conv
thf(fact_51_singleton__conv2,axiom,
! [A: b] :
( ( collect_b
@ ( ^ [Y2: b,Z: b] : ( Y2 = Z )
@ A ) )
= ( insert_b @ A @ bot_bot_set_b ) ) ).
% singleton_conv2
thf(fact_52_mk__disjoint__insert,axiom,
! [A: b,A2: set_b] :
( ( member_b @ A @ A2 )
=> ? [B3: set_b] :
( ( A2
= ( insert_b @ A @ B3 ) )
& ~ ( member_b @ A @ B3 ) ) ) ).
% mk_disjoint_insert
thf(fact_53_insert__eq__iff,axiom,
! [A: b,A2: set_b,B2: b,B: set_b] :
( ~ ( member_b @ A @ A2 )
=> ( ~ ( member_b @ B2 @ B )
=> ( ( ( insert_b @ A @ A2 )
= ( insert_b @ B2 @ B ) )
= ( ( ( A = B2 )
=> ( A2 = B ) )
& ( ( A != B2 )
=> ? [C2: set_b] :
( ( A2
= ( insert_b @ B2 @ C2 ) )
& ~ ( member_b @ B2 @ C2 )
& ( B
= ( insert_b @ A @ C2 ) )
& ~ ( member_b @ A @ C2 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_54_insert__absorb,axiom,
! [A: b,A2: set_b] :
( ( member_b @ A @ A2 )
=> ( ( insert_b @ A @ A2 )
= A2 ) ) ).
% insert_absorb
thf(fact_55_insert__ident,axiom,
! [X2: b,A2: set_b,B: set_b] :
( ~ ( member_b @ X2 @ A2 )
=> ( ~ ( member_b @ X2 @ B )
=> ( ( ( insert_b @ X2 @ A2 )
= ( insert_b @ X2 @ B ) )
= ( A2 = B ) ) ) ) ).
% insert_ident
thf(fact_56_insert__compr,axiom,
( insert_b
= ( ^ [A4: b,B4: set_b] :
( collect_b
@ ^ [X4: b] :
( ( X4 = A4 )
| ( member_b @ X4 @ B4 ) ) ) ) ) ).
% insert_compr
thf(fact_57_Set_Oset__insert,axiom,
! [X2: b,A2: set_b] :
( ( member_b @ X2 @ A2 )
=> ~ ! [B3: set_b] :
( ( A2
= ( insert_b @ X2 @ B3 ) )
=> ( member_b @ X2 @ B3 ) ) ) ).
% Set.set_insert
thf(fact_58_insertI2,axiom,
! [A: b,B: set_b,B2: b] :
( ( member_b @ A @ B )
=> ( member_b @ A @ ( insert_b @ B2 @ B ) ) ) ).
% insertI2
thf(fact_59_insertI1,axiom,
! [A: b,B: set_b] : ( member_b @ A @ ( insert_b @ A @ B ) ) ).
% insertI1
thf(fact_60_insertE,axiom,
! [A: b,B2: b,A2: set_b] :
( ( member_b @ A @ ( insert_b @ B2 @ A2 ) )
=> ( ( A != B2 )
=> ( member_b @ A @ A2 ) ) ) ).
% insertE
thf(fact_61_top__empty__eq,axiom,
( top_top_b_o
= ( ^ [X4: b] : ( member_b @ X4 @ top_top_set_b ) ) ) ).
% top_empty_eq
thf(fact_62_singleton__inject,axiom,
! [A: b,B2: b] :
( ( ( insert_b @ A @ bot_bot_set_b )
= ( insert_b @ B2 @ bot_bot_set_b ) )
=> ( A = B2 ) ) ).
% singleton_inject
thf(fact_63_insert__not__empty,axiom,
! [A: b,A2: set_b] :
( ( insert_b @ A @ A2 )
!= bot_bot_set_b ) ).
% insert_not_empty
thf(fact_64_doubleton__eq__iff,axiom,
! [A: b,B2: b,C: b,D: b] :
( ( ( insert_b @ A @ ( insert_b @ B2 @ bot_bot_set_b ) )
= ( insert_b @ C @ ( insert_b @ D @ bot_bot_set_b ) ) )
= ( ( ( A = C )
& ( B2 = D ) )
| ( ( A = D )
& ( B2 = C ) ) ) ) ).
% doubleton_eq_iff
thf(fact_65_singleton__iff,axiom,
! [B2: b,A: b] :
( ( member_b @ B2 @ ( insert_b @ A @ bot_bot_set_b ) )
= ( B2 = A ) ) ).
% singleton_iff
thf(fact_66_singletonD,axiom,
! [B2: b,A: b] :
( ( member_b @ B2 @ ( insert_b @ A @ bot_bot_set_b ) )
=> ( B2 = A ) ) ).
% singletonD
thf(fact_67_Collect__conv__if,axiom,
! [P: b > $o,A: b] :
( ( ( P @ A )
=> ( ( collect_b
@ ^ [X4: b] :
( ( X4 = A )
& ( P @ X4 ) ) )
= ( insert_b @ A @ bot_bot_set_b ) ) )
& ( ~ ( P @ A )
=> ( ( collect_b
@ ^ [X4: b] :
( ( X4 = A )
& ( P @ X4 ) ) )
= bot_bot_set_b ) ) ) ).
% Collect_conv_if
thf(fact_68_Collect__conv__if2,axiom,
! [P: b > $o,A: b] :
( ( ( P @ A )
=> ( ( collect_b
@ ^ [X4: b] :
( ( A = X4 )
& ( P @ X4 ) ) )
= ( insert_b @ A @ bot_bot_set_b ) ) )
& ( ~ ( P @ A )
=> ( ( collect_b
@ ^ [X4: b] :
( ( A = X4 )
& ( P @ X4 ) ) )
= bot_bot_set_b ) ) ) ).
% Collect_conv_if2
thf(fact_69_is__singleton__def,axiom,
( is_singleton_b
= ( ^ [A3: set_b] :
? [X4: b] :
( A3
= ( insert_b @ X4 @ bot_bot_set_b ) ) ) ) ).
% is_singleton_def
thf(fact_70_is__singletonE,axiom,
! [A2: set_b] :
( ( is_singleton_b @ A2 )
=> ~ ! [X: b] :
( A2
!= ( insert_b @ X @ bot_bot_set_b ) ) ) ).
% is_singletonE
thf(fact_71_is__singleton__the__elem,axiom,
( is_singleton_b
= ( ^ [A3: set_b] :
( A3
= ( insert_b @ ( the_elem_b @ A3 ) @ bot_bot_set_b ) ) ) ) ).
% is_singleton_the_elem
thf(fact_72_the__elem__eq,axiom,
! [X2: b] :
( ( the_elem_b @ ( insert_b @ X2 @ bot_bot_set_b ) )
= X2 ) ).
% the_elem_eq
thf(fact_73_image__eqI,axiom,
! [B2: b,F: b > b,X2: b,A2: set_b] :
( ( B2
= ( F @ X2 ) )
=> ( ( member_b @ X2 @ A2 )
=> ( member_b @ B2 @ ( image_b_b @ F @ A2 ) ) ) ) ).
% image_eqI
thf(fact_74_image__is__empty,axiom,
! [F: b > b,A2: set_b] :
( ( ( image_b_b @ F @ A2 )
= bot_bot_set_b )
= ( A2 = bot_bot_set_b ) ) ).
% image_is_empty
thf(fact_75_empty__is__image,axiom,
! [F: b > b,A2: set_b] :
( ( bot_bot_set_b
= ( image_b_b @ F @ A2 ) )
= ( A2 = bot_bot_set_b ) ) ).
% empty_is_image
thf(fact_76_image__empty,axiom,
! [F: b > b] :
( ( image_b_b @ F @ bot_bot_set_b )
= bot_bot_set_b ) ).
% image_empty
thf(fact_77_imageE,axiom,
! [B2: b,F: b > b,A2: set_b] :
( ( member_b @ B2 @ ( image_b_b @ F @ A2 ) )
=> ~ ! [X: b] :
( ( B2
= ( F @ X ) )
=> ~ ( member_b @ X @ A2 ) ) ) ).
% imageE
thf(fact_78_imageI,axiom,
! [X2: b,A2: set_b,F: b > b] :
( ( member_b @ X2 @ A2 )
=> ( member_b @ ( F @ X2 ) @ ( image_b_b @ F @ A2 ) ) ) ).
% imageI
thf(fact_79_rev__image__eqI,axiom,
! [X2: b,A2: set_b,B2: b,F: b > b] :
( ( member_b @ X2 @ A2 )
=> ( ( B2
= ( F @ X2 ) )
=> ( member_b @ B2 @ ( image_b_b @ F @ A2 ) ) ) ) ).
% rev_image_eqI
thf(fact_80_Compr__image__eq,axiom,
! [F: b > b,A2: set_b,P: b > $o] :
( ( collect_b
@ ^ [X4: b] :
( ( member_b @ X4 @ ( image_b_b @ F @ A2 ) )
& ( P @ X4 ) ) )
= ( image_b_b @ F
@ ( collect_b
@ ^ [X4: b] :
( ( member_b @ X4 @ A2 )
& ( P @ ( F @ X4 ) ) ) ) ) ) ).
% Compr_image_eq
thf(fact_81_inv__into__into,axiom,
! [X2: b,F: b > b,A2: set_b] :
( ( member_b @ X2 @ ( image_b_b @ F @ A2 ) )
=> ( member_b @ ( hilbert_inv_into_b_b @ A2 @ F @ X2 ) @ A2 ) ) ).
% inv_into_into
thf(fact_82_image__constant,axiom,
! [X2: b,A2: set_b,C: b] :
( ( member_b @ X2 @ A2 )
=> ( ( image_b_b
@ ^ [X4: b] : C
@ A2 )
= ( insert_b @ C @ bot_bot_set_b ) ) ) ).
% image_constant
thf(fact_83_image__constant__conv,axiom,
! [A2: set_b,C: b] :
( ( ( A2 = bot_bot_set_b )
=> ( ( image_b_b
@ ^ [X4: b] : C
@ A2 )
= bot_bot_set_b ) )
& ( ( A2 != bot_bot_set_b )
=> ( ( image_b_b
@ ^ [X4: b] : C
@ A2 )
= ( insert_b @ C @ bot_bot_set_b ) ) ) ) ).
% image_constant_conv
thf(fact_84_bij__betw__empty2,axiom,
! [F: b > b,A2: set_b] :
( ( bij_betw_b_b @ F @ A2 @ bot_bot_set_b )
=> ( A2 = bot_bot_set_b ) ) ).
% bij_betw_empty2
thf(fact_85_bij__betw__empty1,axiom,
! [F: b > b,A2: set_b] :
( ( bij_betw_b_b @ F @ bot_bot_set_b @ A2 )
=> ( A2 = bot_bot_set_b ) ) ).
% bij_betw_empty1
thf(fact_86_inj__singleton,axiom,
! [A2: set_b] :
( inj_on_b_set_b
@ ^ [X4: b] : ( insert_b @ X4 @ bot_bot_set_b )
@ A2 ) ).
% inj_singleton
thf(fact_87_inj__img__insertE,axiom,
! [F: b > b,A2: set_b,X2: b,B: set_b] :
( ( inj_on_b_b @ F @ A2 )
=> ( ~ ( member_b @ X2 @ B )
=> ( ( ( insert_b @ X2 @ B )
= ( image_b_b @ F @ A2 ) )
=> ~ ! [X6: b,A5: set_b] :
( ~ ( member_b @ X6 @ A5 )
=> ( ( A2
= ( insert_b @ X6 @ A5 ) )
=> ( ( X2
= ( F @ X6 ) )
=> ( B
!= ( image_b_b @ F @ A5 ) ) ) ) ) ) ) ) ).
% inj_img_insertE
thf(fact_88_inj__image__mem__iff,axiom,
! [F: b > b,A: b,A2: set_b] :
( ( inj_on_b_b @ F @ top_top_set_b )
=> ( ( member_b @ ( F @ A ) @ ( image_b_b @ F @ A2 ) )
= ( member_b @ A @ A2 ) ) ) ).
% inj_image_mem_iff
thf(fact_89_inj__on__insert,axiom,
! [F: b > b,A: b,A2: set_b] :
( ( inj_on_b_b @ F @ ( insert_b @ A @ A2 ) )
= ( ( inj_on_b_b @ F @ A2 )
& ~ ( member_b @ ( F @ A ) @ ( image_b_b @ F @ ( minus_minus_set_b @ A2 @ ( insert_b @ A @ bot_bot_set_b ) ) ) ) ) ) ).
% inj_on_insert
thf(fact_90_DiffI,axiom,
! [C: b,A2: set_b,B: set_b] :
( ( member_b @ C @ A2 )
=> ( ~ ( member_b @ C @ B )
=> ( member_b @ C @ ( minus_minus_set_b @ A2 @ B ) ) ) ) ).
% DiffI
thf(fact_91_Diff__iff,axiom,
! [C: b,A2: set_b,B: set_b] :
( ( member_b @ C @ ( minus_minus_set_b @ A2 @ B ) )
= ( ( member_b @ C @ A2 )
& ~ ( member_b @ C @ B ) ) ) ).
% Diff_iff
thf(fact_92_Diff__empty,axiom,
! [A2: set_b] :
( ( minus_minus_set_b @ A2 @ bot_bot_set_b )
= A2 ) ).
% Diff_empty
thf(fact_93_empty__Diff,axiom,
! [A2: set_b] :
( ( minus_minus_set_b @ bot_bot_set_b @ A2 )
= bot_bot_set_b ) ).
% empty_Diff
thf(fact_94_Diff__cancel,axiom,
! [A2: set_b] :
( ( minus_minus_set_b @ A2 @ A2 )
= bot_bot_set_b ) ).
% Diff_cancel
thf(fact_95_insert__Diff1,axiom,
! [X2: b,B: set_b,A2: set_b] :
( ( member_b @ X2 @ B )
=> ( ( minus_minus_set_b @ ( insert_b @ X2 @ A2 ) @ B )
= ( minus_minus_set_b @ A2 @ B ) ) ) ).
% insert_Diff1
thf(fact_96_Diff__insert0,axiom,
! [X2: b,A2: set_b,B: set_b] :
( ~ ( member_b @ X2 @ A2 )
=> ( ( minus_minus_set_b @ A2 @ ( insert_b @ X2 @ B ) )
= ( minus_minus_set_b @ A2 @ B ) ) ) ).
% Diff_insert0
thf(fact_97_insert__Diff__single,axiom,
! [A: b,A2: set_b] :
( ( insert_b @ A @ ( minus_minus_set_b @ A2 @ ( insert_b @ A @ bot_bot_set_b ) ) )
= ( insert_b @ A @ A2 ) ) ).
% insert_Diff_single
thf(fact_98_Diff__UNIV,axiom,
! [A2: set_b] :
( ( minus_minus_set_b @ A2 @ top_top_set_b )
= bot_bot_set_b ) ).
% Diff_UNIV
thf(fact_99_Diff__insert__absorb,axiom,
! [X2: b,A2: set_b] :
( ~ ( member_b @ X2 @ A2 )
=> ( ( minus_minus_set_b @ ( insert_b @ X2 @ A2 ) @ ( insert_b @ X2 @ bot_bot_set_b ) )
= A2 ) ) ).
% Diff_insert_absorb
thf(fact_100_Diff__insert2,axiom,
! [A2: set_b,A: b,B: set_b] :
( ( minus_minus_set_b @ A2 @ ( insert_b @ A @ B ) )
= ( minus_minus_set_b @ ( minus_minus_set_b @ A2 @ ( insert_b @ A @ bot_bot_set_b ) ) @ B ) ) ).
% Diff_insert2
thf(fact_101_insert__Diff,axiom,
! [A: b,A2: set_b] :
( ( member_b @ A @ A2 )
=> ( ( insert_b @ A @ ( minus_minus_set_b @ A2 @ ( insert_b @ A @ bot_bot_set_b ) ) )
= A2 ) ) ).
% insert_Diff
thf(fact_102_Diff__insert,axiom,
! [A2: set_b,A: b,B: set_b] :
( ( minus_minus_set_b @ A2 @ ( insert_b @ A @ B ) )
= ( minus_minus_set_b @ ( minus_minus_set_b @ A2 @ B ) @ ( insert_b @ A @ bot_bot_set_b ) ) ) ).
% Diff_insert
thf(fact_103_in__image__insert__iff,axiom,
! [B: set_set_b,X2: b,A2: set_b] :
( ! [C3: set_b] :
( ( member_set_b @ C3 @ B )
=> ~ ( member_b @ X2 @ C3 ) )
=> ( ( member_set_b @ A2 @ ( image_set_b_set_b @ ( insert_b @ X2 ) @ B ) )
= ( ( member_b @ X2 @ A2 )
& ( member_set_b @ ( minus_minus_set_b @ A2 @ ( insert_b @ X2 @ bot_bot_set_b ) ) @ B ) ) ) ) ).
% in_image_insert_iff
thf(fact_104_DiffE,axiom,
! [C: b,A2: set_b,B: set_b] :
( ( member_b @ C @ ( minus_minus_set_b @ A2 @ B ) )
=> ~ ( ( member_b @ C @ A2 )
=> ( member_b @ C @ B ) ) ) ).
% DiffE
thf(fact_105_DiffD1,axiom,
! [C: b,A2: set_b,B: set_b] :
( ( member_b @ C @ ( minus_minus_set_b @ A2 @ B ) )
=> ( member_b @ C @ A2 ) ) ).
% DiffD1
thf(fact_106_DiffD2,axiom,
! [C: b,A2: set_b,B: set_b] :
( ( member_b @ C @ ( minus_minus_set_b @ A2 @ B ) )
=> ~ ( member_b @ C @ B ) ) ).
% DiffD2
thf(fact_107_set__diff__eq,axiom,
( minus_minus_set_b
= ( ^ [A3: set_b,B4: set_b] :
( collect_b
@ ^ [X4: b] :
( ( member_b @ X4 @ A3 )
& ~ ( member_b @ X4 @ B4 ) ) ) ) ) ).
% set_diff_eq
thf(fact_108_insert__Diff__if,axiom,
! [X2: b,B: set_b,A2: set_b] :
( ( ( member_b @ X2 @ B )
=> ( ( minus_minus_set_b @ ( insert_b @ X2 @ A2 ) @ B )
= ( minus_minus_set_b @ A2 @ B ) ) )
& ( ~ ( member_b @ X2 @ B )
=> ( ( minus_minus_set_b @ ( insert_b @ X2 @ A2 ) @ B )
= ( insert_b @ X2 @ ( minus_minus_set_b @ A2 @ B ) ) ) ) ) ).
% insert_Diff_if
thf(fact_109_remove__def,axiom,
( remove_b
= ( ^ [X4: b,A3: set_b] : ( minus_minus_set_b @ A3 @ ( insert_b @ X4 @ bot_bot_set_b ) ) ) ) ).
% remove_def
% Conjectures (2)
thf(conj_0,hypothesis,
! [X5: a] :
( ( p @ X5 )
=> ? [X_12: b] : ( q @ X5 @ X_12 ) ) ).
thf(conj_1,conjecture,
! [X: a] :
( ~ ( p @ X )
| ( q @ X @ ( hilbert_Eps_b @ ( q @ X ) ) ) ) ).
%------------------------------------------------------------------------------