TPTP Problem File: ITP078^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP078^2 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer Hilbert_Function problem prob_85__11621656_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 : Hilbert_Function/prob_85__11621656_1 [Des21]
% Status : Theorem
% Rating : 0.00 v8.1.0, 0.25 v7.5.0
% Syntax : Number of formulae : 393 ( 144 unt; 63 typ; 0 def)
% Number of atoms : 827 ( 318 equ; 0 cnn)
% Maximal formula atoms : 6 ( 2 avg)
% Number of connectives : 3345 ( 68 ~; 3 |; 30 &;2920 @)
% ( 0 <=>; 324 =>; 0 <=; 0 <~>)
% Maximal formula depth : 19 ( 6 avg)
% Number of types : 5 ( 4 usr)
% Number of type conns : 217 ( 217 >; 0 *; 0 +; 0 <<)
% Number of symbols : 62 ( 59 usr; 4 con; 0-6 aty)
% Number of variables : 943 ( 35 ^; 826 !; 23 ?; 943 :)
% ( 59 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:21:51.858
%------------------------------------------------------------------------------
% Could-be-implicit typings (7)
thf(ty_t_Multiset_Omultiset,type,
multiset: $tType > $tType ).
thf(ty_t_Real_Oreal,type,
real: $tType ).
thf(ty_t_List_Olist,type,
list: $tType > $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
thf(ty_t_Int_Oint,type,
int: $tType ).
thf(ty_tf_a,type,
a: $tType ).
% Explicit typings (56)
thf(sy_cl_Orderings_Opreorder,type,
preorder:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Odioid,type,
dioid:
!>[A: $tType] : $o ).
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : $o ).
thf(sy_cl_Nat_Osize,type,
size:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ozero,type,
zero:
!>[A: $tType] : $o ).
thf(sy_cl_Fields_Ofield,type,
field:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Oring__1,type,
ring_1:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oord,type,
ord:
!>[A: $tType] : $o ).
thf(sy_cl_Nat_Oring__char__0,type,
ring_char_0:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder,type,
order:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ogroup__add,type,
group_add:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Osemiring__1,type,
semiring_1:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Olinorder,type,
linorder:
!>[A: $tType] : $o ).
thf(sy_cl_Nat_Osemiring__char__0,type,
semiring_char_0:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Owellorder,type,
wellorder:
!>[A: $tType] : $o ).
thf(sy_cl_Fields_Odivision__ring,type,
division_ring:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Olinordered__idom,type,
linordered_idom:
!>[A: $tType] : $o ).
thf(sy_cl_Fields_Olinordered__field,type,
linordered_field:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Oboolean__algebra,type,
boolean_algebra:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Oordered__ab__group__add,type,
ordered_ab_group_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Olinordered__ab__group__add,type,
linord219039673up_add:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
linord1659791738miring:
!>[A: $tType] : $o ).
thf(sy_cl_Archimedean__Field_Oarchimedean__field,type,
archim1804426504_field:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
canoni770627133id_add:
!>[A: $tType] : $o ).
thf(sy_c_Fields_Oinverse__class_Oinverse,type,
inverse_inverse:
!>[A: $tType] : ( A > A ) ).
thf(sy_c_Fun_Obij__betw,type,
bij_betw:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) > $o ) ).
thf(sy_c_Fun_Ocomp,type,
comp:
!>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).
thf(sy_c_Fun_Oinj__on,type,
inj_on:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > $o ) ).
thf(sy_c_Groups_Ouminus__class_Ouminus,type,
uminus_uminus:
!>[A: $tType] : ( A > A ) ).
thf(sy_c_Groups_Ozero__class_Ozero,type,
zero_zero:
!>[A: $tType] : A ).
thf(sy_c_If,type,
if:
!>[A: $tType] : ( $o > A > A > A ) ).
thf(sy_c_Int_Onat,type,
nat2: int > nat ).
thf(sy_c_Int_Oring__1__class_Oof__int,type,
ring_1_of_int:
!>[A: $tType] : ( int > A ) ).
thf(sy_c_List_Ogen__length,type,
gen_length:
!>[A: $tType] : ( nat > ( list @ A ) > nat ) ).
thf(sy_c_List_Olist_Omap,type,
map:
!>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
thf(sy_c_List_Olist__ex,type,
list_ex:
!>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
thf(sy_c_List_Omap__tailrec,type,
map_tailrec:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) ) ).
thf(sy_c_List_Onth,type,
nth:
!>[A: $tType] : ( ( list @ A ) > nat > A ) ).
thf(sy_c_List_Oupt,type,
upt: nat > nat > ( list @ nat ) ).
thf(sy_c_Multiset_Oimage__mset,type,
image_mset:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( multiset @ A ) > ( multiset @ B ) ) ).
thf(sy_c_Multiset_Ois__empty,type,
is_empty:
!>[A: $tType] : ( ( multiset @ A ) > $o ) ).
thf(sy_c_Multiset_Omset,type,
mset:
!>[A: $tType] : ( ( list @ A ) > ( multiset @ A ) ) ).
thf(sy_c_Multiset_Omset__set,type,
mset_set:
!>[B: $tType] : ( ( set @ B ) > ( multiset @ B ) ) ).
thf(sy_c_Multiset_Osize__multiset,type,
size_multiset:
!>[A: $tType] : ( ( A > nat ) > ( multiset @ A ) > nat ) ).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
semiring_1_of_nat:
!>[A: $tType] : ( nat > A ) ).
thf(sy_c_Nat_Osize__class_Osize,type,
size_size:
!>[A: $tType] : ( A > nat ) ).
thf(sy_c_Orderings_Oord__class_Oless,type,
ord_less:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Orderings_Oord__class_Oless__eq,type,
ord_less_eq:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Set_OCollect,type,
collect:
!>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
thf(sy_c_Set_Oimage,type,
image:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) ) ).
thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan,type,
set_or1433837966ssThan:
!>[A: $tType] : ( A > A > ( set @ A ) ) ).
thf(sy_c_Set__Interval_Oord__class_OlessThan,type,
set_ord_lessThan:
!>[A: $tType] : ( A > ( set @ A ) ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_f,type,
f: nat > nat ).
thf(sy_v_xs,type,
xs: list @ a ).
thf(sy_v_ys,type,
ys: list @ a ).
% Relevant facts (254)
thf(fact_0__C1_C,axiom,
inj_on @ nat @ nat @ f @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ).
% "1"
thf(fact_1_calculation,axiom,
( ( mset @ a @ xs )
= ( image_mset @ nat @ a @ ( nth @ a @ ys ) @ ( image_mset @ nat @ nat @ f @ ( mset_set @ nat @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) ) ) ) ).
% calculation
thf(fact_2_assms_I2_J,axiom,
! [I: nat] :
( ( ord_less @ nat @ I @ ( size_size @ ( list @ a ) @ xs ) )
=> ( ( nth @ a @ xs @ I )
= ( nth @ a @ ys @ ( f @ I ) ) ) ) ).
% assms(2)
thf(fact_3__C2_C,axiom,
( ( image @ nat @ nat @ f @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) )
= ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ ys ) ) ) ).
% "2"
thf(fact_4_zero__fun__apply,axiom,
! [A: $tType,B: $tType] :
( ( zero @ A )
=> ( ( zero_zero @ ( B > A ) )
= ( ^ [X: B] : ( zero_zero @ A ) ) ) ) ).
% zero_fun_apply
thf(fact_5_assms_I1_J,axiom,
bij_betw @ nat @ nat @ f @ ( set_ord_lessThan @ nat @ ( size_size @ ( list @ a ) @ xs ) ) @ ( set_ord_lessThan @ nat @ ( size_size @ ( list @ a ) @ ys ) ) ).
% assms(1)
thf(fact_6__092_060open_062mset_A_Imap_A_I_I_B_J_Ays_A_092_060circ_062_Af_J_A_0910_O_O_060length_Axs_093_J_A_061_Aimage__mset_A_I_I_B_J_Ays_J_A_Iimage__mset_Af_A_Imset__set_A_1230_O_O_060length_Axs_125_J_J_092_060close_062,axiom,
( ( mset @ a @ ( map @ nat @ a @ ( comp @ nat @ a @ nat @ ( nth @ a @ ys ) @ f ) @ ( upt @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) )
= ( image_mset @ nat @ a @ ( nth @ a @ ys ) @ ( image_mset @ nat @ nat @ f @ ( mset_set @ nat @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) ) ) ) ).
% \<open>mset (map ((!) ys \<circ> f) [0..<length xs]) = image_mset ((!) ys) (image_mset f (mset_set {0..<length xs}))\<close>
thf(fact_7__092_060open_062xs_A_061_Amap_A_I_I_B_J_Ays_A_092_060circ_062_Af_J_A_0910_O_O_060length_Axs_093_092_060close_062,axiom,
( xs
= ( map @ nat @ a @ ( comp @ nat @ a @ nat @ ( nth @ a @ ys ) @ f ) @ ( upt @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) ) ).
% \<open>xs = map ((!) ys \<circ> f) [0..<length xs]\<close>
thf(fact_8_Ex__list__of__length,axiom,
! [A: $tType,N: nat] :
? [Xs: list @ A] :
( ( size_size @ ( list @ A ) @ Xs )
= N ) ).
% Ex_list_of_length
thf(fact_9_neq__if__length__neq,axiom,
! [A: $tType,Xs2: list @ A,Ys: list @ A] :
( ( ( size_size @ ( list @ A ) @ Xs2 )
!= ( size_size @ ( list @ A ) @ Ys ) )
=> ( Xs2 != Ys ) ) ).
% neq_if_length_neq
thf(fact_10_size__neq__size__imp__neq,axiom,
! [A: $tType] :
( ( size @ A )
=> ! [X2: A,Y: A] :
( ( ( size_size @ A @ X2 )
!= ( size_size @ A @ Y ) )
=> ( X2 != Y ) ) ) ).
% size_neq_size_imp_neq
thf(fact_11_not__gr__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ~ ( ord_less @ A @ ( zero_zero @ A ) @ N ) )
= ( N
= ( zero_zero @ A ) ) ) ) ).
% not_gr_zero
thf(fact_12_bot__nat__0_Onot__eq__extremum,axiom,
! [A2: nat] :
( ( A2
!= ( zero_zero @ nat ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ A2 ) ) ).
% bot_nat_0.not_eq_extremum
thf(fact_13_less__nat__zero__code,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% less_nat_zero_code
thf(fact_14_neq0__conv,axiom,
! [N: nat] :
( ( N
!= ( zero_zero @ nat ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).
% neq0_conv
thf(fact_15_map__map,axiom,
! [B: $tType,A: $tType,C: $tType,F: B > A,G: C > B,Xs2: list @ C] :
( ( map @ B @ A @ F @ ( map @ C @ B @ G @ Xs2 ) )
= ( map @ C @ A @ ( comp @ B @ A @ C @ F @ G ) @ Xs2 ) ) ).
% map_map
thf(fact_16_List_Omap_Ocomp,axiom,
! [C: $tType,B: $tType,A: $tType,F: B > C,G: A > B] :
( ( comp @ ( list @ B ) @ ( list @ C ) @ ( list @ A ) @ ( map @ B @ C @ F ) @ ( map @ A @ B @ G ) )
= ( map @ A @ C @ ( comp @ B @ C @ A @ F @ G ) ) ) ).
% List.map.comp
thf(fact_17_map__comp__map,axiom,
! [B: $tType,C: $tType,A: $tType,F: C > B,G: A > C] :
( ( comp @ ( list @ C ) @ ( list @ B ) @ ( list @ A ) @ ( map @ C @ B @ F ) @ ( map @ A @ C @ G ) )
= ( map @ A @ B @ ( comp @ C @ B @ A @ F @ G ) ) ) ).
% map_comp_map
thf(fact_18_list_Omap__comp,axiom,
! [B: $tType,C: $tType,A: $tType,G: B > C,F: A > B,V: list @ A] :
( ( map @ B @ C @ G @ ( map @ A @ B @ F @ V ) )
= ( map @ A @ C @ ( comp @ B @ C @ A @ G @ F ) @ V ) ) ).
% list.map_comp
thf(fact_19_List_Omap_Ocompositionality,axiom,
! [B: $tType,C: $tType,A: $tType,F: B > C,G: A > B,List: list @ A] :
( ( map @ B @ C @ F @ ( map @ A @ B @ G @ List ) )
= ( map @ A @ C @ ( comp @ B @ C @ A @ F @ G ) @ List ) ) ).
% List.map.compositionality
thf(fact_20_length__map,axiom,
! [A: $tType,B: $tType,F: B > A,Xs2: list @ B] :
( ( size_size @ ( list @ A ) @ ( map @ B @ A @ F @ Xs2 ) )
= ( size_size @ ( list @ B ) @ Xs2 ) ) ).
% length_map
thf(fact_21_nth__map,axiom,
! [B: $tType,A: $tType,N: nat,Xs2: list @ A,F: A > B] :
( ( ord_less @ nat @ N @ ( size_size @ ( list @ A ) @ Xs2 ) )
=> ( ( nth @ B @ ( map @ A @ B @ F @ Xs2 ) @ N )
= ( F @ ( nth @ A @ Xs2 @ N ) ) ) ) ).
% nth_map
thf(fact_22__092_060open_062mset_Axs_A_061_Amset_A_Imap_A_I_I_B_J_Ays_A_092_060circ_062_Af_J_A_0910_O_O_060length_Axs_093_J_092_060close_062,axiom,
( ( mset @ a @ xs )
= ( mset @ a @ ( map @ nat @ a @ ( comp @ nat @ a @ nat @ ( nth @ a @ ys ) @ f ) @ ( upt @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) ) ) ).
% \<open>mset xs = mset (map ((!) ys \<circ> f) [0..<length xs])\<close>
thf(fact_23_nat__neq__iff,axiom,
! [M: nat,N: nat] :
( ( M != N )
= ( ( ord_less @ nat @ M @ N )
| ( ord_less @ nat @ N @ M ) ) ) ).
% nat_neq_iff
thf(fact_24_less__not__refl,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ N ) ).
% less_not_refl
thf(fact_25_less__not__refl2,axiom,
! [N: nat,M: nat] :
( ( ord_less @ nat @ N @ M )
=> ( M != N ) ) ).
% less_not_refl2
thf(fact_26_less__not__refl3,axiom,
! [S: nat,T: nat] :
( ( ord_less @ nat @ S @ T )
=> ( S != T ) ) ).
% less_not_refl3
thf(fact_27_measure__induct,axiom,
! [B: $tType,A: $tType] :
( ( wellorder @ B )
=> ! [F: A > B,P: A > $o,A2: A] :
( ! [X3: A] :
( ! [Y2: A] :
( ( ord_less @ B @ ( F @ Y2 ) @ ( F @ X3 ) )
=> ( P @ Y2 ) )
=> ( P @ X3 ) )
=> ( P @ A2 ) ) ) ).
% measure_induct
thf(fact_28_less__irrefl__nat,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ N ) ).
% less_irrefl_nat
thf(fact_29_nat__less__induct,axiom,
! [P: nat > $o,N: nat] :
( ! [N2: nat] :
( ! [M2: nat] :
( ( ord_less @ nat @ M2 @ N2 )
=> ( P @ M2 ) )
=> ( P @ N2 ) )
=> ( P @ N ) ) ).
% nat_less_induct
thf(fact_30_infinite__descent,axiom,
! [P: nat > $o,N: nat] :
( ! [N2: nat] :
( ~ ( P @ N2 )
=> ? [M2: nat] :
( ( ord_less @ nat @ M2 @ N2 )
& ~ ( P @ M2 ) ) )
=> ( P @ N ) ) ).
% infinite_descent
thf(fact_31_linorder__neqE__nat,axiom,
! [X2: nat,Y: nat] :
( ( X2 != Y )
=> ( ~ ( ord_less @ nat @ X2 @ Y )
=> ( ord_less @ nat @ Y @ X2 ) ) ) ).
% linorder_neqE_nat
thf(fact_32_measure__induct__rule,axiom,
! [B: $tType,A: $tType] :
( ( wellorder @ B )
=> ! [F: A > B,P: A > $o,A2: A] :
( ! [X3: A] :
( ! [Y2: A] :
( ( ord_less @ B @ ( F @ Y2 ) @ ( F @ X3 ) )
=> ( P @ Y2 ) )
=> ( P @ X3 ) )
=> ( P @ A2 ) ) ) ).
% measure_induct_rule
thf(fact_33_infinite__descent__measure,axiom,
! [A: $tType,P: A > $o,V2: A > nat,X2: A] :
( ! [X3: A] :
( ~ ( P @ X3 )
=> ? [Y2: A] :
( ( ord_less @ nat @ ( V2 @ Y2 ) @ ( V2 @ X3 ) )
& ~ ( P @ Y2 ) ) )
=> ( P @ X2 ) ) ).
% infinite_descent_measure
thf(fact_34_map__eq__imp__length__eq,axiom,
! [A: $tType,B: $tType,C: $tType,F: B > A,Xs2: list @ B,G: C > A,Ys: list @ C] :
( ( ( map @ B @ A @ F @ Xs2 )
= ( map @ C @ A @ G @ Ys ) )
=> ( ( size_size @ ( list @ B ) @ Xs2 )
= ( size_size @ ( list @ C ) @ Ys ) ) ) ).
% map_eq_imp_length_eq
thf(fact_35_zero__less__iff__neq__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ N )
= ( N
!= ( zero_zero @ A ) ) ) ) ).
% zero_less_iff_neq_zero
thf(fact_36_gr__implies__not__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [M: A,N: A] :
( ( ord_less @ A @ M @ N )
=> ( N
!= ( zero_zero @ A ) ) ) ) ).
% gr_implies_not_zero
thf(fact_37_not__less__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
~ ( ord_less @ A @ N @ ( zero_zero @ A ) ) ) ).
% not_less_zero
thf(fact_38_gr__zeroI,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( N
!= ( zero_zero @ A ) )
=> ( ord_less @ A @ ( zero_zero @ A ) @ N ) ) ) ).
% gr_zeroI
thf(fact_39_infinite__descent0__measure,axiom,
! [A: $tType,V2: A > nat,P: A > $o,X2: A] :
( ! [X3: A] :
( ( ( V2 @ X3 )
= ( zero_zero @ nat ) )
=> ( P @ X3 ) )
=> ( ! [X3: A] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( V2 @ X3 ) )
=> ( ~ ( P @ X3 )
=> ? [Y2: A] :
( ( ord_less @ nat @ ( V2 @ Y2 ) @ ( V2 @ X3 ) )
& ~ ( P @ Y2 ) ) ) )
=> ( P @ X2 ) ) ) ).
% infinite_descent0_measure
thf(fact_40_bot__nat__0_Oextremum__strict,axiom,
! [A2: nat] :
~ ( ord_less @ nat @ A2 @ ( zero_zero @ nat ) ) ).
% bot_nat_0.extremum_strict
thf(fact_41_infinite__descent0,axiom,
! [P: nat > $o,N: nat] :
( ( P @ ( zero_zero @ nat ) )
=> ( ! [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
=> ( ~ ( P @ N2 )
=> ? [M2: nat] :
( ( ord_less @ nat @ M2 @ N2 )
& ~ ( P @ M2 ) ) ) )
=> ( P @ N ) ) ) ).
% infinite_descent0
thf(fact_42_gr__implies__not0,axiom,
! [M: nat,N: nat] :
( ( ord_less @ nat @ M @ N )
=> ( N
!= ( zero_zero @ nat ) ) ) ).
% gr_implies_not0
thf(fact_43_mem__Collect__eq,axiom,
! [A: $tType,A2: A,P: A > $o] :
( ( member @ A @ A2 @ ( collect @ A @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_44_Collect__mem__eq,axiom,
! [A: $tType,A3: set @ A] :
( ( collect @ A
@ ^ [X: A] : ( member @ A @ X @ A3 ) )
= A3 ) ).
% Collect_mem_eq
thf(fact_45_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X3: A] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q ) ) ) ).
% Collect_cong
thf(fact_46_ext,axiom,
! [B: $tType,A: $tType,F: A > B,G: A > B] :
( ! [X3: A] :
( ( F @ X3 )
= ( G @ X3 ) )
=> ( F = G ) ) ).
% ext
thf(fact_47_less__zeroE,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% less_zeroE
thf(fact_48_not__less0,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% not_less0
thf(fact_49_not__gr0,axiom,
! [N: nat] :
( ( ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) )
= ( N
= ( zero_zero @ nat ) ) ) ).
% not_gr0
thf(fact_50_gr0I,axiom,
! [N: nat] :
( ( N
!= ( zero_zero @ nat ) )
=> ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).
% gr0I
thf(fact_51_length__induct,axiom,
! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
( ! [Xs: list @ A] :
( ! [Ys2: list @ A] :
( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ys2 ) @ ( size_size @ ( list @ A ) @ Xs ) )
=> ( P @ Ys2 ) )
=> ( P @ Xs ) )
=> ( P @ Xs2 ) ) ).
% length_induct
thf(fact_52_all__nat__less__eq,axiom,
! [N: nat,P: nat > $o] :
( ( ! [M3: nat] :
( ( ord_less @ nat @ M3 @ N )
=> ( P @ M3 ) ) )
= ( ! [X: nat] :
( ( member @ nat @ X @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ N ) )
=> ( P @ X ) ) ) ) ).
% all_nat_less_eq
thf(fact_53_ex__nat__less__eq,axiom,
! [N: nat,P: nat > $o] :
( ( ? [M3: nat] :
( ( ord_less @ nat @ M3 @ N )
& ( P @ M3 ) ) )
= ( ? [X: nat] :
( ( member @ nat @ X @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ N ) )
& ( P @ X ) ) ) ) ).
% ex_nat_less_eq
thf(fact_54_list__eq__iff__nth__eq,axiom,
! [A: $tType] :
( ( ^ [Y3: list @ A,Z: list @ A] : ( Y3 = Z ) )
= ( ^ [Xs3: list @ A,Ys3: list @ A] :
( ( ( size_size @ ( list @ A ) @ Xs3 )
= ( size_size @ ( list @ A ) @ Ys3 ) )
& ! [I2: nat] :
( ( ord_less @ nat @ I2 @ ( size_size @ ( list @ A ) @ Xs3 ) )
=> ( ( nth @ A @ Xs3 @ I2 )
= ( nth @ A @ Ys3 @ I2 ) ) ) ) ) ) ).
% list_eq_iff_nth_eq
thf(fact_55_Skolem__list__nth,axiom,
! [A: $tType,K: nat,P: nat > A > $o] :
( ( ! [I2: nat] :
( ( ord_less @ nat @ I2 @ K )
=> ? [X4: A] : ( P @ I2 @ X4 ) ) )
= ( ? [Xs3: list @ A] :
( ( ( size_size @ ( list @ A ) @ Xs3 )
= K )
& ! [I2: nat] :
( ( ord_less @ nat @ I2 @ K )
=> ( P @ I2 @ ( nth @ A @ Xs3 @ I2 ) ) ) ) ) ) ).
% Skolem_list_nth
thf(fact_56_nth__equalityI,axiom,
! [A: $tType,Xs2: list @ A,Ys: list @ A] :
( ( ( size_size @ ( list @ A ) @ Xs2 )
= ( size_size @ ( list @ A ) @ Ys ) )
=> ( ! [I3: nat] :
( ( ord_less @ nat @ I3 @ ( size_size @ ( list @ A ) @ Xs2 ) )
=> ( ( nth @ A @ Xs2 @ I3 )
= ( nth @ A @ Ys @ I3 ) ) )
=> ( Xs2 = Ys ) ) ) ).
% nth_equalityI
thf(fact_57_zero__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( zero @ B )
=> ( ( zero_zero @ ( A > B ) )
= ( ^ [X: A] : ( zero_zero @ B ) ) ) ) ).
% zero_fun_def
thf(fact_58_zero__reorient,axiom,
! [A: $tType] :
( ( zero @ A )
=> ! [X2: A] :
( ( ( zero_zero @ A )
= X2 )
= ( X2
= ( zero_zero @ A ) ) ) ) ).
% zero_reorient
thf(fact_59_mset__map,axiom,
! [A: $tType,B: $tType,F: B > A,Xs2: list @ B] :
( ( mset @ A @ ( map @ B @ A @ F @ Xs2 ) )
= ( image_mset @ B @ A @ F @ ( mset @ B @ Xs2 ) ) ) ).
% mset_map
thf(fact_60_size__mset,axiom,
! [A: $tType,Xs2: list @ A] :
( ( size_size @ ( multiset @ A ) @ ( mset @ A @ Xs2 ) )
= ( size_size @ ( list @ A ) @ Xs2 ) ) ).
% size_mset
thf(fact_61_lessThan__iff,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [I: A,K: A] :
( ( member @ A @ I @ ( set_ord_lessThan @ A @ K ) )
= ( ord_less @ A @ I @ K ) ) ) ).
% lessThan_iff
thf(fact_62_image__mset__mset__set,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( image_mset @ A @ B @ F @ ( mset_set @ A @ A3 ) )
= ( mset_set @ B @ ( image @ A @ B @ F @ A3 ) ) ) ) ).
% image_mset_mset_set
thf(fact_63_lessThan__atLeast0,axiom,
( ( set_ord_lessThan @ nat )
= ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) ) ) ).
% lessThan_atLeast0
thf(fact_64_bij__betw__def,axiom,
! [B: $tType,A: $tType] :
( ( bij_betw @ A @ B )
= ( ^ [F2: A > B,A4: set @ A,B2: set @ B] :
( ( inj_on @ A @ B @ F2 @ A4 )
& ( ( image @ A @ B @ F2 @ A4 )
= B2 ) ) ) ) ).
% bij_betw_def
thf(fact_65_bij__betw__imageI,axiom,
! [A: $tType,B: $tType,F: A > B,A3: set @ A,B3: set @ B] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( ( image @ A @ B @ F @ A3 )
= B3 )
=> ( bij_betw @ A @ B @ F @ A3 @ B3 ) ) ) ).
% bij_betw_imageI
thf(fact_66_inj__on__imp__bij__betw,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( bij_betw @ A @ B @ F @ A3 @ ( image @ A @ B @ F @ A3 ) ) ) ).
% inj_on_imp_bij_betw
thf(fact_67_comp__inj__on,axiom,
! [B: $tType,C: $tType,A: $tType,F: A > B,A3: set @ A,G: B > C] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( inj_on @ B @ C @ G @ ( image @ A @ B @ F @ A3 ) )
=> ( inj_on @ A @ C @ ( comp @ B @ C @ A @ G @ F ) @ A3 ) ) ) ).
% comp_inj_on
thf(fact_68_inj__on__imageI,axiom,
! [B: $tType,C: $tType,A: $tType,G: C > B,F: A > C,A3: set @ A] :
( ( inj_on @ A @ B @ ( comp @ C @ B @ A @ G @ F ) @ A3 )
=> ( inj_on @ C @ B @ G @ ( image @ A @ C @ F @ A3 ) ) ) ).
% inj_on_imageI
thf(fact_69_comp__inj__on__iff,axiom,
! [B: $tType,C: $tType,A: $tType,F: A > B,A3: set @ A,F3: B > C] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( inj_on @ B @ C @ F3 @ ( image @ A @ B @ F @ A3 ) )
= ( inj_on @ A @ C @ ( comp @ B @ C @ A @ F3 @ F ) @ A3 ) ) ) ).
% comp_inj_on_iff
thf(fact_70_comp__apply,axiom,
! [C: $tType,A: $tType,B: $tType] :
( ( comp @ B @ A @ C )
= ( ^ [F2: B > A,G2: C > B,X: C] : ( F2 @ ( G2 @ X ) ) ) ) ).
% comp_apply
thf(fact_71_lessThan__eq__iff,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X2: A,Y: A] :
( ( ( set_ord_lessThan @ A @ X2 )
= ( set_ord_lessThan @ A @ Y ) )
= ( X2 = Y ) ) ) ).
% lessThan_eq_iff
thf(fact_72_image__mset__empty,axiom,
! [B: $tType,A: $tType,F: B > A] :
( ( image_mset @ B @ A @ F @ ( zero_zero @ ( multiset @ B ) ) )
= ( zero_zero @ ( multiset @ A ) ) ) ).
% image_mset_empty
thf(fact_73_image__mset__is__empty__iff,axiom,
! [A: $tType,B: $tType,F: B > A,M4: multiset @ B] :
( ( ( image_mset @ B @ A @ F @ M4 )
= ( zero_zero @ ( multiset @ A ) ) )
= ( M4
= ( zero_zero @ ( multiset @ B ) ) ) ) ).
% image_mset_is_empty_iff
thf(fact_74_size__eq__0__iff__empty,axiom,
! [A: $tType,M4: multiset @ A] :
( ( ( size_size @ ( multiset @ A ) @ M4 )
= ( zero_zero @ nat ) )
= ( M4
= ( zero_zero @ ( multiset @ A ) ) ) ) ).
% size_eq_0_iff_empty
thf(fact_75_size__empty,axiom,
! [A: $tType] :
( ( size_size @ ( multiset @ A ) @ ( zero_zero @ ( multiset @ A ) ) )
= ( zero_zero @ nat ) ) ).
% size_empty
thf(fact_76_size__image__mset,axiom,
! [A: $tType,B: $tType,F: B > A,M4: multiset @ B] :
( ( size_size @ ( multiset @ A ) @ ( image_mset @ B @ A @ F @ M4 ) )
= ( size_size @ ( multiset @ B ) @ M4 ) ) ).
% size_image_mset
thf(fact_77_mset__upt,axiom,
! [M: nat,N: nat] :
( ( mset @ nat @ ( upt @ M @ N ) )
= ( mset_set @ nat @ ( set_or1433837966ssThan @ nat @ M @ N ) ) ) ).
% mset_upt
thf(fact_78_inj__on__strict__subset,axiom,
! [B: $tType,A: $tType,F: A > B,B3: set @ A,A3: set @ A] :
( ( inj_on @ A @ B @ F @ B3 )
=> ( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ( ord_less @ ( set @ B ) @ ( image @ A @ B @ F @ A3 ) @ ( image @ A @ B @ F @ B3 ) ) ) ) ).
% inj_on_strict_subset
thf(fact_79_comp__eq__dest__lhs,axiom,
! [C: $tType,B: $tType,A: $tType,A2: C > B,B4: A > C,C2: A > B,V: A] :
( ( ( comp @ C @ B @ A @ A2 @ B4 )
= C2 )
=> ( ( A2 @ ( B4 @ V ) )
= ( C2 @ V ) ) ) ).
% comp_eq_dest_lhs
thf(fact_80_comp__eq__elim,axiom,
! [C: $tType,B: $tType,D: $tType,A: $tType,A2: C > B,B4: A > C,C2: D > B,D2: A > D] :
( ( ( comp @ C @ B @ A @ A2 @ B4 )
= ( comp @ D @ B @ A @ C2 @ D2 ) )
=> ! [V3: A] :
( ( A2 @ ( B4 @ V3 ) )
= ( C2 @ ( D2 @ V3 ) ) ) ) ).
% comp_eq_elim
thf(fact_81_comp__eq__dest,axiom,
! [C: $tType,B: $tType,D: $tType,A: $tType,A2: C > B,B4: A > C,C2: D > B,D2: A > D,V: A] :
( ( ( comp @ C @ B @ A @ A2 @ B4 )
= ( comp @ D @ B @ A @ C2 @ D2 ) )
=> ( ( A2 @ ( B4 @ V ) )
= ( C2 @ ( D2 @ V ) ) ) ) ).
% comp_eq_dest
thf(fact_82_comp__assoc,axiom,
! [B: $tType,D: $tType,C: $tType,A: $tType,F: D > B,G: C > D,H: A > C] :
( ( comp @ C @ B @ A @ ( comp @ D @ B @ C @ F @ G ) @ H )
= ( comp @ D @ B @ A @ F @ ( comp @ C @ D @ A @ G @ H ) ) ) ).
% comp_assoc
thf(fact_83_comp__def,axiom,
! [A: $tType,C: $tType,B: $tType] :
( ( comp @ B @ C @ A )
= ( ^ [F2: B > C,G2: A > B,X: A] : ( F2 @ ( G2 @ X ) ) ) ) ).
% comp_def
thf(fact_84_inj__on__inverseI,axiom,
! [B: $tType,A: $tType,A3: set @ A,G: B > A,F: A > B] :
( ! [X3: A] :
( ( member @ A @ X3 @ A3 )
=> ( ( G @ ( F @ X3 ) )
= X3 ) )
=> ( inj_on @ A @ B @ F @ A3 ) ) ).
% inj_on_inverseI
thf(fact_85_inj__on__contraD,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A,X2: A,Y: A] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( X2 != Y )
=> ( ( member @ A @ X2 @ A3 )
=> ( ( member @ A @ Y @ A3 )
=> ( ( F @ X2 )
!= ( F @ Y ) ) ) ) ) ) ).
% inj_on_contraD
thf(fact_86_inj__on__eq__iff,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A,X2: A,Y: A] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( member @ A @ X2 @ A3 )
=> ( ( member @ A @ Y @ A3 )
=> ( ( ( F @ X2 )
= ( F @ Y ) )
= ( X2 = Y ) ) ) ) ) ).
% inj_on_eq_iff
thf(fact_87_inj__on__cong,axiom,
! [B: $tType,A: $tType,A3: set @ A,F: A > B,G: A > B] :
( ! [A5: A] :
( ( member @ A @ A5 @ A3 )
=> ( ( F @ A5 )
= ( G @ A5 ) ) )
=> ( ( inj_on @ A @ B @ F @ A3 )
= ( inj_on @ A @ B @ G @ A3 ) ) ) ).
% inj_on_cong
thf(fact_88_inj__on__def,axiom,
! [B: $tType,A: $tType] :
( ( inj_on @ A @ B )
= ( ^ [F2: A > B,A4: set @ A] :
! [X: A] :
( ( member @ A @ X @ A4 )
=> ! [Y4: A] :
( ( member @ A @ Y4 @ A4 )
=> ( ( ( F2 @ X )
= ( F2 @ Y4 ) )
=> ( X = Y4 ) ) ) ) ) ) ).
% inj_on_def
thf(fact_89_inj__onI,axiom,
! [B: $tType,A: $tType,A3: set @ A,F: A > B] :
( ! [X3: A,Y5: A] :
( ( member @ A @ X3 @ A3 )
=> ( ( member @ A @ Y5 @ A3 )
=> ( ( ( F @ X3 )
= ( F @ Y5 ) )
=> ( X3 = Y5 ) ) ) )
=> ( inj_on @ A @ B @ F @ A3 ) ) ).
% inj_onI
thf(fact_90_inj__onD,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A,X2: A,Y: A] :
( ( inj_on @ A @ B @ F @ A3 )
=> ( ( ( F @ X2 )
= ( F @ Y ) )
=> ( ( member @ A @ X2 @ A3 )
=> ( ( member @ A @ Y @ A3 )
=> ( X2 = Y ) ) ) ) ) ).
% inj_onD
thf(fact_91_bij__betw__iff__bijections,axiom,
! [B: $tType,A: $tType] :
( ( bij_betw @ A @ B )
= ( ^ [F2: A > B,A4: set @ A,B2: set @ B] :
? [G2: B > A] :
( ! [X: A] :
( ( member @ A @ X @ A4 )
=> ( ( member @ B @ ( F2 @ X ) @ B2 )
& ( ( G2 @ ( F2 @ X ) )
= X ) ) )
& ! [X: B] :
( ( member @ B @ X @ B2 )
=> ( ( member @ A @ ( G2 @ X ) @ A4 )
& ( ( F2 @ ( G2 @ X ) )
= X ) ) ) ) ) ) ).
% bij_betw_iff_bijections
thf(fact_92_bij__betw__apply,axiom,
! [A: $tType,B: $tType,F: A > B,A3: set @ A,B3: set @ B,A2: A] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ( ( member @ A @ A2 @ A3 )
=> ( member @ B @ ( F @ A2 ) @ B3 ) ) ) ).
% bij_betw_apply
thf(fact_93_bij__betw__cong,axiom,
! [A: $tType,B: $tType,A3: set @ A,F: A > B,G: A > B,A6: set @ B] :
( ! [A5: A] :
( ( member @ A @ A5 @ A3 )
=> ( ( F @ A5 )
= ( G @ A5 ) ) )
=> ( ( bij_betw @ A @ B @ F @ A3 @ A6 )
= ( bij_betw @ A @ B @ G @ A3 @ A6 ) ) ) ).
% bij_betw_cong
thf(fact_94_bij__betw__inv,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A,B3: set @ B] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ? [G3: B > A] : ( bij_betw @ B @ A @ G3 @ B3 @ A3 ) ) ).
% bij_betw_inv
thf(fact_95_bij__betwE,axiom,
! [A: $tType,B: $tType,F: A > B,A3: set @ A,B3: set @ B] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ! [X5: A] :
( ( member @ A @ X5 @ A3 )
=> ( member @ B @ ( F @ X5 ) @ B3 ) ) ) ).
% bij_betwE
thf(fact_96_ex__mset,axiom,
! [A: $tType,X6: multiset @ A] :
? [Xs: list @ A] :
( ( mset @ A @ Xs )
= X6 ) ).
% ex_mset
thf(fact_97_image__eq__imp__comp,axiom,
! [B: $tType,A: $tType,D: $tType,C: $tType,F: B > A,A3: set @ B,G: C > A,B3: set @ C,H: A > D] :
( ( ( image @ B @ A @ F @ A3 )
= ( image @ C @ A @ G @ B3 ) )
=> ( ( image @ B @ D @ ( comp @ A @ D @ B @ H @ F ) @ A3 )
= ( image @ C @ D @ ( comp @ A @ D @ C @ H @ G ) @ B3 ) ) ) ).
% image_eq_imp_comp
thf(fact_98_image__comp,axiom,
! [B: $tType,A: $tType,C: $tType,F: B > A,G: C > B,R: set @ C] :
( ( image @ B @ A @ F @ ( image @ C @ B @ G @ R ) )
= ( image @ C @ A @ ( comp @ B @ A @ C @ F @ G ) @ R ) ) ).
% image_comp
thf(fact_99_nonempty__has__size,axiom,
! [A: $tType,S2: multiset @ A] :
( ( S2
!= ( zero_zero @ ( multiset @ A ) ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( multiset @ A ) @ S2 ) ) ) ).
% nonempty_has_size
thf(fact_100_atLeastLessThan__inj_I2_J,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [A2: A,B4: A,C2: A,D2: A] :
( ( ( set_or1433837966ssThan @ A @ A2 @ B4 )
= ( set_or1433837966ssThan @ A @ C2 @ D2 ) )
=> ( ( ord_less @ A @ A2 @ B4 )
=> ( ( ord_less @ A @ C2 @ D2 )
=> ( B4 = D2 ) ) ) ) ) ).
% atLeastLessThan_inj(2)
thf(fact_101_atLeastLessThan__inj_I1_J,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [A2: A,B4: A,C2: A,D2: A] :
( ( ( set_or1433837966ssThan @ A @ A2 @ B4 )
= ( set_or1433837966ssThan @ A @ C2 @ D2 ) )
=> ( ( ord_less @ A @ A2 @ B4 )
=> ( ( ord_less @ A @ C2 @ D2 )
=> ( A2 = C2 ) ) ) ) ) ).
% atLeastLessThan_inj(1)
thf(fact_102_atLeastLessThan__eq__iff,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [A2: A,B4: A,C2: A,D2: A] :
( ( ord_less @ A @ A2 @ B4 )
=> ( ( ord_less @ A @ C2 @ D2 )
=> ( ( ( set_or1433837966ssThan @ A @ A2 @ B4 )
= ( set_or1433837966ssThan @ A @ C2 @ D2 ) )
= ( ( A2 = C2 )
& ( B4 = D2 ) ) ) ) ) ) ).
% atLeastLessThan_eq_iff
thf(fact_103_lessThan__strict__subset__iff,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [M: A,N: A] :
( ( ord_less @ ( set @ A ) @ ( set_ord_lessThan @ A @ M ) @ ( set_ord_lessThan @ A @ N ) )
= ( ord_less @ A @ M @ N ) ) ) ).
% lessThan_strict_subset_iff
thf(fact_104_inj__on__image__iff,axiom,
! [B: $tType,A: $tType,A3: set @ A,G: A > B,F: A > A] :
( ! [X3: A] :
( ( member @ A @ X3 @ A3 )
=> ! [Xa: A] :
( ( member @ A @ Xa @ A3 )
=> ( ( ( G @ ( F @ X3 ) )
= ( G @ ( F @ Xa ) ) )
= ( ( G @ X3 )
= ( G @ Xa ) ) ) ) )
=> ( ( inj_on @ A @ A @ F @ A3 )
=> ( ( inj_on @ A @ B @ G @ ( image @ A @ A @ F @ A3 ) )
= ( inj_on @ A @ B @ G @ A3 ) ) ) ) ).
% inj_on_image_iff
thf(fact_105_inj__on__imageI2,axiom,
! [B: $tType,C: $tType,A: $tType,F3: C > B,F: A > C,A3: set @ A] :
( ( inj_on @ A @ B @ ( comp @ C @ B @ A @ F3 @ F ) @ A3 )
=> ( inj_on @ A @ C @ F @ A3 ) ) ).
% inj_on_imageI2
thf(fact_106_bij__betw__imp__surj__on,axiom,
! [A: $tType,B: $tType,F: A > B,A3: set @ A,B3: set @ B] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ( ( image @ A @ B @ F @ A3 )
= B3 ) ) ).
% bij_betw_imp_surj_on
thf(fact_107_bij__betw__comp__iff,axiom,
! [A: $tType,B: $tType,C: $tType,F: A > B,A3: set @ A,A6: set @ B,F3: B > C,A7: set @ C] :
( ( bij_betw @ A @ B @ F @ A3 @ A6 )
=> ( ( bij_betw @ B @ C @ F3 @ A6 @ A7 )
= ( bij_betw @ A @ C @ ( comp @ B @ C @ A @ F3 @ F ) @ A3 @ A7 ) ) ) ).
% bij_betw_comp_iff
thf(fact_108_bij__betw__trans,axiom,
! [A: $tType,B: $tType,C: $tType,F: A > B,A3: set @ A,B3: set @ B,G: B > C,C3: set @ C] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ( ( bij_betw @ B @ C @ G @ B3 @ C3 )
=> ( bij_betw @ A @ C @ ( comp @ B @ C @ A @ G @ F ) @ A3 @ C3 ) ) ) ).
% bij_betw_trans
thf(fact_109_multiset_Omap__comp,axiom,
! [B: $tType,C: $tType,A: $tType,G: B > C,F: A > B,V: multiset @ A] :
( ( image_mset @ B @ C @ G @ ( image_mset @ A @ B @ F @ V ) )
= ( image_mset @ A @ C @ ( comp @ B @ C @ A @ G @ F ) @ V ) ) ).
% multiset.map_comp
thf(fact_110_image__mset_Ocompositionality,axiom,
! [B: $tType,C: $tType,A: $tType,F: B > C,G: A > B,Multiset: multiset @ A] :
( ( image_mset @ B @ C @ F @ ( image_mset @ A @ B @ G @ Multiset ) )
= ( image_mset @ A @ C @ ( comp @ B @ C @ A @ F @ G ) @ Multiset ) ) ).
% image_mset.compositionality
thf(fact_111_image__mset_Ocomp,axiom,
! [C: $tType,B: $tType,A: $tType,F: B > C,G: A > B] :
( ( comp @ ( multiset @ B ) @ ( multiset @ C ) @ ( multiset @ A ) @ ( image_mset @ B @ C @ F ) @ ( image_mset @ A @ B @ G ) )
= ( image_mset @ A @ C @ ( comp @ B @ C @ A @ F @ G ) ) ) ).
% image_mset.comp
thf(fact_112_bij__betw__imp__inj__on,axiom,
! [B: $tType,A: $tType,F: A > B,A3: set @ A,B3: set @ B] :
( ( bij_betw @ A @ B @ F @ A3 @ B3 )
=> ( inj_on @ A @ B @ F @ A3 ) ) ).
% bij_betw_imp_inj_on
thf(fact_113_mset__eq__length,axiom,
! [A: $tType,Xs2: list @ A,Ys: list @ A] :
( ( ( mset @ A @ Xs2 )
= ( mset @ A @ Ys ) )
=> ( ( size_size @ ( list @ A ) @ Xs2 )
= ( size_size @ ( list @ A ) @ Ys ) ) ) ).
% mset_eq_length
thf(fact_114_image__eqI,axiom,
! [A: $tType,B: $tType,B4: A,F: B > A,X2: B,A3: set @ B] :
( ( B4
= ( F @ X2 ) )
=> ( ( member @ B @ X2 @ A3 )
=> ( member @ A @ B4 @ ( image @ B @ A @ F @ A3 ) ) ) ) ).
% image_eqI
thf(fact_115_mbs_Oless__not__eq,axiom,
! [A: $tType] :
( ( size @ A )
=> ! [X2: A,A3: set @ A,Y: A] :
( ( member @ A @ X2 @ A3 )
=> ( ( ord_less @ nat @ ( size_size @ A @ X2 ) @ ( size_size @ A @ Y ) )
=> ( X2 != Y ) ) ) ) ).
% mbs.less_not_eq
thf(fact_116_Sup_OSUP__image,axiom,
! [B: $tType,A: $tType,C: $tType,Sup: ( set @ A ) > A,G: B > A,F: C > B,A3: set @ C] :
( ( Sup @ ( image @ B @ A @ G @ ( image @ C @ B @ F @ A3 ) ) )
= ( Sup @ ( image @ C @ A @ ( comp @ B @ A @ C @ G @ F ) @ A3 ) ) ) ).
% Sup.SUP_image
thf(fact_117_Inf_OINF__image,axiom,
! [B: $tType,A: $tType,C: $tType,Inf: ( set @ A ) > A,G: B > A,F: C > B,A3: set @ C] :
( ( Inf @ ( image @ B @ A @ G @ ( image @ C @ B @ F @ A3 ) ) )
= ( Inf @ ( image @ C @ A @ ( comp @ B @ A @ C @ G @ F ) @ A3 ) ) ) ).
% Inf.INF_image
thf(fact_118_less__numeral__extra_I3_J,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ~ ( ord_less @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% less_numeral_extra(3)
thf(fact_119_field__lbound__gt__zero,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [D1: A,D22: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ D1 )
=> ( ( ord_less @ A @ ( zero_zero @ A ) @ D22 )
=> ? [E: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ E )
& ( ord_less @ A @ E @ D1 )
& ( ord_less @ A @ E @ D22 ) ) ) ) ) ).
% field_lbound_gt_zero
thf(fact_120_length__code,axiom,
! [A: $tType] :
( ( size_size @ ( list @ A ) )
= ( gen_length @ A @ ( zero_zero @ nat ) ) ) ).
% length_code
thf(fact_121_psubsetD,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C2: A] :
( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ( ( member @ A @ C2 @ A3 )
=> ( member @ A @ C2 @ B3 ) ) ) ).
% psubsetD
thf(fact_122_psubset__trans,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ( ( ord_less @ ( set @ A ) @ B3 @ C3 )
=> ( ord_less @ ( set @ A ) @ A3 @ C3 ) ) ) ).
% psubset_trans
thf(fact_123_imageI,axiom,
! [B: $tType,A: $tType,X2: A,A3: set @ A,F: A > B] :
( ( member @ A @ X2 @ A3 )
=> ( member @ B @ ( F @ X2 ) @ ( image @ A @ B @ F @ A3 ) ) ) ).
% imageI
thf(fact_124_image__iff,axiom,
! [A: $tType,B: $tType,Z2: A,F: B > A,A3: set @ B] :
( ( member @ A @ Z2 @ ( image @ B @ A @ F @ A3 ) )
= ( ? [X: B] :
( ( member @ B @ X @ A3 )
& ( Z2
= ( F @ X ) ) ) ) ) ).
% image_iff
thf(fact_125_bex__imageD,axiom,
! [A: $tType,B: $tType,F: B > A,A3: set @ B,P: A > $o] :
( ? [X5: A] :
( ( member @ A @ X5 @ ( image @ B @ A @ F @ A3 ) )
& ( P @ X5 ) )
=> ? [X3: B] :
( ( member @ B @ X3 @ A3 )
& ( P @ ( F @ X3 ) ) ) ) ).
% bex_imageD
thf(fact_126_image__cong,axiom,
! [B: $tType,A: $tType,M4: set @ A,N3: set @ A,F: A > B,G: A > B] :
( ( M4 = N3 )
=> ( ! [X3: A] :
( ( member @ A @ X3 @ N3 )
=> ( ( F @ X3 )
= ( G @ X3 ) ) )
=> ( ( image @ A @ B @ F @ M4 )
= ( image @ A @ B @ G @ N3 ) ) ) ) ).
% image_cong
thf(fact_127_ball__imageD,axiom,
! [A: $tType,B: $tType,F: B > A,A3: set @ B,P: A > $o] :
( ! [X3: A] :
( ( member @ A @ X3 @ ( image @ B @ A @ F @ A3 ) )
=> ( P @ X3 ) )
=> ! [X5: B] :
( ( member @ B @ X5 @ A3 )
=> ( P @ ( F @ X5 ) ) ) ) ).
% ball_imageD
thf(fact_128_rev__image__eqI,axiom,
! [B: $tType,A: $tType,X2: A,A3: set @ A,B4: B,F: A > B] :
( ( member @ A @ X2 @ A3 )
=> ( ( B4
= ( F @ X2 ) )
=> ( member @ B @ B4 @ ( image @ A @ B @ F @ A3 ) ) ) ) ).
% rev_image_eqI
thf(fact_129_Inf_OINF__cong,axiom,
! [A: $tType,B: $tType,A3: set @ B,B3: set @ B,C3: B > A,D3: B > A,Inf: ( set @ A ) > A] :
( ( A3 = B3 )
=> ( ! [X3: B] :
( ( member @ B @ X3 @ B3 )
=> ( ( C3 @ X3 )
= ( D3 @ X3 ) ) )
=> ( ( Inf @ ( image @ B @ A @ C3 @ A3 ) )
= ( Inf @ ( image @ B @ A @ D3 @ B3 ) ) ) ) ) ).
% Inf.INF_cong
thf(fact_130_Sup_OSUP__cong,axiom,
! [A: $tType,B: $tType,A3: set @ B,B3: set @ B,C3: B > A,D3: B > A,Sup: ( set @ A ) > A] :
( ( A3 = B3 )
=> ( ! [X3: B] :
( ( member @ B @ X3 @ B3 )
=> ( ( C3 @ X3 )
= ( D3 @ X3 ) ) )
=> ( ( Sup @ ( image @ B @ A @ C3 @ A3 ) )
= ( Sup @ ( image @ B @ A @ D3 @ B3 ) ) ) ) ) ).
% Sup.SUP_cong
thf(fact_131_Multiset_Ois__empty__def,axiom,
! [A: $tType] :
( ( is_empty @ A )
= ( ^ [A4: multiset @ A] :
( A4
= ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% Multiset.is_empty_def
thf(fact_132_map__eq__map__tailrec,axiom,
! [B: $tType,A: $tType] :
( ( map @ A @ B )
= ( map_tailrec @ A @ B ) ) ).
% map_eq_map_tailrec
thf(fact_133_list__ex__length,axiom,
! [A: $tType] :
( ( list_ex @ A )
= ( ^ [P2: A > $o,Xs3: list @ A] :
? [N4: nat] :
( ( ord_less @ nat @ N4 @ ( size_size @ ( list @ A ) @ Xs3 ) )
& ( P2 @ ( nth @ A @ Xs3 @ N4 ) ) ) ) ) ).
% list_ex_length
thf(fact_134_of__nat__0__less__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [N: nat] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( semiring_1_of_nat @ A @ N ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ) ).
% of_nat_0_less_iff
thf(fact_135_of__nat__fun__apply,axiom,
! [B: $tType,A: $tType] :
( ( semiring_1 @ A )
=> ( ( semiring_1_of_nat @ ( B > A ) )
= ( ^ [N4: nat,X: B] : ( semiring_1_of_nat @ A @ N4 ) ) ) ) ).
% of_nat_fun_apply
thf(fact_136_of__nat__eq__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [M: nat,N: nat] :
( ( ( semiring_1_of_nat @ A @ M )
= ( semiring_1_of_nat @ A @ N ) )
= ( M = N ) ) ) ).
% of_nat_eq_iff
thf(fact_137_of__nat__0,axiom,
! [A: $tType] :
( ( semiring_1 @ A )
=> ( ( semiring_1_of_nat @ A @ ( zero_zero @ nat ) )
= ( zero_zero @ A ) ) ) ).
% of_nat_0
thf(fact_138_of__nat__0__eq__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [N: nat] :
( ( ( zero_zero @ A )
= ( semiring_1_of_nat @ A @ N ) )
= ( ( zero_zero @ nat )
= N ) ) ) ).
% of_nat_0_eq_iff
thf(fact_139_of__nat__eq__0__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [M: nat] :
( ( ( semiring_1_of_nat @ A @ M )
= ( zero_zero @ A ) )
= ( M
= ( zero_zero @ nat ) ) ) ) ).
% of_nat_eq_0_iff
thf(fact_140_of__nat__less__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat,N: nat] :
( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( semiring_1_of_nat @ A @ N ) )
= ( ord_less @ nat @ M @ N ) ) ) ).
% of_nat_less_iff
thf(fact_141_bij__betw__of__nat,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [N3: set @ nat,A3: set @ A] :
( ( bij_betw @ nat @ A @ ( semiring_1_of_nat @ A ) @ N3 @ A3 )
= ( ( image @ nat @ A @ ( semiring_1_of_nat @ A ) @ N3 )
= A3 ) ) ) ).
% bij_betw_of_nat
thf(fact_142_image__int__atLeastLessThan,axiom,
! [A2: nat,B4: nat] :
( ( image @ nat @ int @ ( semiring_1_of_nat @ int ) @ ( set_or1433837966ssThan @ nat @ A2 @ B4 ) )
= ( set_or1433837966ssThan @ int @ ( semiring_1_of_nat @ int @ A2 ) @ ( semiring_1_of_nat @ int @ B4 ) ) ) ).
% image_int_atLeastLessThan
thf(fact_143_inj__on__of__nat,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [N3: set @ nat] : ( inj_on @ nat @ A @ ( semiring_1_of_nat @ A ) @ N3 ) ) ).
% inj_on_of_nat
thf(fact_144_of__nat__fun,axiom,
! [A: $tType,B: $tType] :
( ( semiring_1 @ B )
=> ( ( semiring_1_of_nat @ ( A > B ) )
= ( ^ [N4: nat,X: A] : ( semiring_1_of_nat @ B @ N4 ) ) ) ) ).
% of_nat_fun
thf(fact_145_of__nat__less__0__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat] :
~ ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( zero_zero @ A ) ) ) ).
% of_nat_less_0_iff
thf(fact_146_of__nat__less__imp__less,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat,N: nat] :
( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( semiring_1_of_nat @ A @ N ) )
=> ( ord_less @ nat @ M @ N ) ) ) ).
% of_nat_less_imp_less
thf(fact_147_less__imp__of__nat__less,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat,N: nat] :
( ( ord_less @ nat @ M @ N )
=> ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( semiring_1_of_nat @ A @ N ) ) ) ) ).
% less_imp_of_nat_less
thf(fact_148_pos__int__cases,axiom,
! [K: int] :
( ( ord_less @ int @ ( zero_zero @ int ) @ K )
=> ~ ! [N2: nat] :
( ( K
= ( semiring_1_of_nat @ int @ N2 ) )
=> ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).
% pos_int_cases
thf(fact_149_zero__less__imp__eq__int,axiom,
! [K: int] :
( ( ord_less @ int @ ( zero_zero @ int ) @ K )
=> ? [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
& ( K
= ( semiring_1_of_nat @ int @ N2 ) ) ) ) ).
% zero_less_imp_eq_int
thf(fact_150_reals__Archimedean2,axiom,
! [A: $tType] :
( ( archim1804426504_field @ A )
=> ! [X2: A] :
? [N2: nat] : ( ord_less @ A @ X2 @ ( semiring_1_of_nat @ A @ N2 ) ) ) ).
% reals_Archimedean2
thf(fact_151_size__multiset__empty,axiom,
! [A: $tType,F: A > nat] :
( ( size_multiset @ A @ F @ ( zero_zero @ ( multiset @ A ) ) )
= ( zero_zero @ nat ) ) ).
% size_multiset_empty
thf(fact_152_size__multiset__eq__0__iff__empty,axiom,
! [A: $tType,F: A > nat,M4: multiset @ A] :
( ( ( size_multiset @ A @ F @ M4 )
= ( zero_zero @ nat ) )
= ( M4
= ( zero_zero @ ( multiset @ A ) ) ) ) ).
% size_multiset_eq_0_iff_empty
thf(fact_153_int__int__eq,axiom,
! [M: nat,N: nat] :
( ( ( semiring_1_of_nat @ int @ M )
= ( semiring_1_of_nat @ int @ N ) )
= ( M = N ) ) ).
% int_int_eq
thf(fact_154_less__int__code_I1_J,axiom,
~ ( ord_less @ int @ ( zero_zero @ int ) @ ( zero_zero @ int ) ) ).
% less_int_code(1)
thf(fact_155_size__multiset__o__map,axiom,
! [B: $tType,A: $tType,G: B > nat,F: A > B] :
( ( comp @ ( multiset @ B ) @ nat @ ( multiset @ A ) @ ( size_multiset @ B @ G ) @ ( image_mset @ A @ B @ F ) )
= ( size_multiset @ A @ ( comp @ B @ nat @ A @ G @ F ) ) ) ).
% size_multiset_o_map
thf(fact_156_nat__int__comparison_I2_J,axiom,
( ( ord_less @ nat )
= ( ^ [A8: nat,B5: nat] : ( ord_less @ int @ ( semiring_1_of_nat @ int @ A8 ) @ ( semiring_1_of_nat @ int @ B5 ) ) ) ) ).
% nat_int_comparison(2)
thf(fact_157_int__ops_I1_J,axiom,
( ( semiring_1_of_nat @ int @ ( zero_zero @ nat ) )
= ( zero_zero @ int ) ) ).
% int_ops(1)
thf(fact_158_neg__int__cases,axiom,
! [K: int] :
( ( ord_less @ int @ K @ ( zero_zero @ int ) )
=> ~ ! [N2: nat] :
( ( K
= ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N2 ) ) )
=> ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).
% neg_int_cases
thf(fact_159_add_Oinverse__inverse,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A] :
( ( uminus_uminus @ A @ ( uminus_uminus @ A @ A2 ) )
= A2 ) ) ).
% add.inverse_inverse
thf(fact_160_neg__equal__iff__equal,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A,B4: A] :
( ( ( uminus_uminus @ A @ A2 )
= ( uminus_uminus @ A @ B4 ) )
= ( A2 = B4 ) ) ) ).
% neg_equal_iff_equal
thf(fact_161_add_Oinverse__neutral,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ( ( uminus_uminus @ A @ ( zero_zero @ A ) )
= ( zero_zero @ A ) ) ) ).
% add.inverse_neutral
thf(fact_162_neg__0__equal__iff__equal,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A] :
( ( ( zero_zero @ A )
= ( uminus_uminus @ A @ A2 ) )
= ( ( zero_zero @ A )
= A2 ) ) ) ).
% neg_0_equal_iff_equal
thf(fact_163_neg__equal__0__iff__equal,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A] :
( ( ( uminus_uminus @ A @ A2 )
= ( zero_zero @ A ) )
= ( A2
= ( zero_zero @ A ) ) ) ) ).
% neg_equal_0_iff_equal
thf(fact_164_equal__neg__zero,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( A2
= ( uminus_uminus @ A @ A2 ) )
= ( A2
= ( zero_zero @ A ) ) ) ) ).
% equal_neg_zero
thf(fact_165_neg__equal__zero,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( ( uminus_uminus @ A @ A2 )
= A2 )
= ( A2
= ( zero_zero @ A ) ) ) ) ).
% neg_equal_zero
thf(fact_166_neg__less__iff__less,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [B4: A,A2: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ B4 ) @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less @ A @ A2 @ B4 ) ) ) ).
% neg_less_iff_less
thf(fact_167_inj__uminus,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A3: set @ A] : ( inj_on @ A @ A @ ( uminus_uminus @ A ) @ A3 ) ) ).
% inj_uminus
thf(fact_168_neg__less__0__iff__less,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ A2 ) @ ( zero_zero @ A ) )
= ( ord_less @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% neg_less_0_iff_less
thf(fact_169_neg__0__less__iff__less,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% neg_0_less_iff_less
thf(fact_170_neg__less__pos,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ A2 ) @ A2 )
= ( ord_less @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% neg_less_pos
thf(fact_171_less__neg__neg,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( ord_less @ A @ A2 @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% less_neg_neg
thf(fact_172_negative__eq__positive,axiom,
! [N: nat,M: nat] :
( ( ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N ) )
= ( semiring_1_of_nat @ int @ M ) )
= ( ( N
= ( zero_zero @ nat ) )
& ( M
= ( zero_zero @ nat ) ) ) ) ).
% negative_eq_positive
thf(fact_173_int__cases2,axiom,
! [Z2: int] :
( ! [N2: nat] :
( Z2
!= ( semiring_1_of_nat @ int @ N2 ) )
=> ~ ! [N2: nat] :
( Z2
!= ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N2 ) ) ) ) ).
% int_cases2
thf(fact_174_minus__less__iff,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ A2 ) @ B4 )
= ( ord_less @ A @ ( uminus_uminus @ A @ B4 ) @ A2 ) ) ) ).
% minus_less_iff
thf(fact_175_less__minus__iff,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ ( uminus_uminus @ A @ B4 ) )
= ( ord_less @ A @ B4 @ ( uminus_uminus @ A @ A2 ) ) ) ) ).
% less_minus_iff
thf(fact_176_uminus__int__code_I1_J,axiom,
( ( uminus_uminus @ int @ ( zero_zero @ int ) )
= ( zero_zero @ int ) ) ).
% uminus_int_code(1)
thf(fact_177_verit__negate__coefficient_I2_J,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ B4 )
=> ( ord_less @ A @ ( uminus_uminus @ A @ B4 ) @ ( uminus_uminus @ A @ A2 ) ) ) ) ).
% verit_negate_coefficient(2)
thf(fact_178_equation__minus__iff,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A,B4: A] :
( ( A2
= ( uminus_uminus @ A @ B4 ) )
= ( B4
= ( uminus_uminus @ A @ A2 ) ) ) ) ).
% equation_minus_iff
thf(fact_179_minus__equation__iff,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A,B4: A] :
( ( ( uminus_uminus @ A @ A2 )
= B4 )
= ( ( uminus_uminus @ A @ B4 )
= A2 ) ) ) ).
% minus_equation_iff
thf(fact_180_not__int__zless__negative,axiom,
! [N: nat,M: nat] :
~ ( ord_less @ int @ ( semiring_1_of_nat @ int @ N ) @ ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ M ) ) ) ).
% not_int_zless_negative
thf(fact_181_int__cases4,axiom,
! [M: int] :
( ! [N2: nat] :
( M
!= ( semiring_1_of_nat @ int @ N2 ) )
=> ~ ! [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
=> ( M
!= ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N2 ) ) ) ) ) ).
% int_cases4
thf(fact_182_verit__comp__simplify1_I1_J,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A] :
~ ( ord_less @ A @ A2 @ A2 ) ) ).
% verit_comp_simplify1(1)
thf(fact_183_nat__int__comparison_I1_J,axiom,
( ( ^ [Y3: nat,Z: nat] : ( Y3 = Z ) )
= ( ^ [A8: nat,B5: nat] :
( ( semiring_1_of_nat @ int @ A8 )
= ( semiring_1_of_nat @ int @ B5 ) ) ) ) ).
% nat_int_comparison(1)
thf(fact_184_int__if,axiom,
! [P: $o,A2: nat,B4: nat] :
( ( P
=> ( ( semiring_1_of_nat @ int @ ( if @ nat @ P @ A2 @ B4 ) )
= ( semiring_1_of_nat @ int @ A2 ) ) )
& ( ~ P
=> ( ( semiring_1_of_nat @ int @ ( if @ nat @ P @ A2 @ B4 ) )
= ( semiring_1_of_nat @ int @ B4 ) ) ) ) ).
% int_if
thf(fact_185_int__cases3,axiom,
! [K: int] :
( ( K
!= ( zero_zero @ int ) )
=> ( ! [N2: nat] :
( ( K
= ( semiring_1_of_nat @ int @ N2 ) )
=> ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) )
=> ~ ! [N2: nat] :
( ( K
= ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N2 ) ) )
=> ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ) ).
% int_cases3
thf(fact_186_norm__frac_Oinduct,axiom,
! [P: int > int > $o,A0: int,A1: int] :
( ! [A5: int,B6: int] :
( ( ( ord_less @ int @ B6 @ ( zero_zero @ int ) )
=> ( P @ ( uminus_uminus @ int @ A5 ) @ ( uminus_uminus @ int @ B6 ) ) )
=> ( P @ A5 @ B6 ) )
=> ( P @ A0 @ A1 ) ) ).
% norm_frac.induct
thf(fact_187_compl__less__swap1,axiom,
! [A: $tType] :
( ( boolean_algebra @ A )
=> ! [Y: A,X2: A] :
( ( ord_less @ A @ Y @ ( uminus_uminus @ A @ X2 ) )
=> ( ord_less @ A @ X2 @ ( uminus_uminus @ A @ Y ) ) ) ) ).
% compl_less_swap1
thf(fact_188_compl__less__swap2,axiom,
! [A: $tType] :
( ( boolean_algebra @ A )
=> ! [Y: A,X2: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ Y ) @ X2 )
=> ( ord_less @ A @ ( uminus_uminus @ A @ X2 ) @ Y ) ) ) ).
% compl_less_swap2
thf(fact_189_compl__less__compl__iff,axiom,
! [A: $tType] :
( ( boolean_algebra @ A )
=> ! [X2: A,Y: A] :
( ( ord_less @ A @ ( uminus_uminus @ A @ X2 ) @ ( uminus_uminus @ A @ Y ) )
= ( ord_less @ A @ Y @ X2 ) ) ) ).
% compl_less_compl_iff
thf(fact_190_ex__inverse__of__nat__less,axiom,
! [A: $tType] :
( ( archim1804426504_field @ A )
=> ! [X2: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ X2 )
=> ? [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
& ( ord_less @ A @ ( inverse_inverse @ A @ ( semiring_1_of_nat @ A @ N2 ) ) @ X2 ) ) ) ) ).
% ex_inverse_of_nat_less
thf(fact_191_zero__less__nat__eq,axiom,
! [Z2: int] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( nat2 @ Z2 ) )
= ( ord_less @ int @ ( zero_zero @ int ) @ Z2 ) ) ).
% zero_less_nat_eq
thf(fact_192_nat__int,axiom,
! [N: nat] :
( ( nat2 @ ( semiring_1_of_nat @ int @ N ) )
= N ) ).
% nat_int
thf(fact_193_zless__nat__conj,axiom,
! [W: int,Z2: int] :
( ( ord_less @ nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
= ( ( ord_less @ int @ ( zero_zero @ int ) @ Z2 )
& ( ord_less @ int @ W @ Z2 ) ) ) ).
% zless_nat_conj
thf(fact_194_nat__zminus__int,axiom,
! [N: nat] :
( ( nat2 @ ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N ) ) )
= ( zero_zero @ nat ) ) ).
% nat_zminus_int
thf(fact_195_nat__zero__as__int,axiom,
( ( zero_zero @ nat )
= ( nat2 @ ( zero_zero @ int ) ) ) ).
% nat_zero_as_int
thf(fact_196_forall__pos__mono,axiom,
! [P: real > $o,E2: real] :
( ! [D4: real,E: real] :
( ( ord_less @ real @ D4 @ E )
=> ( ( P @ D4 )
=> ( P @ E ) ) )
=> ( ! [N2: nat] :
( ( N2
!= ( zero_zero @ nat ) )
=> ( P @ ( inverse_inverse @ real @ ( semiring_1_of_nat @ real @ N2 ) ) ) )
=> ( ( ord_less @ real @ ( zero_zero @ real ) @ E2 )
=> ( P @ E2 ) ) ) ) ).
% forall_pos_mono
thf(fact_197_real__arch__inverse,axiom,
! [E2: real] :
( ( ord_less @ real @ ( zero_zero @ real ) @ E2 )
= ( ? [N4: nat] :
( ( N4
!= ( zero_zero @ nat ) )
& ( ord_less @ real @ ( zero_zero @ real ) @ ( inverse_inverse @ real @ ( semiring_1_of_nat @ real @ N4 ) ) )
& ( ord_less @ real @ ( inverse_inverse @ real @ ( semiring_1_of_nat @ real @ N4 ) ) @ E2 ) ) ) ) ).
% real_arch_inverse
thf(fact_198_nat__mono__iff,axiom,
! [Z2: int,W: int] :
( ( ord_less @ int @ ( zero_zero @ int ) @ Z2 )
=> ( ( ord_less @ nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
= ( ord_less @ int @ W @ Z2 ) ) ) ).
% nat_mono_iff
thf(fact_199_zless__nat__eq__int__zless,axiom,
! [M: nat,Z2: int] :
( ( ord_less @ nat @ M @ ( nat2 @ Z2 ) )
= ( ord_less @ int @ ( semiring_1_of_nat @ int @ M ) @ Z2 ) ) ).
% zless_nat_eq_int_zless
thf(fact_200_split__nat,axiom,
! [P: nat > $o,I: int] :
( ( P @ ( nat2 @ I ) )
= ( ! [N4: nat] :
( ( I
= ( semiring_1_of_nat @ int @ N4 ) )
=> ( P @ N4 ) )
& ( ( ord_less @ int @ I @ ( zero_zero @ int ) )
=> ( P @ ( zero_zero @ nat ) ) ) ) ) ).
% split_nat
thf(fact_201_inverse__positive__iff__positive,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( inverse_inverse @ A @ A2 ) )
= ( ord_less @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% inverse_positive_iff_positive
thf(fact_202_inverse__negative__iff__negative,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( zero_zero @ A ) )
= ( ord_less @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% inverse_negative_iff_negative
thf(fact_203_inverse__zero,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ( ( inverse_inverse @ A @ ( zero_zero @ A ) )
= ( zero_zero @ A ) ) ) ).
% inverse_zero
thf(fact_204_inverse__nonzero__iff__nonzero,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A] :
( ( ( inverse_inverse @ A @ A2 )
= ( zero_zero @ A ) )
= ( A2
= ( zero_zero @ A ) ) ) ) ).
% inverse_nonzero_iff_nonzero
thf(fact_205_inverse__less__iff__less,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ A2 )
=> ( ( ord_less @ A @ ( zero_zero @ A ) @ B4 )
=> ( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
= ( ord_less @ A @ B4 @ A2 ) ) ) ) ) ).
% inverse_less_iff_less
thf(fact_206_inverse__less__iff__less__neg,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ ( zero_zero @ A ) )
=> ( ( ord_less @ A @ B4 @ ( zero_zero @ A ) )
=> ( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
= ( ord_less @ A @ B4 @ A2 ) ) ) ) ) ).
% inverse_less_iff_less_neg
thf(fact_207_linordered__field__no__lb,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [X5: A] :
? [Y5: A] : ( ord_less @ A @ Y5 @ X5 ) ) ).
% linordered_field_no_lb
thf(fact_208_linordered__field__no__ub,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [X5: A] :
? [X_1: A] : ( ord_less @ A @ X5 @ X_1 ) ) ).
% linordered_field_no_ub
thf(fact_209_field__class_Ofield__inverse__zero,axiom,
! [A: $tType] :
( ( field @ A )
=> ( ( inverse_inverse @ A @ ( zero_zero @ A ) )
= ( zero_zero @ A ) ) ) ).
% field_class.field_inverse_zero
thf(fact_210_inverse__zero__imp__zero,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A] :
( ( ( inverse_inverse @ A @ A2 )
= ( zero_zero @ A ) )
=> ( A2
= ( zero_zero @ A ) ) ) ) ).
% inverse_zero_imp_zero
thf(fact_211_nonzero__inverse__eq__imp__eq,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A,B4: A] :
( ( ( inverse_inverse @ A @ A2 )
= ( inverse_inverse @ A @ B4 ) )
=> ( ( A2
!= ( zero_zero @ A ) )
=> ( ( B4
!= ( zero_zero @ A ) )
=> ( A2 = B4 ) ) ) ) ) ).
% nonzero_inverse_eq_imp_eq
thf(fact_212_nonzero__inverse__inverse__eq,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A] :
( ( A2
!= ( zero_zero @ A ) )
=> ( ( inverse_inverse @ A @ ( inverse_inverse @ A @ A2 ) )
= A2 ) ) ) ).
% nonzero_inverse_inverse_eq
thf(fact_213_nonzero__imp__inverse__nonzero,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A] :
( ( A2
!= ( zero_zero @ A ) )
=> ( ( inverse_inverse @ A @ A2 )
!= ( zero_zero @ A ) ) ) ) ).
% nonzero_imp_inverse_nonzero
thf(fact_214_inverse__less__imp__less,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
=> ( ( ord_less @ A @ ( zero_zero @ A ) @ A2 )
=> ( ord_less @ A @ B4 @ A2 ) ) ) ) ).
% inverse_less_imp_less
thf(fact_215_less__imp__inverse__less,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ B4 )
=> ( ( ord_less @ A @ ( zero_zero @ A ) @ A2 )
=> ( ord_less @ A @ ( inverse_inverse @ A @ B4 ) @ ( inverse_inverse @ A @ A2 ) ) ) ) ) ).
% less_imp_inverse_less
thf(fact_216_inverse__less__imp__less__neg,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
=> ( ( ord_less @ A @ B4 @ ( zero_zero @ A ) )
=> ( ord_less @ A @ B4 @ A2 ) ) ) ) ).
% inverse_less_imp_less_neg
thf(fact_217_less__imp__inverse__less__neg,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ B4 )
=> ( ( ord_less @ A @ B4 @ ( zero_zero @ A ) )
=> ( ord_less @ A @ ( inverse_inverse @ A @ B4 ) @ ( inverse_inverse @ A @ A2 ) ) ) ) ) ).
% less_imp_inverse_less_neg
thf(fact_218_inverse__negative__imp__negative,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( zero_zero @ A ) )
=> ( ( A2
!= ( zero_zero @ A ) )
=> ( ord_less @ A @ A2 @ ( zero_zero @ A ) ) ) ) ) ).
% inverse_negative_imp_negative
thf(fact_219_inverse__positive__imp__positive,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( inverse_inverse @ A @ A2 ) )
=> ( ( A2
!= ( zero_zero @ A ) )
=> ( ord_less @ A @ ( zero_zero @ A ) @ A2 ) ) ) ) ).
% inverse_positive_imp_positive
thf(fact_220_negative__imp__inverse__negative,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ A2 @ ( zero_zero @ A ) )
=> ( ord_less @ A @ ( inverse_inverse @ A @ A2 ) @ ( zero_zero @ A ) ) ) ) ).
% negative_imp_inverse_negative
thf(fact_221_positive__imp__inverse__positive,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ A2 )
=> ( ord_less @ A @ ( zero_zero @ A ) @ ( inverse_inverse @ A @ A2 ) ) ) ) ).
% positive_imp_inverse_positive
thf(fact_222_nonzero__inverse__minus__eq,axiom,
! [A: $tType] :
( ( division_ring @ A )
=> ! [A2: A] :
( ( A2
!= ( zero_zero @ A ) )
=> ( ( inverse_inverse @ A @ ( uminus_uminus @ A @ A2 ) )
= ( uminus_uminus @ A @ ( inverse_inverse @ A @ A2 ) ) ) ) ) ).
% nonzero_inverse_minus_eq
thf(fact_223_image__atLeastZeroLessThan__int,axiom,
! [U: int] :
( ( ord_less_eq @ int @ ( zero_zero @ int ) @ U )
=> ( ( set_or1433837966ssThan @ int @ ( zero_zero @ int ) @ U )
= ( image @ nat @ int @ ( semiring_1_of_nat @ int ) @ ( set_ord_lessThan @ nat @ ( nat2 @ U ) ) ) ) ) ).
% image_atLeastZeroLessThan_int
thf(fact_224_of__int__of__nat,axiom,
! [A: $tType] :
( ( ring_1 @ A )
=> ( ( ring_1_of_int @ A )
= ( ^ [K2: int] : ( if @ A @ ( ord_less @ int @ K2 @ ( zero_zero @ int ) ) @ ( uminus_uminus @ A @ ( semiring_1_of_nat @ A @ ( nat2 @ ( uminus_uminus @ int @ K2 ) ) ) ) @ ( semiring_1_of_nat @ A @ ( nat2 @ K2 ) ) ) ) ) ) ).
% of_int_of_nat
thf(fact_225_of__int__eq__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A )
=> ! [W: int,Z2: int] :
( ( ( ring_1_of_int @ A @ W )
= ( ring_1_of_int @ A @ Z2 ) )
= ( W = Z2 ) ) ) ).
% of_int_eq_iff
thf(fact_226_le__zero__eq,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ord_less_eq @ A @ N @ ( zero_zero @ A ) )
= ( N
= ( zero_zero @ A ) ) ) ) ).
% le_zero_eq
thf(fact_227_neg__le__iff__le,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [B4: A,A2: A] :
( ( ord_less_eq @ A @ ( uminus_uminus @ A @ B4 ) @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less_eq @ A @ A2 @ B4 ) ) ) ).
% neg_le_iff_le
thf(fact_228_of__nat__le__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat,N: nat] :
( ( ord_less_eq @ A @ ( semiring_1_of_nat @ A @ M ) @ ( semiring_1_of_nat @ A @ N ) )
= ( ord_less_eq @ nat @ M @ N ) ) ) ).
% of_nat_le_iff
thf(fact_229_ivl__subset,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [I: A,J: A,M: A,N: A] :
( ( ord_less_eq @ ( set @ A ) @ ( set_or1433837966ssThan @ A @ I @ J ) @ ( set_or1433837966ssThan @ A @ M @ N ) )
= ( ( ord_less_eq @ A @ J @ I )
| ( ( ord_less_eq @ A @ M @ I )
& ( ord_less_eq @ A @ J @ N ) ) ) ) ) ).
% ivl_subset
thf(fact_230_lessThan__subset__iff,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X2: A,Y: A] :
( ( ord_less_eq @ ( set @ A ) @ ( set_ord_lessThan @ A @ X2 ) @ ( set_ord_lessThan @ A @ Y ) )
= ( ord_less_eq @ A @ X2 @ Y ) ) ) ).
% lessThan_subset_iff
thf(fact_231_neg__0__le__iff__le,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% neg_0_le_iff_le
thf(fact_232_neg__le__0__iff__le,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ ( uminus_uminus @ A @ A2 ) @ ( zero_zero @ A ) )
= ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% neg_le_0_iff_le
thf(fact_233_less__eq__neg__nonpos,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ A2 @ ( uminus_uminus @ A @ A2 ) )
= ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% less_eq_neg_nonpos
thf(fact_234_neg__less__eq__nonneg,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ ( uminus_uminus @ A @ A2 ) @ A2 )
= ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% neg_less_eq_nonneg
thf(fact_235_inverse__nonpositive__iff__nonpositive,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ ( inverse_inverse @ A @ A2 ) @ ( zero_zero @ A ) )
= ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% inverse_nonpositive_iff_nonpositive
thf(fact_236_inverse__nonnegative__iff__nonnegative,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( inverse_inverse @ A @ A2 ) )
= ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% inverse_nonnegative_iff_nonnegative
thf(fact_237_atLeastLessThan__iff,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [I: A,L: A,U: A] :
( ( member @ A @ I @ ( set_or1433837966ssThan @ A @ L @ U ) )
= ( ( ord_less_eq @ A @ L @ I )
& ( ord_less @ A @ I @ U ) ) ) ) ).
% atLeastLessThan_iff
thf(fact_238_of__int__eq__0__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A )
=> ! [Z2: int] :
( ( ( ring_1_of_int @ A @ Z2 )
= ( zero_zero @ A ) )
= ( Z2
= ( zero_zero @ int ) ) ) ) ).
% of_int_eq_0_iff
thf(fact_239_of__int__0__eq__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A )
=> ! [Z2: int] :
( ( ( zero_zero @ A )
= ( ring_1_of_int @ A @ Z2 ) )
= ( Z2
= ( zero_zero @ int ) ) ) ) ).
% of_int_0_eq_iff
thf(fact_240_of__int__0,axiom,
! [A: $tType] :
( ( ring_1 @ A )
=> ( ( ring_1_of_int @ A @ ( zero_zero @ int ) )
= ( zero_zero @ A ) ) ) ).
% of_int_0
thf(fact_241_of__int__le__iff,axiom,
! [A: $tType] :
( ( linordered_idom @ A )
=> ! [W: int,Z2: int] :
( ( ord_less_eq @ A @ ( ring_1_of_int @ A @ W ) @ ( ring_1_of_int @ A @ Z2 ) )
= ( ord_less_eq @ int @ W @ Z2 ) ) ) ).
% of_int_le_iff
thf(fact_242_of__int__less__iff,axiom,
! [A: $tType] :
( ( linordered_idom @ A )
=> ! [W: int,Z2: int] :
( ( ord_less @ A @ ( ring_1_of_int @ A @ W ) @ ( ring_1_of_int @ A @ Z2 ) )
= ( ord_less @ int @ W @ Z2 ) ) ) ).
% of_int_less_iff
thf(fact_243_of__int__minus,axiom,
! [A: $tType] :
( ( ring_1 @ A )
=> ! [Z2: int] :
( ( ring_1_of_int @ A @ ( uminus_uminus @ int @ Z2 ) )
= ( uminus_uminus @ A @ ( ring_1_of_int @ A @ Z2 ) ) ) ) ).
% of_int_minus
thf(fact_244_of__int__of__nat__eq,axiom,
! [A: $tType] :
( ( ring_1 @ A )
=> ! [N: nat] :
( ( ring_1_of_int @ A @ ( semiring_1_of_nat @ int @ N ) )
= ( semiring_1_of_nat @ A @ N ) ) ) ).
% of_int_of_nat_eq
thf(fact_245_negative__zle,axiom,
! [N: nat,M: nat] : ( ord_less_eq @ int @ ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N ) ) @ ( semiring_1_of_nat @ int @ M ) ) ).
% negative_zle
thf(fact_246_of__nat__le__0__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat] :
( ( ord_less_eq @ A @ ( semiring_1_of_nat @ A @ M ) @ ( zero_zero @ A ) )
= ( M
= ( zero_zero @ nat ) ) ) ) ).
% of_nat_le_0_iff
thf(fact_247_inverse__le__iff__le,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ A2 )
=> ( ( ord_less @ A @ ( zero_zero @ A ) @ B4 )
=> ( ( ord_less_eq @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
= ( ord_less_eq @ A @ B4 @ A2 ) ) ) ) ) ).
% inverse_le_iff_le
thf(fact_248_inverse__le__iff__le__neg,axiom,
! [A: $tType] :
( ( linordered_field @ A )
=> ! [A2: A,B4: A] :
( ( ord_less @ A @ A2 @ ( zero_zero @ A ) )
=> ( ( ord_less @ A @ B4 @ ( zero_zero @ A ) )
=> ( ( ord_less_eq @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B4 ) )
= ( ord_less_eq @ A @ B4 @ A2 ) ) ) ) ) ).
% inverse_le_iff_le_neg
thf(fact_249_nat__le__0,axiom,
! [Z2: int] :
( ( ord_less_eq @ int @ Z2 @ ( zero_zero @ int ) )
=> ( ( nat2 @ Z2 )
= ( zero_zero @ nat ) ) ) ).
% nat_le_0
thf(fact_250_nat__0__iff,axiom,
! [I: int] :
( ( ( nat2 @ I )
= ( zero_zero @ nat ) )
= ( ord_less_eq @ int @ I @ ( zero_zero @ int ) ) ) ).
% nat_0_iff
thf(fact_251_int__nat__eq,axiom,
! [Z2: int] :
( ( ( ord_less_eq @ int @ ( zero_zero @ int ) @ Z2 )
=> ( ( semiring_1_of_nat @ int @ ( nat2 @ Z2 ) )
= Z2 ) )
& ( ~ ( ord_less_eq @ int @ ( zero_zero @ int ) @ Z2 )
=> ( ( semiring_1_of_nat @ int @ ( nat2 @ Z2 ) )
= ( zero_zero @ int ) ) ) ) ).
% int_nat_eq
thf(fact_252_of__int__le__0__iff,axiom,
! [A: $tType] :
( ( linordered_idom @ A )
=> ! [Z2: int] :
( ( ord_less_eq @ A @ ( ring_1_of_int @ A @ Z2 ) @ ( zero_zero @ A ) )
= ( ord_less_eq @ int @ Z2 @ ( zero_zero @ int ) ) ) ) ).
% of_int_le_0_iff
thf(fact_253_of__int__0__le__iff,axiom,
! [A: $tType] :
( ( linordered_idom @ A )
=> ! [Z2: int] :
( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( ring_1_of_int @ A @ Z2 ) )
= ( ord_less_eq @ int @ ( zero_zero @ int ) @ Z2 ) ) ) ).
% of_int_0_le_iff
% Type constructors (72)
thf(tcon_Multiset_Omultiset___Orderings_Opreorder,axiom,
! [A9: $tType] :
( ( preorder @ A9 )
=> ( preorder @ ( multiset @ A9 ) ) ) ).
thf(tcon_Real_Oreal___Orderings_Opreorder_1,axiom,
preorder @ real ).
thf(tcon_HOL_Obool___Orderings_Opreorder_2,axiom,
preorder @ $o ).
thf(tcon_Set_Oset___Orderings_Opreorder_3,axiom,
! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
thf(tcon_Nat_Onat___Rings_Odioid,axiom,
dioid @ nat ).
thf(tcon_Nat_Onat___Orderings_Opreorder_4,axiom,
preorder @ nat ).
thf(tcon_Int_Oint___Orderings_Opreorder_5,axiom,
preorder @ int ).
thf(tcon_fun___Rings_Odioid_6,axiom,
! [A9: $tType,A10: $tType] :
( ( dioid @ A10 )
=> ( dioid @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Opreorder_7,axiom,
! [A9: $tType,A10: $tType] :
( ( preorder @ A10 )
=> ( preorder @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Groups_Ocanonically__ordered__monoid__add,axiom,
! [A9: $tType,A10: $tType] :
( ( dioid @ A10 )
=> ( canoni770627133id_add @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Groups_Oordered__ab__group__add,axiom,
! [A9: $tType,A10: $tType] :
( ( ordered_ab_group_add @ A10 )
=> ( ordered_ab_group_add @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Lattices_Oboolean__algebra,axiom,
! [A9: $tType,A10: $tType] :
( ( boolean_algebra @ A10 )
=> ( boolean_algebra @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Nat_Osemiring__char__0,axiom,
! [A9: $tType,A10: $tType] :
( ( semiring_char_0 @ A10 )
=> ( semiring_char_0 @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Rings_Osemiring__1,axiom,
! [A9: $tType,A10: $tType] :
( ( semiring_1 @ A10 )
=> ( semiring_1 @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Groups_Ogroup__add,axiom,
! [A9: $tType,A10: $tType] :
( ( group_add @ A10 )
=> ( group_add @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Oorder,axiom,
! [A9: $tType,A10: $tType] :
( ( order @ A10 )
=> ( order @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Nat_Oring__char__0,axiom,
! [A9: $tType,A10: $tType] :
( ( ring_char_0 @ A10 )
=> ( ring_char_0 @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Oord,axiom,
! [A9: $tType,A10: $tType] :
( ( ord @ A10 )
=> ( ord @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Rings_Oring__1,axiom,
! [A9: $tType,A10: $tType] :
( ( ring_1 @ A10 )
=> ( ring_1 @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Groups_Ozero,axiom,
! [A9: $tType,A10: $tType] :
( ( zero @ A10 )
=> ( zero @ ( A9 > A10 ) ) ) ).
thf(tcon_Int_Oint___Rings_Olinordered__nonzero__semiring,axiom,
linord1659791738miring @ int ).
thf(tcon_Int_Oint___Groups_Olinordered__ab__group__add,axiom,
linord219039673up_add @ int ).
thf(tcon_Int_Oint___Groups_Oordered__ab__group__add_8,axiom,
ordered_ab_group_add @ int ).
thf(tcon_Int_Oint___Rings_Olinordered__idom,axiom,
linordered_idom @ int ).
thf(tcon_Int_Oint___Nat_Osemiring__char__0_9,axiom,
semiring_char_0 @ int ).
thf(tcon_Int_Oint___Orderings_Olinorder,axiom,
linorder @ int ).
thf(tcon_Int_Oint___Rings_Osemiring__1_10,axiom,
semiring_1 @ int ).
thf(tcon_Int_Oint___Groups_Ogroup__add_11,axiom,
group_add @ int ).
thf(tcon_Int_Oint___Orderings_Oorder_12,axiom,
order @ int ).
thf(tcon_Int_Oint___Nat_Oring__char__0_13,axiom,
ring_char_0 @ int ).
thf(tcon_Int_Oint___Orderings_Oord_14,axiom,
ord @ int ).
thf(tcon_Int_Oint___Rings_Oring__1_15,axiom,
ring_1 @ int ).
thf(tcon_Int_Oint___Groups_Ozero_16,axiom,
zero @ int ).
thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add_17,axiom,
canoni770627133id_add @ nat ).
thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring_18,axiom,
linord1659791738miring @ nat ).
thf(tcon_Nat_Onat___Orderings_Owellorder,axiom,
wellorder @ nat ).
thf(tcon_Nat_Onat___Nat_Osemiring__char__0_19,axiom,
semiring_char_0 @ nat ).
thf(tcon_Nat_Onat___Orderings_Olinorder_20,axiom,
linorder @ nat ).
thf(tcon_Nat_Onat___Rings_Osemiring__1_21,axiom,
semiring_1 @ nat ).
thf(tcon_Nat_Onat___Orderings_Oorder_22,axiom,
order @ nat ).
thf(tcon_Nat_Onat___Orderings_Oord_23,axiom,
ord @ nat ).
thf(tcon_Nat_Onat___Groups_Ozero_24,axiom,
zero @ nat ).
thf(tcon_Nat_Onat___Nat_Osize,axiom,
size @ nat ).
thf(tcon_Set_Oset___Lattices_Oboolean__algebra_25,axiom,
! [A9: $tType] : ( boolean_algebra @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Oorder_26,axiom,
! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Oord_27,axiom,
! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
thf(tcon_HOL_Obool___Lattices_Oboolean__algebra_28,axiom,
boolean_algebra @ $o ).
thf(tcon_HOL_Obool___Orderings_Olinorder_29,axiom,
linorder @ $o ).
thf(tcon_HOL_Obool___Orderings_Oorder_30,axiom,
order @ $o ).
thf(tcon_HOL_Obool___Orderings_Oord_31,axiom,
ord @ $o ).
thf(tcon_List_Olist___Nat_Osize_32,axiom,
! [A9: $tType] : ( size @ ( list @ A9 ) ) ).
thf(tcon_Real_Oreal___Archimedean__Field_Oarchimedean__field,axiom,
archim1804426504_field @ real ).
thf(tcon_Real_Oreal___Rings_Olinordered__nonzero__semiring_33,axiom,
linord1659791738miring @ real ).
thf(tcon_Real_Oreal___Groups_Olinordered__ab__group__add_34,axiom,
linord219039673up_add @ real ).
thf(tcon_Real_Oreal___Groups_Oordered__ab__group__add_35,axiom,
ordered_ab_group_add @ real ).
thf(tcon_Real_Oreal___Fields_Olinordered__field,axiom,
linordered_field @ real ).
thf(tcon_Real_Oreal___Rings_Olinordered__idom_36,axiom,
linordered_idom @ real ).
thf(tcon_Real_Oreal___Fields_Odivision__ring,axiom,
division_ring @ real ).
thf(tcon_Real_Oreal___Nat_Osemiring__char__0_37,axiom,
semiring_char_0 @ real ).
thf(tcon_Real_Oreal___Orderings_Olinorder_38,axiom,
linorder @ real ).
thf(tcon_Real_Oreal___Rings_Osemiring__1_39,axiom,
semiring_1 @ real ).
thf(tcon_Real_Oreal___Groups_Ogroup__add_40,axiom,
group_add @ real ).
thf(tcon_Real_Oreal___Orderings_Oorder_41,axiom,
order @ real ).
thf(tcon_Real_Oreal___Nat_Oring__char__0_42,axiom,
ring_char_0 @ real ).
thf(tcon_Real_Oreal___Orderings_Oord_43,axiom,
ord @ real ).
thf(tcon_Real_Oreal___Rings_Oring__1_44,axiom,
ring_1 @ real ).
thf(tcon_Real_Oreal___Fields_Ofield,axiom,
field @ real ).
thf(tcon_Real_Oreal___Groups_Ozero_45,axiom,
zero @ real ).
thf(tcon_Multiset_Omultiset___Orderings_Oorder_46,axiom,
! [A9: $tType] :
( ( preorder @ A9 )
=> ( order @ ( multiset @ A9 ) ) ) ).
thf(tcon_Multiset_Omultiset___Orderings_Oord_47,axiom,
! [A9: $tType] :
( ( preorder @ A9 )
=> ( ord @ ( multiset @ A9 ) ) ) ).
thf(tcon_Multiset_Omultiset___Groups_Ozero_48,axiom,
! [A9: $tType] : ( zero @ ( multiset @ A9 ) ) ).
thf(tcon_Multiset_Omultiset___Nat_Osize_49,axiom,
! [A9: $tType] : ( size @ ( multiset @ A9 ) ) ).
% Helper facts (3)
thf(help_If_3_1_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_T,axiom,
! [A: $tType,X2: A,Y: A] :
( ( if @ A @ $false @ X2 @ Y )
= Y ) ).
thf(help_If_1_1_T,axiom,
! [A: $tType,X2: A,Y: A] :
( ( if @ A @ $true @ X2 @ Y )
= X2 ) ).
% Conjectures (1)
thf(conj_0,conjecture,
( ( image_mset @ nat @ a @ ( nth @ a @ ys ) @ ( image_mset @ nat @ nat @ f @ ( mset_set @ nat @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ xs ) ) ) ) )
= ( image_mset @ nat @ a @ ( nth @ a @ ys ) @ ( mset_set @ nat @ ( set_or1433837966ssThan @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ a ) @ ys ) ) ) ) ) ).
%------------------------------------------------------------------------------