TPTP Problem File: DAT253^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : DAT253^1 : TPTP v9.0.0. Released v7.0.0.
% Domain : Data Structures
% Problem : Infinite streams (sequences/lists) 551
% Version : [Bla16] axioms : Especial.
% English :
% Refs : [BH+14] Blanchette et al. (2014), Truly Modular (Co)datatypes
% : [RB15] Reynolds & Blanchette (2015), A Decision Procedure for
% : [Bla16] Blanchette (2016), Email to Geoff Sutcliffe
% Source : [Bla16]
% Names : stream__551.p [Bla16]
% Status : Theorem
% Rating : 0.00 v7.2.0, 0.25 v7.1.0
% Syntax : Number of formulae : 356 ( 110 unt; 65 typ; 0 def)
% Number of atoms : 567 ( 313 equ; 0 cnn)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 3264 ( 22 ~; 5 |; 15 &;3028 @)
% ( 0 <=>; 194 =>; 0 <=; 0 <~>)
% Maximal formula depth : 14 ( 5 avg)
% Number of types : 4 ( 3 usr)
% Number of type conns : 119 ( 119 >; 0 *; 0 +; 0 <<)
% Number of symbols : 63 ( 62 usr; 5 con; 0-4 aty)
% Number of variables : 813 ( 38 ^; 714 !; 9 ?; 813 :)
% ( 52 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2016-07-13 14:43:07.811
%------------------------------------------------------------------------------
%----Could-be-implicit typings (6)
thf(ty_t_Stream__Mirabelle__hbrgyiwlrc_Ostream,type,
stream170649215stream: $tType > $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Num_Onum,type,
num: $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
thf(ty_t_itself,type,
itself: $tType > $tType ).
thf(ty_tf_a,type,
a: $tType ).
%----Explicit typings (59)
thf(sy_cl_Lattices_Obounded__lattice,type,
bounded_lattice:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Oone,type,
one:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Oidom,type,
idom:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Oring,type,
ring:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Num_Onumeral,type,
numeral:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Oring__1,type,
ring_1:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Ouminus,type,
uminus:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Orderings_Otop,type,
top:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Osemiring,type,
semiring:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Nat_Oring__char__0,type,
ring_char_0:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Num_Oneg__numeral,type,
neg_numeral:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Ogroup__add,type,
group_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Lattices_Olattice,type,
lattice:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Ocomm__ring__1,type,
comm_ring_1:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Omonoid__mult,type,
monoid_mult:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Oab__group__add,type,
ab_group_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Nat_Osemiring__char__0,type,
semiring_char_0:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Ocomm__semiring,type,
comm_semiring:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Osemigroup__add,type,
semigroup_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Num_Osemiring__numeral,type,
semiring_numeral:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Osemigroup__mult,type,
semigroup_mult:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Ocomm__semiring__1,type,
comm_semiring_1:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Fields_Olinordered__field,type,
linordered_field:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Oab__semigroup__add,type,
ab_semigroup_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Ocomm__monoid__mult,type,
comm_monoid_mult:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Oab__semigroup__mult,type,
ab_semigroup_mult:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Lattices_Oboolean__algebra,type,
boolean_algebra:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Lattices_Osemilattice__sup,type,
semilattice_sup:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Ocancel__semigroup__add,type,
cancel_semigroup_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Lattices_Obounded__lattice__top,type,
bounded_lattice_top:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Rings_Oring__1__no__zero__divisors,type,
ring_11004092258visors:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
ordere779506340up_add:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_cl_Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduct,type,
semiri456707255roduct:
!>[A: $tType] : ( ( itself @ A ) > $o ) ).
thf(sy_c_Groups_Oone__class_Oone,type,
one_one:
!>[A: $tType] : A ).
thf(sy_c_Groups_Oplus__class_Oplus,type,
plus_plus:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Groups_Otimes__class_Otimes,type,
times_times:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Groups_Ouminus__class_Ouminus,type,
uminus_uminus:
!>[A: $tType] : ( A > A ) ).
thf(sy_c_Lattices_Osup__class_Osup,type,
sup_sup:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Nat_OSuc,type,
suc: nat > nat ).
thf(sy_c_Num_Oinc,type,
inc: num > num ).
thf(sy_c_Num_Oneg__numeral__class_Odbl,type,
neg_numeral_dbl:
!>[A: $tType] : ( A > A ) ).
thf(sy_c_Num_Onum_OBit0,type,
bit0: num > num ).
thf(sy_c_Num_Onum_OOne,type,
one2: num ).
thf(sy_c_Num_Onumeral__class_Onumeral,type,
numeral_numeral:
!>[A: $tType] : ( num > A ) ).
thf(sy_c_Orderings_Otop__class_Otop,type,
top_top:
!>[A: $tType] : A ).
thf(sy_c_Pure_Otype,type,
type2:
!>[A: $tType] : ( itself @ A ) ).
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_Stream__Mirabelle__hbrgyiwlrc_Osinterleave,type,
stream865922174rleave:
!>[A: $tType] : ( ( stream170649215stream @ A ) > ( stream170649215stream @ A ) > ( stream170649215stream @ A ) ) ).
thf(sy_c_Stream__Mirabelle__hbrgyiwlrc_Osmember,type,
stream1586597341member:
!>[A: $tType] : ( A > ( stream170649215stream @ A ) > $o ) ).
thf(sy_c_Stream__Mirabelle__hbrgyiwlrc_Osmerge,type,
stream857257621smerge:
!>[A: $tType] : ( ( stream170649215stream @ ( stream170649215stream @ A ) ) > ( stream170649215stream @ A ) ) ).
thf(sy_c_Stream__Mirabelle__hbrgyiwlrc_Osnth,type,
stream370371455e_snth:
!>[A: $tType] : ( ( stream170649215stream @ A ) > nat > A ) ).
thf(sy_c_Stream__Mirabelle__hbrgyiwlrc_Ostream_Osset,type,
stream30925839e_sset:
!>[A: $tType] : ( ( stream170649215stream @ A ) > ( set @ A ) ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_n____,type,
n: nat ).
thf(sy_v_s1,type,
s1: stream170649215stream @ a ).
thf(sy_v_s2,type,
s2: stream170649215stream @ a ).
thf(sy_v_x____,type,
x: a ).
%----Relevant facts (251)
thf(fact_0__092_060open_062x_A_061_As1_A_B_B_An_092_060close_062,axiom,
( x
= ( stream370371455e_snth @ a @ s1 @ n ) ) ).
% \<open>x = s1 !! n\<close>
thf(fact_1__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062n_O_Ax_A_061_As1_A_B_B_An_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
~ ! [N: nat] :
( x
!= ( stream370371455e_snth @ a @ s1 @ N ) ) ).
% \<open>\<And>thesis. (\<And>n. x = s1 !! n \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_2__092_060open_062sinterleave_As1_As2_A_B_B_A_I2_A_K_An_J_A_061_Ax_092_060close_062,axiom,
( ( stream370371455e_snth @ a @ ( stream865922174rleave @ a @ s1 @ s2 ) @ ( times_times @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ n ) )
= x ) ).
% \<open>sinterleave s1 s2 !! (2 * n) = x\<close>
thf(fact_3__092_060open_062x_A_092_060in_062_Asset_As1_092_060close_062,axiom,
member @ a @ x @ ( stream30925839e_sset @ a @ s1 ) ).
% \<open>x \<in> sset s1\<close>
thf(fact_4__092_060open_062x_A_092_060in_062_Asset_As1_A_092_060union_062_Asset_As2_092_060close_062,axiom,
member @ a @ x @ ( sup_sup @ ( set @ a ) @ ( stream30925839e_sset @ a @ s1 ) @ ( stream30925839e_sset @ a @ s2 ) ) ).
% \<open>x \<in> sset s1 \<union> sset s2\<close>
thf(fact_5_UNIV__I,axiom,
! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% UNIV_I
thf(fact_6_iso__tuple__UNIV__I,axiom,
! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% iso_tuple_UNIV_I
thf(fact_7_top__apply,axiom,
! [C: $tType,D: $tType] :
( ( top @ C @ ( type2 @ C ) )
=> ( ( top_top @ ( D > C ) )
= ( ^ [X2: D] : ( top_top @ C ) ) ) ) ).
% top_apply
thf(fact_8_image__eqI,axiom,
! [A: $tType,B: $tType,B2: A,F: B > A,X: B,A2: set @ B] :
( ( B2
= ( F @ X ) )
=> ( ( member @ B @ X @ A2 )
=> ( member @ A @ B2 @ ( image @ B @ A @ F @ A2 ) ) ) ) ).
% image_eqI
thf(fact_9_surjD,axiom,
! [A: $tType,B: $tType,F: B > A,Y: A] :
( ( ( image @ B @ A @ F @ ( top_top @ ( set @ B ) ) )
= ( top_top @ ( set @ A ) ) )
=> ? [X3: B] :
( Y
= ( F @ X3 ) ) ) ).
% surjD
thf(fact_10_surjE,axiom,
! [A: $tType,B: $tType,F: B > A,Y: A] :
( ( ( image @ B @ A @ F @ ( top_top @ ( set @ B ) ) )
= ( top_top @ ( set @ A ) ) )
=> ~ ! [X3: B] :
( Y
!= ( F @ X3 ) ) ) ).
% surjE
thf(fact_11_surjI,axiom,
! [B: $tType,A: $tType,G: B > A,F: A > B] :
( ! [X3: A] :
( ( G @ ( F @ X3 ) )
= X3 )
=> ( ( image @ B @ A @ G @ ( top_top @ ( set @ B ) ) )
= ( top_top @ ( set @ A ) ) ) ) ).
% surjI
thf(fact_12_rangeI,axiom,
! [A: $tType,B: $tType,F: B > A,X: B] : ( member @ A @ ( F @ X ) @ ( image @ B @ A @ F @ ( top_top @ ( set @ B ) ) ) ) ).
% rangeI
thf(fact_13_surj__def,axiom,
! [B: $tType,A: $tType,F: B > A] :
( ( ( image @ B @ A @ F @ ( top_top @ ( set @ B ) ) )
= ( top_top @ ( set @ A ) ) )
= ( ! [Y2: A] :
? [X2: B] :
( Y2
= ( F @ X2 ) ) ) ) ).
% surj_def
thf(fact_14_range__eqI,axiom,
! [A: $tType,B: $tType,B2: A,F: B > A,X: B] :
( ( B2
= ( F @ X ) )
=> ( member @ A @ B2 @ ( image @ B @ A @ F @ ( top_top @ ( set @ B ) ) ) ) ) ).
% range_eqI
thf(fact_15_sset__range,axiom,
! [A: $tType] :
( ( stream30925839e_sset @ A )
= ( ^ [S: stream170649215stream @ A] : ( image @ nat @ A @ ( stream370371455e_snth @ A @ S ) @ ( top_top @ ( set @ nat ) ) ) ) ) ).
% sset_range
thf(fact_16_UnCI,axiom,
! [A: $tType,C2: A,B3: set @ A,A2: set @ A] :
( ( ~ ( member @ A @ C2 @ B3 )
=> ( member @ A @ C2 @ A2 ) )
=> ( member @ A @ C2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) ) ) ).
% UnCI
thf(fact_17_Un__iff,axiom,
! [A: $tType,C2: A,A2: set @ A,B3: set @ A] :
( ( member @ A @ C2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) )
= ( ( member @ A @ C2 @ A2 )
| ( member @ A @ C2 @ B3 ) ) ) ).
% Un_iff
thf(fact_18_UnE,axiom,
! [A: $tType,C2: A,A2: set @ A,B3: set @ A] :
( ( member @ A @ C2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) )
=> ( ~ ( member @ A @ C2 @ A2 )
=> ( member @ A @ C2 @ B3 ) ) ) ).
% UnE
thf(fact_19_UnI1,axiom,
! [A: $tType,C2: A,A2: set @ A,B3: set @ A] :
( ( member @ A @ C2 @ A2 )
=> ( member @ A @ C2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) ) ) ).
% UnI1
thf(fact_20_UnI2,axiom,
! [A: $tType,C2: A,B3: set @ A,A2: set @ A] :
( ( member @ A @ C2 @ B3 )
=> ( member @ A @ C2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) ) ) ).
% UnI2
thf(fact_21_bex__Un,axiom,
! [A: $tType,A2: set @ A,B3: set @ A,P: A > $o] :
( ( ? [X2: A] :
( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) )
& ( P @ X2 ) ) )
= ( ? [X2: A] :
( ( member @ A @ X2 @ A2 )
& ( P @ X2 ) )
| ? [X2: A] :
( ( member @ A @ X2 @ B3 )
& ( P @ X2 ) ) ) ) ).
% bex_Un
thf(fact_22_ball__Un,axiom,
! [A: $tType,A2: set @ A,B3: set @ A,P: A > $o] :
( ( ! [X2: A] :
( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) )
=> ( P @ X2 ) ) )
= ( ! [X2: A] :
( ( member @ A @ X2 @ A2 )
=> ( P @ X2 ) )
& ! [X2: A] :
( ( member @ A @ X2 @ B3 )
=> ( P @ X2 ) ) ) ) ).
% ball_Un
thf(fact_23_Un__assoc,axiom,
! [A: $tType,A2: set @ A,B3: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) @ C3 )
= ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B3 @ C3 ) ) ) ).
% Un_assoc
thf(fact_24_Un__absorb,axiom,
! [A: $tType,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ A2 )
= A2 ) ).
% Un_absorb
thf(fact_25_Un__commute,axiom,
! [A: $tType] :
( ( sup_sup @ ( set @ A ) )
= ( ^ [A3: set @ A,B4: set @ A] : ( sup_sup @ ( set @ A ) @ B4 @ A3 ) ) ) ).
% Un_commute
thf(fact_26_Un__left__absorb,axiom,
! [A: $tType,A2: set @ A,B3: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ A2 @ B3 ) )
= ( sup_sup @ ( set @ A ) @ A2 @ B3 ) ) ).
% Un_left_absorb
thf(fact_27_Un__left__commute,axiom,
! [A: $tType,A2: set @ A,B3: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B3 @ C3 ) )
= ( sup_sup @ ( set @ A ) @ B3 @ ( sup_sup @ ( set @ A ) @ A2 @ C3 ) ) ) ).
% Un_left_commute
thf(fact_28_image__Un,axiom,
! [A: $tType,B: $tType,F: B > A,A2: set @ B,B3: set @ B] :
( ( image @ B @ A @ F @ ( sup_sup @ ( set @ B ) @ A2 @ B3 ) )
= ( sup_sup @ ( set @ A ) @ ( image @ B @ A @ F @ A2 ) @ ( image @ B @ A @ F @ B3 ) ) ) ).
% image_Un
thf(fact_29_top__set__def,axiom,
! [A: $tType] :
( ( top_top @ ( set @ A ) )
= ( collect @ A @ ( top_top @ ( A > $o ) ) ) ) ).
% top_set_def
thf(fact_30_Un__UNIV__right,axiom,
! [A: $tType,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( top_top @ ( set @ A ) ) )
= ( top_top @ ( set @ A ) ) ) ).
% Un_UNIV_right
thf(fact_31_Un__UNIV__left,axiom,
! [A: $tType,B3: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B3 )
= ( top_top @ ( set @ A ) ) ) ).
% Un_UNIV_left
thf(fact_32_snth__sset,axiom,
! [A: $tType,S2: stream170649215stream @ A,N2: nat] : ( member @ A @ ( stream370371455e_snth @ A @ S2 @ N2 ) @ ( stream30925839e_sset @ A @ S2 ) ) ).
% snth_sset
thf(fact_33_rev__image__eqI,axiom,
! [B: $tType,A: $tType,X: A,A2: set @ A,B2: B,F: A > B] :
( ( member @ A @ X @ A2 )
=> ( ( B2
= ( F @ X ) )
=> ( member @ B @ B2 @ ( image @ A @ B @ F @ A2 ) ) ) ) ).
% rev_image_eqI
thf(fact_34_ball__imageD,axiom,
! [A: $tType,B: $tType,F: B > A,A2: set @ B,P: A > $o] :
( ! [X3: A] :
( ( member @ A @ X3 @ ( image @ B @ A @ F @ A2 ) )
=> ( P @ X3 ) )
=> ! [X4: B] :
( ( member @ B @ X4 @ A2 )
=> ( P @ ( F @ X4 ) ) ) ) ).
% ball_imageD
thf(fact_35_image__cong,axiom,
! [B: $tType,A: $tType,M: set @ A,N3: set @ A,F: A > B,G: A > B] :
( ( M = N3 )
=> ( ! [X3: A] :
( ( member @ A @ X3 @ N3 )
=> ( ( F @ X3 )
= ( G @ X3 ) ) )
=> ( ( image @ A @ B @ F @ M )
= ( image @ A @ B @ G @ N3 ) ) ) ) ).
% image_cong
thf(fact_36_bex__imageD,axiom,
! [A: $tType,B: $tType,F: B > A,A2: set @ B,P: A > $o] :
( ? [X4: A] :
( ( member @ A @ X4 @ ( image @ B @ A @ F @ A2 ) )
& ( P @ X4 ) )
=> ? [X3: B] :
( ( member @ B @ X3 @ A2 )
& ( P @ ( F @ X3 ) ) ) ) ).
% bex_imageD
thf(fact_37_image__iff,axiom,
! [A: $tType,B: $tType,Z: A,F: B > A,A2: set @ B] :
( ( member @ A @ Z @ ( image @ B @ A @ F @ A2 ) )
= ( ? [X2: B] :
( ( member @ B @ X2 @ A2 )
& ( Z
= ( F @ X2 ) ) ) ) ) ).
% image_iff
thf(fact_38_imageI,axiom,
! [B: $tType,A: $tType,X: A,A2: set @ A,F: A > B] :
( ( member @ A @ X @ A2 )
=> ( member @ B @ ( F @ X ) @ ( image @ A @ B @ F @ A2 ) ) ) ).
% imageI
thf(fact_39_UNIV__witness,axiom,
! [A: $tType] :
? [X3: A] : ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) ).
% UNIV_witness
thf(fact_40_UNIV__eq__I,axiom,
! [A: $tType,A2: set @ A] :
( ! [X3: A] : ( member @ A @ X3 @ A2 )
=> ( ( top_top @ ( set @ A ) )
= A2 ) ) ).
% UNIV_eq_I
thf(fact_41_sup__top__right,axiom,
! [A: $tType] :
( ( bounded_lattice_top @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( sup_sup @ A @ X @ ( top_top @ A ) )
= ( top_top @ A ) ) ) ).
% sup_top_right
thf(fact_42_sup__top__left,axiom,
! [A: $tType] :
( ( bounded_lattice_top @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( sup_sup @ A @ ( top_top @ A ) @ X )
= ( top_top @ A ) ) ) ).
% sup_top_left
thf(fact_43_semiring__norm_I169_J,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [V: num,W: num,Z: A] :
( ( times_times @ A @ ( numeral_numeral @ A @ V ) @ ( times_times @ A @ ( numeral_numeral @ A @ W ) @ Z ) )
= ( times_times @ A @ ( numeral_numeral @ A @ ( times_times @ num @ V @ W ) ) @ Z ) ) ) ).
% semiring_norm(169)
thf(fact_44_numeral__times__numeral,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( times_times @ A @ ( numeral_numeral @ A @ M2 ) @ ( numeral_numeral @ A @ N2 ) )
= ( numeral_numeral @ A @ ( times_times @ num @ M2 @ N2 ) ) ) ) ).
% numeral_times_numeral
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A4: A,P: A > $o] :
( ( member @ A @ A4 @ ( collect @ A @ P ) )
= ( P @ A4 ) ) ).
% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
! [A: $tType,A2: set @ A] :
( ( collect @ A
@ ^ [X2: A] : ( member @ A @ X2 @ A2 ) )
= A2 ) ).
% Collect_mem_eq
thf(fact_47_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_48_ext,axiom,
! [B: $tType,A: $tType,F: A > B,G: A > B] :
( ! [X3: A] :
( ( F @ X3 )
= ( G @ X3 ) )
=> ( F = G ) ) ).
% ext
thf(fact_49_semiring__norm_I85_J,axiom,
! [M2: num] :
( ( bit0 @ M2 )
!= one2 ) ).
% semiring_norm(85)
thf(fact_50_semiring__norm_I83_J,axiom,
! [N2: num] :
( one2
!= ( bit0 @ N2 ) ) ).
% semiring_norm(83)
thf(fact_51_mult__numeral__1,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ ( numeral_numeral @ A @ one2 ) @ A4 )
= A4 ) ) ).
% mult_numeral_1
thf(fact_52_mult__numeral__1__right,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ A4 @ ( numeral_numeral @ A @ one2 ) )
= A4 ) ) ).
% mult_numeral_1_right
thf(fact_53_sup__apply,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_sup @ B @ ( type2 @ B ) )
=> ( ( sup_sup @ ( A > B ) )
= ( ^ [F2: A > B,G2: A > B,X2: A] : ( sup_sup @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).
% sup_apply
thf(fact_54_sup_Oidem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( sup_sup @ A @ A4 @ A4 )
= A4 ) ) ).
% sup.idem
thf(fact_55_semiring__norm_I87_J,axiom,
! [M2: num,N2: num] :
( ( ( bit0 @ M2 )
= ( bit0 @ N2 ) )
= ( M2 = N2 ) ) ).
% semiring_norm(87)
thf(fact_56_num_Oinject_I1_J,axiom,
! [X22: num,Y22: num] :
( ( ( bit0 @ X22 )
= ( bit0 @ Y22 ) )
= ( X22 = Y22 ) ) ).
% num.inject(1)
thf(fact_57_numeral__eq__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( ( numeral_numeral @ A @ M2 )
= ( numeral_numeral @ A @ N2 ) )
= ( M2 = N2 ) ) ) ).
% numeral_eq_iff
thf(fact_58_sup_Oright__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ A4 @ B2 ) @ B2 )
= ( sup_sup @ A @ A4 @ B2 ) ) ) ).
% sup.right_idem
thf(fact_59_sup__left__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y ) )
= ( sup_sup @ A @ X @ Y ) ) ) ).
% sup_left_idem
thf(fact_60_sup_Oleft__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( sup_sup @ A @ A4 @ ( sup_sup @ A @ A4 @ B2 ) )
= ( sup_sup @ A @ A4 @ B2 ) ) ) ).
% sup.left_idem
thf(fact_61_sup__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( sup_sup @ A @ X @ X )
= X ) ) ).
% sup_idem
thf(fact_62_top1I,axiom,
! [A: $tType,X: A] : ( top_top @ ( A > $o ) @ X ) ).
% top1I
thf(fact_63_semiring__norm_I13_J,axiom,
! [M2: num,N2: num] :
( ( times_times @ num @ ( bit0 @ M2 ) @ ( bit0 @ N2 ) )
= ( bit0 @ ( bit0 @ ( times_times @ num @ M2 @ N2 ) ) ) ) ).
% semiring_norm(13)
thf(fact_64_semiring__norm_I11_J,axiom,
! [M2: num] :
( ( times_times @ num @ M2 @ one2 )
= M2 ) ).
% semiring_norm(11)
thf(fact_65_semiring__norm_I12_J,axiom,
! [N2: num] :
( ( times_times @ num @ one2 @ N2 )
= N2 ) ).
% semiring_norm(12)
thf(fact_66_sup__left__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A,Z: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y @ Z ) )
= ( sup_sup @ A @ Y @ ( sup_sup @ A @ X @ Z ) ) ) ) ).
% sup_left_commute
thf(fact_67_sup_Oleft__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( sup_sup @ A @ B2 @ ( sup_sup @ A @ A4 @ C2 ) )
= ( sup_sup @ A @ A4 @ ( sup_sup @ A @ B2 @ C2 ) ) ) ) ).
% sup.left_commute
thf(fact_68_sup__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ( ( sup_sup @ A )
= ( ^ [X2: A,Y2: A] : ( sup_sup @ A @ Y2 @ X2 ) ) ) ) ).
% sup_commute
thf(fact_69_sup_Ocommute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ( ( sup_sup @ A )
= ( ^ [A5: A,B5: A] : ( sup_sup @ A @ B5 @ A5 ) ) ) ) ).
% sup.commute
thf(fact_70_sup__assoc,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A,Z: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y ) @ Z )
= ( sup_sup @ A @ X @ ( sup_sup @ A @ Y @ Z ) ) ) ) ).
% sup_assoc
thf(fact_71_sup_Oassoc,axiom,
! [A: $tType] :
( ( semilattice_sup @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ A4 @ B2 ) @ C2 )
= ( sup_sup @ A @ A4 @ ( sup_sup @ A @ B2 @ C2 ) ) ) ) ).
% sup.assoc
thf(fact_72_sup__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_sup @ B @ ( type2 @ B ) )
=> ( ( sup_sup @ ( A > B ) )
= ( ^ [F2: A > B,G2: A > B,X2: A] : ( sup_sup @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).
% sup_fun_def
thf(fact_73_inf__sup__aci_I5_J,axiom,
! [A: $tType] :
( ( lattice @ A @ ( type2 @ A ) )
=> ( ( sup_sup @ A )
= ( ^ [X2: A,Y2: A] : ( sup_sup @ A @ Y2 @ X2 ) ) ) ) ).
% inf_sup_aci(5)
thf(fact_74_inf__sup__aci_I6_J,axiom,
! [A: $tType] :
( ( lattice @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A,Z: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y ) @ Z )
= ( sup_sup @ A @ X @ ( sup_sup @ A @ Y @ Z ) ) ) ) ).
% inf_sup_aci(6)
thf(fact_75_inf__sup__aci_I7_J,axiom,
! [A: $tType] :
( ( lattice @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A,Z: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y @ Z ) )
= ( sup_sup @ A @ Y @ ( sup_sup @ A @ X @ Z ) ) ) ) ).
% inf_sup_aci(7)
thf(fact_76_inf__sup__aci_I8_J,axiom,
! [A: $tType] :
( ( lattice @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y ) )
= ( sup_sup @ A @ X @ Y ) ) ) ).
% inf_sup_aci(8)
thf(fact_77_num_Odistinct_I1_J,axiom,
! [X22: num] :
( one2
!= ( bit0 @ X22 ) ) ).
% num.distinct(1)
thf(fact_78_top__empty__eq,axiom,
! [A: $tType] :
( ( top_top @ ( A > $o ) )
= ( ^ [X2: A] : ( member @ A @ X2 @ ( top_top @ ( set @ A ) ) ) ) ) ).
% top_empty_eq
thf(fact_79_snth__sset__smerge,axiom,
! [A: $tType,Ss: stream170649215stream @ ( stream170649215stream @ A ),N2: nat,M2: nat] : ( member @ A @ ( stream370371455e_snth @ A @ ( stream370371455e_snth @ ( stream170649215stream @ A ) @ Ss @ N2 ) @ M2 ) @ ( stream30925839e_sset @ A @ ( stream857257621smerge @ A @ Ss ) ) ) ).
% snth_sset_smerge
thf(fact_80_dbl__simps_I5_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [K: num] :
( ( neg_numeral_dbl @ A @ ( numeral_numeral @ A @ K ) )
= ( numeral_numeral @ A @ ( bit0 @ K ) ) ) ) ).
% dbl_simps(5)
thf(fact_81_top__conj_I2_J,axiom,
! [A: $tType,P: $o,X: A] :
( ( P
& ( top_top @ ( A > $o ) @ X ) )
= P ) ).
% top_conj(2)
thf(fact_82_top__conj_I1_J,axiom,
! [A: $tType,X: A,P: $o] :
( ( ( top_top @ ( A > $o ) @ X )
& P )
= P ) ).
% top_conj(1)
thf(fact_83_Stream__Mirabelle__hbrgyiwlrc_Osmember__def,axiom,
! [A: $tType] :
( ( stream1586597341member @ A )
= ( ^ [X2: A,S: stream170649215stream @ A] : ( member @ A @ X2 @ ( stream30925839e_sset @ A @ S ) ) ) ) ).
% Stream_Mirabelle_hbrgyiwlrc.smember_def
thf(fact_84_mult__2__right,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [Z: A] :
( ( times_times @ A @ Z @ ( numeral_numeral @ A @ ( bit0 @ one2 ) ) )
= ( plus_plus @ A @ Z @ Z ) ) ) ).
% mult_2_right
thf(fact_85_mult__2,axiom,
! [A: $tType] :
( ( semiring_numeral @ A @ ( type2 @ A ) )
=> ! [Z: A] :
( ( times_times @ A @ ( numeral_numeral @ A @ ( bit0 @ one2 ) ) @ Z )
= ( plus_plus @ A @ Z @ Z ) ) ) ).
% mult_2
thf(fact_86_semiring__norm_I6_J,axiom,
! [M2: num,N2: num] :
( ( plus_plus @ num @ ( bit0 @ M2 ) @ ( bit0 @ N2 ) )
= ( bit0 @ ( plus_plus @ num @ M2 @ N2 ) ) ) ).
% semiring_norm(6)
thf(fact_87_semiring__norm_I2_J,axiom,
( ( plus_plus @ num @ one2 @ one2 )
= ( bit0 @ one2 ) ) ).
% semiring_norm(2)
thf(fact_88_add__numeral__left,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [V: num,W: num,Z: A] :
( ( plus_plus @ A @ ( numeral_numeral @ A @ V ) @ ( plus_plus @ A @ ( numeral_numeral @ A @ W ) @ Z ) )
= ( plus_plus @ A @ ( numeral_numeral @ A @ ( plus_plus @ num @ V @ W ) ) @ Z ) ) ) ).
% add_numeral_left
thf(fact_89_numeral__plus__numeral,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( plus_plus @ A @ ( numeral_numeral @ A @ M2 ) @ ( numeral_numeral @ A @ N2 ) )
= ( numeral_numeral @ A @ ( plus_plus @ num @ M2 @ N2 ) ) ) ) ).
% numeral_plus_numeral
thf(fact_90_dbl__def,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ( ( neg_numeral_dbl @ A )
= ( ^ [X2: A] : ( plus_plus @ A @ X2 @ X2 ) ) ) ) ).
% dbl_def
thf(fact_91_is__num__normalize_I1_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% is_num_normalize(1)
thf(fact_92_add__One__commute,axiom,
! [N2: num] :
( ( plus_plus @ num @ one2 @ N2 )
= ( plus_plus @ num @ N2 @ one2 ) ) ).
% add_One_commute
thf(fact_93_left__add__mult__distrib,axiom,
! [I: nat,U: nat,J: nat,K: nat] :
( ( plus_plus @ nat @ ( times_times @ nat @ I @ U ) @ ( plus_plus @ nat @ ( times_times @ nat @ J @ U ) @ K ) )
= ( plus_plus @ nat @ ( times_times @ nat @ ( plus_plus @ nat @ I @ J ) @ U ) @ K ) ) ).
% left_add_mult_distrib
thf(fact_94_numeral__Bit0,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( numeral_numeral @ A @ ( bit0 @ N2 ) )
= ( plus_plus @ A @ ( numeral_numeral @ A @ N2 ) @ ( numeral_numeral @ A @ N2 ) ) ) ) ).
% numeral_Bit0
thf(fact_95_distrib__left__numeral,axiom,
! [A: $tType] :
( ( ( numeral @ A @ ( type2 @ A ) )
& ( semiring @ A @ ( type2 @ A ) ) )
=> ! [V: num,B2: A,C2: A] :
( ( times_times @ A @ ( numeral_numeral @ A @ V ) @ ( plus_plus @ A @ B2 @ C2 ) )
= ( plus_plus @ A @ ( times_times @ A @ ( numeral_numeral @ A @ V ) @ B2 ) @ ( times_times @ A @ ( numeral_numeral @ A @ V ) @ C2 ) ) ) ) ).
% distrib_left_numeral
thf(fact_96_distrib__right__numeral,axiom,
! [A: $tType] :
( ( ( numeral @ A @ ( type2 @ A ) )
& ( semiring @ A @ ( type2 @ A ) ) )
=> ! [A4: A,B2: A,V: num] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ ( numeral_numeral @ A @ V ) )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ ( numeral_numeral @ A @ V ) ) @ ( times_times @ A @ B2 @ ( numeral_numeral @ A @ V ) ) ) ) ) ).
% distrib_right_numeral
thf(fact_97_add__left__cancel,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( ( plus_plus @ A @ A4 @ B2 )
= ( plus_plus @ A @ A4 @ C2 ) )
= ( B2 = C2 ) ) ) ).
% add_left_cancel
thf(fact_98_add__right__cancel,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( ( plus_plus @ A @ B2 @ A4 )
= ( plus_plus @ A @ C2 @ A4 ) )
= ( B2 = C2 ) ) ) ).
% add_right_cancel
thf(fact_99_crossproduct__noteq,axiom,
! [A: $tType] :
( ( semiri456707255roduct @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A,D2: A] :
( ( ( A4 != B2 )
& ( C2 != D2 ) )
= ( ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ D2 ) )
!= ( plus_plus @ A @ ( times_times @ A @ A4 @ D2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ) ).
% crossproduct_noteq
thf(fact_100_crossproduct__eq,axiom,
! [A: $tType] :
( ( semiri456707255roduct @ A @ ( type2 @ A ) )
=> ! [W: A,Y: A,X: A,Z: A] :
( ( ( plus_plus @ A @ ( times_times @ A @ W @ Y ) @ ( times_times @ A @ X @ Z ) )
= ( plus_plus @ A @ ( times_times @ A @ W @ Z ) @ ( times_times @ A @ X @ Y ) ) )
= ( ( W = X )
| ( Y = Z ) ) ) ) ).
% crossproduct_eq
thf(fact_101_add__right__imp__eq,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( ( plus_plus @ A @ B2 @ A4 )
= ( plus_plus @ A @ C2 @ A4 ) )
=> ( B2 = C2 ) ) ) ).
% add_right_imp_eq
thf(fact_102_add__left__imp__eq,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( ( plus_plus @ A @ A4 @ B2 )
= ( plus_plus @ A @ A4 @ C2 ) )
=> ( B2 = C2 ) ) ) ).
% add_left_imp_eq
thf(fact_103_add_Oleft__commute,axiom,
! [A: $tType] :
( ( ab_semigroup_add @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( plus_plus @ A @ B2 @ ( plus_plus @ A @ A4 @ C2 ) )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% add.left_commute
thf(fact_104_add_Ocommute,axiom,
! [A: $tType] :
( ( ab_semigroup_add @ A @ ( type2 @ A ) )
=> ( ( plus_plus @ A )
= ( ^ [A5: A,B5: A] : ( plus_plus @ A @ B5 @ A5 ) ) ) ) ).
% add.commute
thf(fact_105_add_Oright__cancel,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( ( plus_plus @ A @ B2 @ A4 )
= ( plus_plus @ A @ C2 @ A4 ) )
= ( B2 = C2 ) ) ) ).
% add.right_cancel
thf(fact_106_add_Oleft__cancel,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( ( plus_plus @ A @ A4 @ B2 )
= ( plus_plus @ A @ A4 @ C2 ) )
= ( B2 = C2 ) ) ) ).
% add.left_cancel
thf(fact_107_add_Oassoc,axiom,
! [A: $tType] :
( ( semigroup_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% add.assoc
thf(fact_108_semiring__normalization__rules_I20_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A,D2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ ( plus_plus @ A @ C2 @ D2 ) )
= ( plus_plus @ A @ ( plus_plus @ A @ A4 @ C2 ) @ ( plus_plus @ A @ B2 @ D2 ) ) ) ) ).
% semiring_normalization_rules(20)
thf(fact_109_semiring__normalization__rules_I21_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% semiring_normalization_rules(21)
thf(fact_110_semiring__normalization__rules_I22_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,C2: A,D2: A] :
( ( plus_plus @ A @ A4 @ ( plus_plus @ A @ C2 @ D2 ) )
= ( plus_plus @ A @ C2 @ ( plus_plus @ A @ A4 @ D2 ) ) ) ) ).
% semiring_normalization_rules(22)
thf(fact_111_semiring__normalization__rules_I23_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( plus_plus @ A @ A4 @ C2 ) @ B2 ) ) ) ).
% semiring_normalization_rules(23)
thf(fact_112_semiring__normalization__rules_I24_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ( ( plus_plus @ A )
= ( ^ [A5: A,C4: A] : ( plus_plus @ A @ C4 @ A5 ) ) ) ) ).
% semiring_normalization_rules(24)
thf(fact_113_semiring__normalization__rules_I25_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,C2: A,D2: A] :
( ( plus_plus @ A @ A4 @ ( plus_plus @ A @ C2 @ D2 ) )
= ( plus_plus @ A @ ( plus_plus @ A @ A4 @ C2 ) @ D2 ) ) ) ).
% semiring_normalization_rules(25)
thf(fact_114_add__mono__thms__linordered__semiring_I4_J,axiom,
! [A: $tType] :
( ( ordere779506340up_add @ A @ ( type2 @ A ) )
=> ! [I: A,J: A,K: A,L: A] :
( ( ( I = J )
& ( K = L ) )
=> ( ( plus_plus @ A @ I @ K )
= ( plus_plus @ A @ J @ L ) ) ) ) ).
% add_mono_thms_linordered_semiring(4)
thf(fact_115_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
! [A: $tType] :
( ( ab_semigroup_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% ab_semigroup_add_class.add_ac(1)
thf(fact_116_mult_Oleft__commute,axiom,
! [A: $tType] :
( ( ab_semigroup_mult @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( times_times @ A @ B2 @ ( times_times @ A @ A4 @ C2 ) )
= ( times_times @ A @ A4 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% mult.left_commute
thf(fact_117_mult_Ocommute,axiom,
! [A: $tType] :
( ( ab_semigroup_mult @ A @ ( type2 @ A ) )
=> ( ( times_times @ A )
= ( ^ [A5: A,B5: A] : ( times_times @ A @ B5 @ A5 ) ) ) ) ).
% mult.commute
thf(fact_118_mult_Oassoc,axiom,
! [A: $tType] :
( ( semigroup_mult @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( times_times @ A @ A4 @ B2 ) @ C2 )
= ( times_times @ A @ A4 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% mult.assoc
thf(fact_119_semiring__normalization__rules_I7_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ( ( times_times @ A )
= ( ^ [A5: A,B5: A] : ( times_times @ A @ B5 @ A5 ) ) ) ) ).
% semiring_normalization_rules(7)
thf(fact_120_semiring__normalization__rules_I13_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Ly: A,Rx: A,Ry: A] :
( ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ ( times_times @ A @ Rx @ Ry ) )
= ( times_times @ A @ ( times_times @ A @ Lx @ Rx ) @ ( times_times @ A @ Ly @ Ry ) ) ) ) ).
% semiring_normalization_rules(13)
thf(fact_121_semiring__normalization__rules_I14_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Ly: A,Rx: A,Ry: A] :
( ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ ( times_times @ A @ Rx @ Ry ) )
= ( times_times @ A @ Lx @ ( times_times @ A @ Ly @ ( times_times @ A @ Rx @ Ry ) ) ) ) ) ).
% semiring_normalization_rules(14)
thf(fact_122_semiring__normalization__rules_I15_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Ly: A,Rx: A,Ry: A] :
( ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ ( times_times @ A @ Rx @ Ry ) )
= ( times_times @ A @ Rx @ ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ Ry ) ) ) ) ).
% semiring_normalization_rules(15)
thf(fact_123_semiring__normalization__rules_I16_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Ly: A,Rx: A] :
( ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ Rx )
= ( times_times @ A @ ( times_times @ A @ Lx @ Rx ) @ Ly ) ) ) ).
% semiring_normalization_rules(16)
thf(fact_124_semiring__normalization__rules_I17_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Ly: A,Rx: A] :
( ( times_times @ A @ ( times_times @ A @ Lx @ Ly ) @ Rx )
= ( times_times @ A @ Lx @ ( times_times @ A @ Ly @ Rx ) ) ) ) ).
% semiring_normalization_rules(17)
thf(fact_125_semiring__normalization__rules_I18_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Rx: A,Ry: A] :
( ( times_times @ A @ Lx @ ( times_times @ A @ Rx @ Ry ) )
= ( times_times @ A @ ( times_times @ A @ Lx @ Rx ) @ Ry ) ) ) ).
% semiring_normalization_rules(18)
thf(fact_126_semiring__normalization__rules_I19_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [Lx: A,Rx: A,Ry: A] :
( ( times_times @ A @ Lx @ ( times_times @ A @ Rx @ Ry ) )
= ( times_times @ A @ Rx @ ( times_times @ A @ Lx @ Ry ) ) ) ) ).
% semiring_normalization_rules(19)
thf(fact_127_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
! [A: $tType] :
( ( ab_semigroup_mult @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( times_times @ A @ A4 @ B2 ) @ C2 )
= ( times_times @ A @ A4 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% ab_semigroup_mult_class.mult_ac(1)
thf(fact_128_semiring__normalization__rules_I34_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A,Z: A] :
( ( times_times @ A @ X @ ( plus_plus @ A @ Y @ Z ) )
= ( plus_plus @ A @ ( times_times @ A @ X @ Y ) @ ( times_times @ A @ X @ Z ) ) ) ) ).
% semiring_normalization_rules(34)
thf(fact_129_semiring__normalization__rules_I8_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% semiring_normalization_rules(8)
thf(fact_130_semiring__normalization__rules_I1_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,M2: A,B2: A] :
( ( plus_plus @ A @ ( times_times @ A @ A4 @ M2 ) @ ( times_times @ A @ B2 @ M2 ) )
= ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ M2 ) ) ) ).
% semiring_normalization_rules(1)
thf(fact_131_add__mult__distrib,axiom,
! [M2: nat,N2: nat,K: nat] :
( ( times_times @ nat @ ( plus_plus @ nat @ M2 @ N2 ) @ K )
= ( plus_plus @ nat @ ( times_times @ nat @ M2 @ K ) @ ( times_times @ nat @ N2 @ K ) ) ) ).
% add_mult_distrib
thf(fact_132_add__mult__distrib2,axiom,
! [K: nat,M2: nat,N2: nat] :
( ( times_times @ nat @ K @ ( plus_plus @ nat @ M2 @ N2 ) )
= ( plus_plus @ nat @ ( times_times @ nat @ K @ M2 ) @ ( times_times @ nat @ K @ N2 ) ) ) ).
% add_mult_distrib2
thf(fact_133_ring__class_Oring__distribs_I2_J,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% ring_class.ring_distribs(2)
thf(fact_134_ring__class_Oring__distribs_I1_J,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ B2 ) @ ( times_times @ A @ A4 @ C2 ) ) ) ) ).
% ring_class.ring_distribs(1)
thf(fact_135_linordered__field__class_Osign__simps_I36_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ B2 ) @ ( times_times @ A @ A4 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(36)
thf(fact_136_linordered__field__class_Osign__simps_I28_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( plus_plus @ A @ B2 @ ( plus_plus @ A @ A4 @ C2 ) )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(28)
thf(fact_137_linordered__field__class_Osign__simps_I27_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ( ( plus_plus @ A )
= ( ^ [A5: A,B5: A] : ( plus_plus @ A @ B5 @ A5 ) ) ) ) ).
% linordered_field_class.sign_simps(27)
thf(fact_138_linordered__field__class_Osign__simps_I26_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(26)
thf(fact_139_linordered__field__class_Osign__simps_I25_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [B2: A,A4: A,C2: A] :
( ( times_times @ A @ B2 @ ( times_times @ A @ A4 @ C2 ) )
= ( times_times @ A @ A4 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(25)
thf(fact_140_linordered__field__class_Osign__simps_I24_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ( ( times_times @ A )
= ( ^ [A5: A,B5: A] : ( times_times @ A @ B5 @ A5 ) ) ) ) ).
% linordered_field_class.sign_simps(24)
thf(fact_141_linordered__field__class_Osign__simps_I23_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( times_times @ A @ A4 @ B2 ) @ C2 )
= ( times_times @ A @ A4 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(23)
thf(fact_142_nat__add__right__cancel,axiom,
! [M2: nat,K: nat,N2: nat] :
( ( ( plus_plus @ nat @ M2 @ K )
= ( plus_plus @ nat @ N2 @ K ) )
= ( M2 = N2 ) ) ).
% nat_add_right_cancel
thf(fact_143_nat__add__left__cancel,axiom,
! [K: nat,M2: nat,N2: nat] :
( ( ( plus_plus @ nat @ K @ M2 )
= ( plus_plus @ nat @ K @ N2 ) )
= ( M2 = N2 ) ) ).
% nat_add_left_cancel
thf(fact_144_combine__common__factor,axiom,
! [A: $tType] :
( ( semiring @ A @ ( type2 @ A ) )
=> ! [A4: A,E: A,B2: A,C2: A] :
( ( plus_plus @ A @ ( times_times @ A @ A4 @ E ) @ ( plus_plus @ A @ ( times_times @ A @ B2 @ E ) @ C2 ) )
= ( plus_plus @ A @ ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ E ) @ C2 ) ) ) ).
% combine_common_factor
thf(fact_145_distrib__right,axiom,
! [A: $tType] :
( ( semiring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% distrib_right
thf(fact_146_distrib__left,axiom,
! [A: $tType] :
( ( semiring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ A4 @ ( plus_plus @ A @ B2 @ C2 ) )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ B2 ) @ ( times_times @ A @ A4 @ C2 ) ) ) ) ).
% distrib_left
thf(fact_147_comm__semiring__class_Odistrib,axiom,
! [A: $tType] :
( ( comm_semiring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% comm_semiring_class.distrib
thf(fact_148_linordered__field__class_Osign__simps_I35_J,axiom,
! [A: $tType] :
( ( linordered_field @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A,C2: A] :
( ( times_times @ A @ ( plus_plus @ A @ A4 @ B2 ) @ C2 )
= ( plus_plus @ A @ ( times_times @ A @ A4 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).
% linordered_field_class.sign_simps(35)
thf(fact_149_dbl__simps_I3_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ( ( neg_numeral_dbl @ A @ ( one_one @ A ) )
= ( numeral_numeral @ A @ ( bit0 @ one2 ) ) ) ) ).
% dbl_simps(3)
thf(fact_150_numeral__plus__one,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( plus_plus @ A @ ( numeral_numeral @ A @ N2 ) @ ( one_one @ A ) )
= ( numeral_numeral @ A @ ( plus_plus @ num @ N2 @ one2 ) ) ) ) ).
% numeral_plus_one
thf(fact_151_one__plus__numeral,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( plus_plus @ A @ ( one_one @ A ) @ ( numeral_numeral @ A @ N2 ) )
= ( numeral_numeral @ A @ ( plus_plus @ num @ one2 @ N2 ) ) ) ) ).
% one_plus_numeral
thf(fact_152_one__add__one,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ( ( plus_plus @ A @ ( one_one @ A ) @ ( one_one @ A ) )
= ( numeral_numeral @ A @ ( bit0 @ one2 ) ) ) ) ).
% one_add_one
thf(fact_153_nat__1__eq__mult__iff,axiom,
! [M2: nat,N2: nat] :
( ( ( one_one @ nat )
= ( times_times @ nat @ M2 @ N2 ) )
= ( ( M2
= ( one_one @ nat ) )
& ( N2
= ( one_one @ nat ) ) ) ) ).
% nat_1_eq_mult_iff
thf(fact_154_nat__mult__eq__1__iff,axiom,
! [M2: nat,N2: nat] :
( ( ( times_times @ nat @ M2 @ N2 )
= ( one_one @ nat ) )
= ( ( M2
= ( one_one @ nat ) )
& ( N2
= ( one_one @ nat ) ) ) ) ).
% nat_mult_eq_1_iff
thf(fact_155_mult_Oright__neutral,axiom,
! [A: $tType] :
( ( monoid_mult @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ A4 @ ( one_one @ A ) )
= A4 ) ) ).
% mult.right_neutral
thf(fact_156_mult_Oleft__neutral,axiom,
! [A: $tType] :
( ( monoid_mult @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ ( one_one @ A ) @ A4 )
= A4 ) ) ).
% mult.left_neutral
thf(fact_157_one__eq__numeral__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( ( one_one @ A )
= ( numeral_numeral @ A @ N2 ) )
= ( one2 = N2 ) ) ) ).
% one_eq_numeral_iff
thf(fact_158_numeral__eq__one__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( ( numeral_numeral @ A @ N2 )
= ( one_one @ A ) )
= ( N2 = one2 ) ) ) ).
% numeral_eq_one_iff
thf(fact_159_nat__mult__1__right,axiom,
! [N2: nat] :
( ( times_times @ nat @ N2 @ ( one_one @ nat ) )
= N2 ) ).
% nat_mult_1_right
thf(fact_160_nat__mult__1,axiom,
! [N2: nat] :
( ( times_times @ nat @ ( one_one @ nat ) @ N2 )
= N2 ) ).
% nat_mult_1
thf(fact_161_mult_Ocomm__neutral,axiom,
! [A: $tType] :
( ( comm_monoid_mult @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ A4 @ ( one_one @ A ) )
= A4 ) ) ).
% mult.comm_neutral
thf(fact_162_comm__monoid__mult__class_Omult__1,axiom,
! [A: $tType] :
( ( comm_monoid_mult @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ ( one_one @ A ) @ A4 )
= A4 ) ) ).
% comm_monoid_mult_class.mult_1
thf(fact_163_semiring__normalization__rules_I11_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ ( one_one @ A ) @ A4 )
= A4 ) ) ).
% semiring_normalization_rules(11)
thf(fact_164_semiring__normalization__rules_I12_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( times_times @ A @ A4 @ ( one_one @ A ) )
= A4 ) ) ).
% semiring_normalization_rules(12)
thf(fact_165_one__reorient,axiom,
! [A: $tType] :
( ( one @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( ( one_one @ A )
= X )
= ( X
= ( one_one @ A ) ) ) ) ).
% one_reorient
thf(fact_166_one__plus__numeral__commute,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ! [X: num] :
( ( plus_plus @ A @ ( one_one @ A ) @ ( numeral_numeral @ A @ X ) )
= ( plus_plus @ A @ ( numeral_numeral @ A @ X ) @ ( one_one @ A ) ) ) ) ).
% one_plus_numeral_commute
thf(fact_167_semiring__normalization__rules_I2_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [A4: A,M2: A] :
( ( plus_plus @ A @ ( times_times @ A @ A4 @ M2 ) @ M2 )
= ( times_times @ A @ ( plus_plus @ A @ A4 @ ( one_one @ A ) ) @ M2 ) ) ) ).
% semiring_normalization_rules(2)
thf(fact_168_semiring__normalization__rules_I3_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [M2: A,A4: A] :
( ( plus_plus @ A @ M2 @ ( times_times @ A @ A4 @ M2 ) )
= ( times_times @ A @ ( plus_plus @ A @ A4 @ ( one_one @ A ) ) @ M2 ) ) ) ).
% semiring_normalization_rules(3)
thf(fact_169_semiring__normalization__rules_I4_J,axiom,
! [A: $tType] :
( ( comm_semiring_1 @ A @ ( type2 @ A ) )
=> ! [M2: A] :
( ( plus_plus @ A @ M2 @ M2 )
= ( times_times @ A @ ( plus_plus @ A @ ( one_one @ A ) @ ( one_one @ A ) ) @ M2 ) ) ) ).
% semiring_normalization_rules(4)
thf(fact_170_numeral__One,axiom,
! [A: $tType] :
( ( numeral @ A @ ( type2 @ A ) )
=> ( ( numeral_numeral @ A @ one2 )
= ( one_one @ A ) ) ) ).
% numeral_One
thf(fact_171_numerals_I1_J,axiom,
( ( numeral_numeral @ nat @ one2 )
= ( one_one @ nat ) ) ).
% numerals(1)
thf(fact_172_nat__1__add__1,axiom,
( ( plus_plus @ nat @ ( one_one @ nat ) @ ( one_one @ nat ) )
= ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) ) ).
% nat_1_add_1
thf(fact_173_dbl__simps_I4_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ( ( neg_numeral_dbl @ A @ ( uminus_uminus @ A @ ( one_one @ A ) ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( bit0 @ one2 ) ) ) ) ) ).
% dbl_simps(4)
thf(fact_174_add__neg__numeral__special_I9_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ( ( plus_plus @ A @ ( uminus_uminus @ A @ ( one_one @ A ) ) @ ( uminus_uminus @ A @ ( one_one @ A ) ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( bit0 @ one2 ) ) ) ) ) ).
% add_neg_numeral_special(9)
thf(fact_175_add__2__eq__Suc_H,axiom,
! [N2: nat] :
( ( plus_plus @ nat @ N2 @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) )
= ( suc @ ( suc @ N2 ) ) ) ).
% add_2_eq_Suc'
thf(fact_176_neg__equal__iff__equal,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( ( uminus_uminus @ A @ A4 )
= ( uminus_uminus @ A @ B2 ) )
= ( A4 = B2 ) ) ) ).
% neg_equal_iff_equal
thf(fact_177_add_Oinverse__inverse,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A] :
( ( uminus_uminus @ A @ ( uminus_uminus @ A @ A4 ) )
= A4 ) ) ).
% add.inverse_inverse
thf(fact_178_compl__eq__compl__iff,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A] :
( ( ( uminus_uminus @ A @ X )
= ( uminus_uminus @ A @ Y ) )
= ( X = Y ) ) ) ).
% compl_eq_compl_iff
thf(fact_179_double__compl,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( uminus_uminus @ A @ ( uminus_uminus @ A @ X ) )
= X ) ) ).
% double_compl
thf(fact_180_uminus__apply,axiom,
! [B: $tType,A: $tType] :
( ( uminus @ B @ ( type2 @ B ) )
=> ( ( uminus_uminus @ ( A > B ) )
= ( ^ [A3: A > B,X2: A] : ( uminus_uminus @ B @ ( A3 @ X2 ) ) ) ) ) ).
% uminus_apply
thf(fact_181_old_Onat_Oinject,axiom,
! [Nat: nat,Nat2: nat] :
( ( ( suc @ Nat )
= ( suc @ Nat2 ) )
= ( Nat = Nat2 ) ) ).
% old.nat.inject
thf(fact_182_nat_Oinject,axiom,
! [X22: nat,Y22: nat] :
( ( ( suc @ X22 )
= ( suc @ Y22 ) )
= ( X22 = Y22 ) ) ).
% nat.inject
thf(fact_183_add__minus__cancel,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( plus_plus @ A @ A4 @ ( plus_plus @ A @ ( uminus_uminus @ A @ A4 ) @ B2 ) )
= B2 ) ) ).
% add_minus_cancel
thf(fact_184_minus__add__cancel,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( plus_plus @ A @ ( uminus_uminus @ A @ A4 ) @ ( plus_plus @ A @ A4 @ B2 ) )
= B2 ) ) ).
% minus_add_cancel
thf(fact_185_minus__add__distrib,axiom,
! [A: $tType] :
( ( ab_group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( uminus_uminus @ A @ ( plus_plus @ A @ A4 @ B2 ) )
= ( plus_plus @ A @ ( uminus_uminus @ A @ A4 ) @ ( uminus_uminus @ A @ B2 ) ) ) ) ).
% minus_add_distrib
thf(fact_186_neg__numeral__eq__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( M2 = N2 ) ) ) ).
% neg_numeral_eq_iff
thf(fact_187_mult__minus__left,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( times_times @ A @ ( uminus_uminus @ A @ A4 ) @ B2 )
= ( uminus_uminus @ A @ ( times_times @ A @ A4 @ B2 ) ) ) ) ).
% mult_minus_left
thf(fact_188_minus__mult__minus,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( times_times @ A @ ( uminus_uminus @ A @ A4 ) @ ( uminus_uminus @ A @ B2 ) )
= ( times_times @ A @ A4 @ B2 ) ) ) ).
% minus_mult_minus
thf(fact_189_mult__minus__right,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( times_times @ A @ A4 @ ( uminus_uminus @ A @ B2 ) )
= ( uminus_uminus @ A @ ( times_times @ A @ A4 @ B2 ) ) ) ) ).
% mult_minus_right
thf(fact_190_add__Suc__right,axiom,
! [M2: nat,N2: nat] :
( ( plus_plus @ nat @ M2 @ ( suc @ N2 ) )
= ( suc @ ( plus_plus @ nat @ M2 @ N2 ) ) ) ).
% add_Suc_right
thf(fact_191_add__neg__numeral__simps_I3_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( plus_plus @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) ) @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( uminus_uminus @ A @ ( plus_plus @ A @ ( numeral_numeral @ A @ M2 ) @ ( numeral_numeral @ A @ N2 ) ) ) ) ) ).
% add_neg_numeral_simps(3)
thf(fact_192_mult__minus1,axiom,
! [A: $tType] :
( ( ring_1 @ A @ ( type2 @ A ) )
=> ! [Z: A] :
( ( times_times @ A @ ( uminus_uminus @ A @ ( one_one @ A ) ) @ Z )
= ( uminus_uminus @ A @ Z ) ) ) ).
% mult_minus1
thf(fact_193_mult__minus1__right,axiom,
! [A: $tType] :
( ( ring_1 @ A @ ( type2 @ A ) )
=> ! [Z: A] :
( ( times_times @ A @ Z @ ( uminus_uminus @ A @ ( one_one @ A ) ) )
= ( uminus_uminus @ A @ Z ) ) ) ).
% mult_minus1_right
thf(fact_194_compl__sup__top,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( sup_sup @ A @ ( uminus_uminus @ A @ X ) @ X )
= ( top_top @ A ) ) ) ).
% compl_sup_top
thf(fact_195_sup__compl__top,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( sup_sup @ A @ X @ ( uminus_uminus @ A @ X ) )
= ( top_top @ A ) ) ) ).
% sup_compl_top
thf(fact_196_sup__compl__top__left1,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A] :
( ( sup_sup @ A @ ( uminus_uminus @ A @ X ) @ ( sup_sup @ A @ X @ Y ) )
= ( top_top @ A ) ) ) ).
% sup_compl_top_left1
thf(fact_197_sup__compl__top__left2,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A,Y: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ ( uminus_uminus @ A @ X ) @ Y ) )
= ( top_top @ A ) ) ) ).
% sup_compl_top_left2
thf(fact_198_mult__Suc__right,axiom,
! [M2: nat,N2: nat] :
( ( times_times @ nat @ M2 @ ( suc @ N2 ) )
= ( plus_plus @ nat @ M2 @ ( times_times @ nat @ M2 @ N2 ) ) ) ).
% mult_Suc_right
thf(fact_199_dbl__simps_I1_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [K: num] :
( ( neg_numeral_dbl @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ K ) ) )
= ( uminus_uminus @ A @ ( neg_numeral_dbl @ A @ ( numeral_numeral @ A @ K ) ) ) ) ) ).
% dbl_simps(1)
thf(fact_200_numeral__eq__neg__one__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) )
= ( uminus_uminus @ A @ ( one_one @ A ) ) )
= ( N2 = one2 ) ) ) ).
% numeral_eq_neg_one_iff
thf(fact_201_neg__one__eq__numeral__iff,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( ( uminus_uminus @ A @ ( one_one @ A ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( N2 = one2 ) ) ) ).
% neg_one_eq_numeral_iff
thf(fact_202_semiring__norm_I168_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [V: num,W: num,Y: A] :
( ( plus_plus @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ V ) ) @ ( plus_plus @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ W ) ) @ Y ) )
= ( plus_plus @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( plus_plus @ num @ V @ W ) ) ) @ Y ) ) ) ).
% semiring_norm(168)
thf(fact_203_Suc__numeral,axiom,
! [N2: num] :
( ( suc @ ( numeral_numeral @ nat @ N2 ) )
= ( numeral_numeral @ nat @ ( plus_plus @ num @ N2 @ one2 ) ) ) ).
% Suc_numeral
thf(fact_204_semiring__norm_I172_J,axiom,
! [B: $tType] :
( ( ring_1 @ B @ ( type2 @ B ) )
=> ! [V: num,W: num,Y: B] :
( ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ V ) ) @ ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ W ) ) @ Y ) )
= ( times_times @ B @ ( numeral_numeral @ B @ ( times_times @ num @ V @ W ) ) @ Y ) ) ) ).
% semiring_norm(172)
thf(fact_205_semiring__norm_I171_J,axiom,
! [B: $tType] :
( ( ring_1 @ B @ ( type2 @ B ) )
=> ! [V: num,W: num,Y: B] :
( ( times_times @ B @ ( numeral_numeral @ B @ V ) @ ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ W ) ) @ Y ) )
= ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ ( times_times @ num @ V @ W ) ) ) @ Y ) ) ) ).
% semiring_norm(171)
thf(fact_206_semiring__norm_I170_J,axiom,
! [B: $tType] :
( ( ring_1 @ B @ ( type2 @ B ) )
=> ! [V: num,W: num,Y: B] :
( ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ V ) ) @ ( times_times @ B @ ( numeral_numeral @ B @ W ) @ Y ) )
= ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ ( times_times @ num @ V @ W ) ) ) @ Y ) ) ) ).
% semiring_norm(170)
thf(fact_207_mult__neg__numeral__simps_I3_J,axiom,
! [A: $tType] :
( ( ring_1 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( times_times @ A @ ( numeral_numeral @ A @ M2 ) @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( times_times @ num @ M2 @ N2 ) ) ) ) ) ).
% mult_neg_numeral_simps(3)
thf(fact_208_mult__neg__numeral__simps_I2_J,axiom,
! [A: $tType] :
( ( ring_1 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( times_times @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) ) @ ( numeral_numeral @ A @ N2 ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( times_times @ num @ M2 @ N2 ) ) ) ) ) ).
% mult_neg_numeral_simps(2)
thf(fact_209_mult__neg__numeral__simps_I1_J,axiom,
! [A: $tType] :
( ( ring_1 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( times_times @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) ) @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( numeral_numeral @ A @ ( times_times @ num @ M2 @ N2 ) ) ) ) ).
% mult_neg_numeral_simps(1)
thf(fact_210_add__2__eq__Suc,axiom,
! [N2: nat] :
( ( plus_plus @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ N2 )
= ( suc @ ( suc @ N2 ) ) ) ).
% add_2_eq_Suc
thf(fact_211_Suc__1,axiom,
( ( suc @ ( one_one @ nat ) )
= ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) ) ).
% Suc_1
thf(fact_212_Suc__eq__plus1,axiom,
( suc
= ( ^ [N4: nat] : ( plus_plus @ nat @ N4 @ ( one_one @ nat ) ) ) ) ).
% Suc_eq_plus1
thf(fact_213_Suc__eq__plus1__left,axiom,
( suc
= ( plus_plus @ nat @ ( one_one @ nat ) ) ) ).
% Suc_eq_plus1_left
thf(fact_214_one__neq__neg__one,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ( ( one_one @ A )
!= ( uminus_uminus @ A @ ( one_one @ A ) ) ) ) ).
% one_neq_neg_one
thf(fact_215_add_Oinverse__distrib__swap,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( uminus_uminus @ A @ ( plus_plus @ A @ A4 @ B2 ) )
= ( plus_plus @ A @ ( uminus_uminus @ A @ B2 ) @ ( uminus_uminus @ A @ A4 ) ) ) ) ).
% add.inverse_distrib_swap
thf(fact_216_minus__equation__iff,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( ( uminus_uminus @ A @ A4 )
= B2 )
= ( ( uminus_uminus @ A @ B2 )
= A4 ) ) ) ).
% minus_equation_iff
thf(fact_217_equation__minus__iff,axiom,
! [A: $tType] :
( ( group_add @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( A4
= ( uminus_uminus @ A @ B2 ) )
= ( B2
= ( uminus_uminus @ A @ A4 ) ) ) ) ).
% equation_minus_iff
thf(fact_218_numeral__neq__neg__numeral,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( numeral_numeral @ A @ M2 )
!= ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) ) ) ).
% numeral_neq_neg_numeral
thf(fact_219_neg__numeral__neq__numeral,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [M2: num,N2: num] :
( ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) )
!= ( numeral_numeral @ A @ N2 ) ) ) ).
% neg_numeral_neq_numeral
thf(fact_220_is__num__normalize_I8_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( uminus_uminus @ A @ ( plus_plus @ A @ A4 @ B2 ) )
= ( plus_plus @ A @ ( uminus_uminus @ A @ B2 ) @ ( uminus_uminus @ A @ A4 ) ) ) ) ).
% is_num_normalize(8)
thf(fact_221_fun__Compl__def,axiom,
! [B: $tType,A: $tType] :
( ( uminus @ B @ ( type2 @ B ) )
=> ( ( uminus_uminus @ ( A > B ) )
= ( ^ [A3: A > B,X2: A] : ( uminus_uminus @ B @ ( A3 @ X2 ) ) ) ) ) ).
% fun_Compl_def
thf(fact_222_n__not__Suc__n,axiom,
! [N2: nat] :
( N2
!= ( suc @ N2 ) ) ).
% n_not_Suc_n
thf(fact_223_Suc__inject,axiom,
! [X: nat,Y: nat] :
( ( ( suc @ X )
= ( suc @ Y ) )
=> ( X = Y ) ) ).
% Suc_inject
thf(fact_224_Suc__mult__cancel1,axiom,
! [K: nat,M2: nat,N2: nat] :
( ( ( times_times @ nat @ ( suc @ K ) @ M2 )
= ( times_times @ nat @ ( suc @ K ) @ N2 ) )
= ( M2 = N2 ) ) ).
% Suc_mult_cancel1
thf(fact_225_square__eq__iff,axiom,
! [A: $tType] :
( ( idom @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( ( times_times @ A @ A4 @ A4 )
= ( times_times @ A @ B2 @ B2 ) )
= ( ( A4 = B2 )
| ( A4
= ( uminus_uminus @ A @ B2 ) ) ) ) ) ).
% square_eq_iff
thf(fact_226_minus__mult__commute,axiom,
! [A: $tType] :
( ( ring @ A @ ( type2 @ A ) )
=> ! [A4: A,B2: A] :
( ( times_times @ A @ ( uminus_uminus @ A @ A4 ) @ B2 )
= ( times_times @ A @ A4 @ ( uminus_uminus @ A @ B2 ) ) ) ) ).
% minus_mult_commute
thf(fact_227_add__Suc,axiom,
! [M2: nat,N2: nat] :
( ( plus_plus @ nat @ ( suc @ M2 ) @ N2 )
= ( suc @ ( plus_plus @ nat @ M2 @ N2 ) ) ) ).
% add_Suc
thf(fact_228_add__Suc__shift,axiom,
! [M2: nat,N2: nat] :
( ( plus_plus @ nat @ ( suc @ M2 ) @ N2 )
= ( plus_plus @ nat @ M2 @ ( suc @ N2 ) ) ) ).
% add_Suc_shift
thf(fact_229_numeral__times__minus__swap,axiom,
! [A: $tType] :
( ( comm_ring_1 @ A @ ( type2 @ A ) )
=> ! [W: num,X: A] :
( ( times_times @ A @ ( numeral_numeral @ A @ W ) @ ( uminus_uminus @ A @ X ) )
= ( times_times @ A @ X @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ W ) ) ) ) ) ).
% numeral_times_minus_swap
thf(fact_230_numeral__neq__neg__one,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( numeral_numeral @ A @ N2 )
!= ( uminus_uminus @ A @ ( one_one @ A ) ) ) ) ).
% numeral_neq_neg_one
thf(fact_231_one__neq__neg__numeral,axiom,
! [A: $tType] :
( ( ring_char_0 @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( one_one @ A )
!= ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) ) ) ).
% one_neq_neg_numeral
thf(fact_232_ring__normalization__rules_I1_J,axiom,
! [A: $tType] :
( ( comm_ring_1 @ A @ ( type2 @ A ) )
=> ( ( uminus_uminus @ A )
= ( times_times @ A @ ( uminus_uminus @ A @ ( one_one @ A ) ) ) ) ) ).
% ring_normalization_rules(1)
thf(fact_233_square__eq__1__iff,axiom,
! [A: $tType] :
( ( ring_11004092258visors @ A @ ( type2 @ A ) )
=> ! [X: A] :
( ( ( times_times @ A @ X @ X )
= ( one_one @ A ) )
= ( ( X
= ( one_one @ A ) )
| ( X
= ( uminus_uminus @ A @ ( one_one @ A ) ) ) ) ) ) ).
% square_eq_1_iff
thf(fact_234_sup__cancel__left1,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A,A4: A,B2: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ X @ A4 ) @ ( sup_sup @ A @ ( uminus_uminus @ A @ X ) @ B2 ) )
= ( top_top @ A ) ) ) ).
% sup_cancel_left1
thf(fact_235_sup__cancel__left2,axiom,
! [A: $tType] :
( ( boolean_algebra @ A @ ( type2 @ A ) )
=> ! [X: A,A4: A,B2: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ ( uminus_uminus @ A @ X ) @ A4 ) @ ( sup_sup @ A @ X @ B2 ) )
= ( top_top @ A ) ) ) ).
% sup_cancel_left2
thf(fact_236_Compl__partition,axiom,
! [A: $tType,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( uminus_uminus @ ( set @ A ) @ A2 ) )
= ( top_top @ ( set @ A ) ) ) ).
% Compl_partition
thf(fact_237_Compl__partition2,axiom,
! [A: $tType,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( uminus_uminus @ ( set @ A ) @ A2 ) @ A2 )
= ( top_top @ ( set @ A ) ) ) ).
% Compl_partition2
thf(fact_238_mult__Suc,axiom,
! [M2: nat,N2: nat] :
( ( times_times @ nat @ ( suc @ M2 ) @ N2 )
= ( plus_plus @ nat @ N2 @ ( times_times @ nat @ M2 @ N2 ) ) ) ).
% mult_Suc
thf(fact_239_mult__1s_I4_J,axiom,
! [B: $tType] :
( ( ring_1 @ B @ ( type2 @ B ) )
=> ! [B2: B] :
( ( times_times @ B @ B2 @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ one2 ) ) )
= ( uminus_uminus @ B @ B2 ) ) ) ).
% mult_1s(4)
thf(fact_240_mult__1s_I3_J,axiom,
! [B: $tType] :
( ( ring_1 @ B @ ( type2 @ B ) )
=> ! [B2: B] :
( ( times_times @ B @ ( uminus_uminus @ B @ ( numeral_numeral @ B @ one2 ) ) @ B2 )
= ( uminus_uminus @ B @ B2 ) ) ) ).
% mult_1s(3)
thf(fact_241_uminus__numeral__One,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ( ( uminus_uminus @ A @ ( numeral_numeral @ A @ one2 ) )
= ( uminus_uminus @ A @ ( one_one @ A ) ) ) ) ).
% uminus_numeral_One
thf(fact_242_Suc__nat__number__of__add,axiom,
! [V: num,N2: nat] :
( ( suc @ ( plus_plus @ nat @ ( numeral_numeral @ nat @ V ) @ N2 ) )
= ( plus_plus @ nat @ ( numeral_numeral @ nat @ ( plus_plus @ num @ V @ one2 ) ) @ N2 ) ) ).
% Suc_nat_number_of_add
thf(fact_243_Suc__double__not__eq__double,axiom,
! [M2: nat,N2: nat] :
( ( suc @ ( times_times @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ M2 ) )
!= ( times_times @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ N2 ) ) ).
% Suc_double_not_eq_double
thf(fact_244_double__not__eq__Suc__double,axiom,
! [M2: nat,N2: nat] :
( ( times_times @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ M2 )
!= ( suc @ ( times_times @ nat @ ( numeral_numeral @ nat @ ( bit0 @ one2 ) ) @ N2 ) ) ) ).
% double_not_eq_Suc_double
thf(fact_245_add__neg__numeral__special_I6_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [M2: num] :
( ( plus_plus @ A @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ M2 ) ) @ ( uminus_uminus @ A @ ( one_one @ A ) ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( inc @ M2 ) ) ) ) ) ).
% add_neg_numeral_special(6)
thf(fact_246_Compl__eq__Compl__iff,axiom,
! [A: $tType,A2: set @ A,B3: set @ A] :
( ( ( uminus_uminus @ ( set @ A ) @ A2 )
= ( uminus_uminus @ ( set @ A ) @ B3 ) )
= ( A2 = B3 ) ) ).
% Compl_eq_Compl_iff
thf(fact_247_Compl__iff,axiom,
! [A: $tType,C2: A,A2: set @ A] :
( ( member @ A @ C2 @ ( uminus_uminus @ ( set @ A ) @ A2 ) )
= ( ~ ( member @ A @ C2 @ A2 ) ) ) ).
% Compl_iff
thf(fact_248_ComplI,axiom,
! [A: $tType,C2: A,A2: set @ A] :
( ~ ( member @ A @ C2 @ A2 )
=> ( member @ A @ C2 @ ( uminus_uminus @ ( set @ A ) @ A2 ) ) ) ).
% ComplI
thf(fact_249_add__neg__numeral__special_I5_J,axiom,
! [A: $tType] :
( ( neg_numeral @ A @ ( type2 @ A ) )
=> ! [N2: num] :
( ( plus_plus @ A @ ( uminus_uminus @ A @ ( one_one @ A ) ) @ ( uminus_uminus @ A @ ( numeral_numeral @ A @ N2 ) ) )
= ( uminus_uminus @ A @ ( numeral_numeral @ A @ ( inc @ N2 ) ) ) ) ) ).
% add_neg_numeral_special(5)
thf(fact_250_double__complement,axiom,
! [A: $tType,A2: set @ A] :
( ( uminus_uminus @ ( set @ A ) @ ( uminus_uminus @ ( set @ A ) @ A2 ) )
= A2 ) ).
% double_complement
%----Type constructors (39)
thf(tcon_HOL_Obool___Lattices_Obounded__lattice,axiom,
bounded_lattice @ $o @ ( type2 @ $o ) ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice_1,axiom,
! [A6: $tType] : ( bounded_lattice @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice_2,axiom,
! [A6: $tType,A7: $tType] :
( ( bounded_lattice @ A7 @ ( type2 @ A7 ) )
=> ( bounded_lattice @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice__top,axiom,
! [A6: $tType,A7: $tType] :
( ( bounded_lattice @ A7 @ ( type2 @ A7 ) )
=> ( bounded_lattice_top @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Lattices_Osemilattice__sup,axiom,
! [A6: $tType,A7: $tType] :
( ( semilattice_sup @ A7 @ ( type2 @ A7 ) )
=> ( semilattice_sup @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Lattices_Oboolean__algebra,axiom,
! [A6: $tType,A7: $tType] :
( ( boolean_algebra @ A7 @ ( type2 @ A7 ) )
=> ( boolean_algebra @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Lattices_Olattice,axiom,
! [A6: $tType,A7: $tType] :
( ( lattice @ A7 @ ( type2 @ A7 ) )
=> ( lattice @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Orderings_Otop,axiom,
! [A6: $tType,A7: $tType] :
( ( top @ A7 @ ( type2 @ A7 ) )
=> ( top @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_fun___Groups_Ouminus,axiom,
! [A6: $tType,A7: $tType] :
( ( uminus @ A7 @ ( type2 @ A7 ) )
=> ( uminus @ ( A6 > A7 ) @ ( type2 @ ( A6 > A7 ) ) ) ) ).
thf(tcon_Nat_Onat___Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduct,axiom,
semiri456707255roduct @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
ordere779506340up_add @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
cancel_semigroup_add @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Lattices_Osemilattice__sup_3,axiom,
semilattice_sup @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Oab__semigroup__mult,axiom,
ab_semigroup_mult @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Ocomm__monoid__mult,axiom,
comm_monoid_mult @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Oab__semigroup__add,axiom,
ab_semigroup_add @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Rings_Ocomm__semiring__1,axiom,
comm_semiring_1 @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Osemigroup__mult,axiom,
semigroup_mult @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Num_Osemiring__numeral,axiom,
semiring_numeral @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Osemigroup__add,axiom,
semigroup_add @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Rings_Ocomm__semiring,axiom,
comm_semiring @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Nat_Osemiring__char__0,axiom,
semiring_char_0 @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Omonoid__mult,axiom,
monoid_mult @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Lattices_Olattice_4,axiom,
lattice @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Rings_Osemiring,axiom,
semiring @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Num_Onumeral,axiom,
numeral @ nat @ ( type2 @ nat ) ).
thf(tcon_Nat_Onat___Groups_Oone,axiom,
one @ nat @ ( type2 @ nat ) ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice__top_5,axiom,
! [A6: $tType] : ( bounded_lattice_top @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_Set_Oset___Lattices_Osemilattice__sup_6,axiom,
! [A6: $tType] : ( semilattice_sup @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_Set_Oset___Lattices_Oboolean__algebra_7,axiom,
! [A6: $tType] : ( boolean_algebra @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_Set_Oset___Lattices_Olattice_8,axiom,
! [A6: $tType] : ( lattice @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_Set_Oset___Orderings_Otop_9,axiom,
! [A6: $tType] : ( top @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_Set_Oset___Groups_Ouminus_10,axiom,
! [A6: $tType] : ( uminus @ ( set @ A6 ) @ ( type2 @ ( set @ A6 ) ) ) ).
thf(tcon_HOL_Obool___Lattices_Obounded__lattice__top_11,axiom,
bounded_lattice_top @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Lattices_Osemilattice__sup_12,axiom,
semilattice_sup @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Lattices_Oboolean__algebra_13,axiom,
boolean_algebra @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Lattices_Olattice_14,axiom,
lattice @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Orderings_Otop_15,axiom,
top @ $o @ ( type2 @ $o ) ).
thf(tcon_HOL_Obool___Groups_Ouminus_16,axiom,
uminus @ $o @ ( type2 @ $o ) ).
%----Conjectures (1)
thf(conj_0,conjecture,
member @ a @ x @ ( image @ nat @ a @ ( stream370371455e_snth @ a @ ( stream865922174rleave @ a @ s1 @ s2 ) ) @ ( top_top @ ( set @ nat ) ) ) ).
%------------------------------------------------------------------------------