TPTP Problem File: ITP076^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP076^2 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer HF problem prob_850__5339526_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 : HF/prob_850__5339526_1 [Des21]
% Status : Theorem
% Rating : 0.00 v7.5.0
% Syntax : Number of formulae : 355 ( 155 unt; 56 typ; 0 def)
% Number of atoms : 648 ( 339 equ; 0 cnn)
% Maximal formula atoms : 5 ( 2 avg)
% Number of connectives : 2796 ( 52 ~; 8 |; 46 &;2477 @)
% ( 0 <=>; 213 =>; 0 <=; 0 <~>)
% Maximal formula depth : 15 ( 5 avg)
% Number of types : 3 ( 2 usr)
% Number of type conns : 149 ( 149 >; 0 *; 0 +; 0 <<)
% Number of symbols : 55 ( 54 usr; 2 con; 0-5 aty)
% Number of variables : 901 ( 51 ^; 794 !; 25 ?; 901 :)
% ( 31 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:17.517
%------------------------------------------------------------------------------
% Could-be-implicit typings (3)
thf(ty_t_HF__Mirabelle__fsbjehakzm_Ohf,type,
hF_Mirabelle_hf: $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
% Explicit typings (53)
thf(sy_cl_Lattices_Obounded__lattice,type,
bounded_lattice:
!>[A: $tType] : $o ).
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ozero,type,
zero:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Otop,type,
top:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ogroup__add,type,
group_add:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Olattice,type,
lattice:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Omonoid__add,type,
monoid_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Osemigroup__add,type,
semigroup_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocomm__monoid__add,type,
comm_monoid_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Oab__semigroup__add,type,
ab_semigroup_add:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Odistrib__lattice,type,
distrib_lattice:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Osemilattice__inf,type,
semilattice_inf:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Osemilattice__sup,type,
semilattice_sup:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocancel__semigroup__add,type,
cancel_semigroup_add:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Obounded__lattice__top,type,
bounded_lattice_top:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
cancel1352612707id_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Olinordered__ab__group__add,type,
linord219039673up_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
ordere779506340up_add:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Obounded__semilattice__inf__top,type,
bounde1561333602nf_top:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
canoni770627133id_add:
!>[A: $tType] : $o ).
thf(sy_c_Groups_Oplus__class_Oplus,type,
plus_plus:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Groups_Ozero__class_Ozero,type,
zero_zero:
!>[A: $tType] : A ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHCollect,type,
hF_Mir1687042746ollect: ( hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHF,type,
hF_Mirabelle_HF: ( set @ hF_Mirabelle_hf ) > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHInter,type,
hF_Mirabelle_HInter: hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHUnion,type,
hF_Mirabelle_HUnion: hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OPrimReplace,type,
hF_Mir569462966eplace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_ORepFun,type,
hF_Mirabelle_RepFun: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf ) > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OReplace,type,
hF_Mirabelle_Replace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohcard,type,
hF_Mirabelle_hcard: hF_Mirabelle_hf > nat ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohf_OAbs__hf,type,
hF_Mirabelle_Abs_hf: nat > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohf_ORep__hf,type,
hF_Mirabelle_Rep_hf: hF_Mirabelle_hf > nat ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfset,type,
hF_Mirabelle_hfset: hF_Mirabelle_hf > ( set @ hF_Mirabelle_hf ) ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfst,type,
hF_Mirabelle_hfst: hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfunction,type,
hF_Mir859708136nction: hF_Mirabelle_hf > $o ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohinsert,type,
hF_Mirabelle_hinsert: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohmem,type,
hF_Mirabelle_hmem: hF_Mirabelle_hf > hF_Mirabelle_hf > $o ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohpair,type,
hF_Mirabelle_hpair: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohrelation,type,
hF_Mir1093797708lation: hF_Mirabelle_hf > $o ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohrestrict,type,
hF_Mir165288108strict: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsnd,type,
hF_Mirabelle_hsnd: hF_Mirabelle_hf > hF_Mirabelle_hf ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsplit,type,
hF_Mirabelle_hsplit:
!>[A: $tType] : ( ( hF_Mirabelle_hf > hF_Mirabelle_hf > A ) > hF_Mirabelle_hf > A ) ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_Ois__hpair,type,
hF_Mir796903520_hpair: hF_Mirabelle_hf > $o ).
thf(sy_c_Lattices_Oinf__class_Oinf,type,
inf_inf:
!>[A: $tType] : ( A > 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_Orderings_Otop__class_Otop,type,
top_top:
!>[A: $tType] : A ).
thf(sy_c_Set_OCollect,type,
collect:
!>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
thf(sy_c_Set_Oinsert,type,
insert:
!>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).
thf(sy_c_Typedef_Otype__definition,type,
type_definition:
!>[B: $tType,A: $tType] : ( ( B > A ) > ( A > B ) > ( set @ A ) > $o ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_r,type,
r: hF_Mirabelle_hf ).
thf(sy_v_x,type,
x: hF_Mirabelle_hf ).
% Relevant facts (255)
thf(fact_0_hrelation__restr,axiom,
! [R: hF_Mirabelle_hf,X: hF_Mirabelle_hf] : ( hF_Mir1093797708lation @ ( hF_Mir165288108strict @ R @ X ) ) ).
% hrelation_restr
thf(fact_1_hfunction__def,axiom,
( hF_Mir859708136nction
= ( ^ [R2: hF_Mirabelle_hf] :
! [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ ( hF_Mirabelle_hpair @ X2 @ Y ) @ R2 )
=> ! [Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ ( hF_Mirabelle_hpair @ X2 @ Y2 ) @ R2 )
=> ( Y = Y2 ) ) ) ) ) ).
% hfunction_def
thf(fact_2_hrestrict__iff,axiom,
! [Z: hF_Mirabelle_hf,R: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Z @ ( hF_Mir165288108strict @ R @ A2 ) )
= ( ( hF_Mirabelle_hmem @ Z @ R )
& ? [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
( ( Z
= ( hF_Mirabelle_hpair @ X2 @ Y ) )
& ( hF_Mirabelle_hmem @ X2 @ A2 ) ) ) ) ).
% hrestrict_iff
thf(fact_3_hpair__iff,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,A4: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hpair @ A3 @ B2 )
= ( hF_Mirabelle_hpair @ A4 @ B3 ) )
= ( ( A3 = A4 )
& ( B2 = B3 ) ) ) ).
% hpair_iff
thf(fact_4_Rep__hf__inject,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_Rep_hf @ X )
= ( hF_Mirabelle_Rep_hf @ Y3 ) )
= ( X = Y3 ) ) ).
% Rep_hf_inject
thf(fact_5_hf__equalityI,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ! [X3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ A3 )
= ( hF_Mirabelle_hmem @ X3 @ B2 ) )
=> ( A3 = B2 ) ) ).
% hf_equalityI
thf(fact_6_hf__ext,axiom,
( ( ^ [Y4: hF_Mirabelle_hf,Z2: hF_Mirabelle_hf] : ( Y4 = Z2 ) )
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] :
! [X2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ A5 )
= ( hF_Mirabelle_hmem @ X2 @ B4 ) ) ) ) ).
% hf_ext
thf(fact_7_hmem__ne,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ Y3 )
=> ( X != Y3 ) ) ).
% hmem_ne
thf(fact_8_replacement,axiom,
! [X: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U @ X )
=> ( ( R3 @ U @ V )
=> ( ( R3 @ U @ V2 )
=> ( V2 = V ) ) ) )
=> ? [Z3: hF_Mirabelle_hf] :
! [V3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V3 @ Z3 )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ X )
& ( R3 @ U2 @ V3 ) ) ) ) ) ).
% replacement
thf(fact_9_binary__union,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
? [Z3: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z3 )
= ( ( hF_Mirabelle_hmem @ U3 @ X )
| ( hF_Mirabelle_hmem @ U3 @ Y3 ) ) ) ).
% binary_union
thf(fact_10_hmem__not__sym,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
~ ( ( hF_Mirabelle_hmem @ X @ Y3 )
& ( hF_Mirabelle_hmem @ Y3 @ X ) ) ).
% hmem_not_sym
thf(fact_11_hpair__inject,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,A4: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hpair @ A3 @ B2 )
= ( hF_Mirabelle_hpair @ A4 @ B3 ) )
=> ~ ( ( A3 = A4 )
=> ( B2 != B3 ) ) ) ).
% hpair_inject
thf(fact_12_union__of__set,axiom,
! [X: hF_Mirabelle_hf] :
? [Z3: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z3 )
= ( ? [Y: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y @ X )
& ( hF_Mirabelle_hmem @ U3 @ Y ) ) ) ) ).
% union_of_set
thf(fact_13_comprehension,axiom,
! [X: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
? [Z3: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z3 )
= ( ( hF_Mirabelle_hmem @ U3 @ X )
& ( P @ U3 ) ) ) ).
% comprehension
thf(fact_14_hmem__not__refl,axiom,
! [X: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ X @ X ) ).
% hmem_not_refl
thf(fact_15_hpair__neq__fst,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ A3 @ B2 )
!= A3 ) ).
% hpair_neq_fst
thf(fact_16_hpair__neq__snd,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ A3 @ B2 )
!= B2 ) ).
% hpair_neq_snd
thf(fact_17_replacement__fun,axiom,
! [X: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
? [Z3: hF_Mirabelle_hf] :
! [V3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V3 @ Z3 )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ X )
& ( V3
= ( F @ U2 ) ) ) ) ) ).
% replacement_fun
thf(fact_18_hsplit,axiom,
! [A: $tType,C: hF_Mirabelle_hf > hF_Mirabelle_hf > A,A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hsplit @ A @ C @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
= ( C @ A3 @ B2 ) ) ).
% hsplit
thf(fact_19_hfst__conv,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hfst @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
= A3 ) ).
% hfst_conv
thf(fact_20_hsnd__conv,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hsnd @ ( hF_Mirabelle_hpair @ A3 @ B2 ) )
= B2 ) ).
% hsnd_conv
thf(fact_21_hrelation__def,axiom,
( hF_Mir1093797708lation
= ( ^ [R2: hF_Mirabelle_hf] :
! [Z4: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Z4 @ R2 )
=> ( hF_Mir796903520_hpair @ Z4 ) ) ) ) ).
% hrelation_def
thf(fact_22_is__hpair__def,axiom,
( hF_Mir796903520_hpair
= ( ^ [Z4: hF_Mirabelle_hf] :
? [X2: hF_Mirabelle_hf,Y: hF_Mirabelle_hf] :
( Z4
= ( hF_Mirabelle_hpair @ X2 @ Y ) ) ) ) ).
% is_hpair_def
thf(fact_23_PrimReplace__iff,axiom,
! [A2: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,V4: hF_Mirabelle_hf] :
( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U @ A2 )
=> ( ( R3 @ U @ V )
=> ( ( R3 @ U @ V2 )
=> ( V2 = V ) ) ) )
=> ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mir569462966eplace @ A2 @ R3 ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A2 )
& ( R3 @ U2 @ V4 ) ) ) ) ) ).
% PrimReplace_iff
thf(fact_24_HUnion__iff,axiom,
! [X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ ( hF_Mirabelle_HUnion @ A2 ) )
= ( ? [Y: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y @ A2 )
& ( hF_Mirabelle_hmem @ X @ Y ) ) ) ) ).
% HUnion_iff
thf(fact_25_Replace__iff,axiom,
! [V4: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_Replace @ A2 @ R3 ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A2 )
& ( R3 @ U2 @ V4 )
& ! [Y: hF_Mirabelle_hf] :
( ( R3 @ U2 @ Y )
=> ( Y = V4 ) ) ) ) ) ).
% Replace_iff
thf(fact_26_HCollect__iff,axiom,
! [X: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ ( hF_Mir1687042746ollect @ P @ A2 ) )
= ( ( P @ X )
& ( hF_Mirabelle_hmem @ X @ A2 ) ) ) ).
% HCollect_iff
thf(fact_27_RepFun__iff,axiom,
! [V4: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_RepFun @ A2 @ F ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A2 )
& ( V4
= ( F @ U2 ) ) ) ) ) ).
% RepFun_iff
thf(fact_28_Rep__hf__inverse,axiom,
! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_Abs_hf @ ( hF_Mirabelle_Rep_hf @ X ) )
= X ) ).
% Rep_hf_inverse
thf(fact_29_RepFun__cong,axiom,
! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf,G: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( A2 = B5 )
=> ( ! [X3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ B5 )
=> ( ( F @ X3 )
= ( G @ X3 ) ) )
=> ( ( hF_Mirabelle_RepFun @ A2 @ F )
= ( hF_Mirabelle_RepFun @ B5 @ G ) ) ) ) ).
% RepFun_cong
thf(fact_30_Replace__cong,axiom,
! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,P: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,Q: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( A2 = B5 )
=> ( ! [X3: hF_Mirabelle_hf,Y5: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ B5 )
=> ( ( P @ X3 @ Y5 )
= ( Q @ X3 @ Y5 ) ) )
=> ( ( hF_Mirabelle_Replace @ A2 @ P )
= ( hF_Mirabelle_Replace @ B5 @ Q ) ) ) ) ).
% Replace_cong
thf(fact_31_hmem__Sup__ne,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ Y3 )
=> ( ( hF_Mirabelle_HUnion @ X )
!= Y3 ) ) ).
% hmem_Sup_ne
thf(fact_32_Abs__hf__inverse,axiom,
! [Y3: nat] :
( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
=> ( ( hF_Mirabelle_Rep_hf @ ( hF_Mirabelle_Abs_hf @ Y3 ) )
= Y3 ) ) ).
% Abs_hf_inverse
thf(fact_33_zero__notin__hpair,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ ( zero_zero @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hpair @ X @ Y3 ) ) ).
% zero_notin_hpair
thf(fact_34_hmem__def,axiom,
( hF_Mirabelle_hmem
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( member @ hF_Mirabelle_hf @ A5 @ ( hF_Mirabelle_hfset @ B4 ) ) ) ) ).
% hmem_def
thf(fact_35_HCollect__hempty,axiom,
! [P: hF_Mirabelle_hf > $o] :
( ( hF_Mir1687042746ollect @ P @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% HCollect_hempty
thf(fact_36_HUnion__hempty,axiom,
( ( hF_Mirabelle_HUnion @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% HUnion_hempty
thf(fact_37_Replace__0,axiom,
! [R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_Replace @ ( zero_zero @ hF_Mirabelle_hf ) @ R3 )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% Replace_0
thf(fact_38_RepFun__0,axiom,
! [F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_RepFun @ ( zero_zero @ hF_Mirabelle_hf ) @ F )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% RepFun_0
thf(fact_39_RepFun__hinsert,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_RepFun @ ( hF_Mirabelle_hinsert @ A3 @ B2 ) @ F )
= ( hF_Mirabelle_hinsert @ ( F @ A3 ) @ ( hF_Mirabelle_RepFun @ B2 @ F ) ) ) ).
% RepFun_hinsert
thf(fact_40_hrelation__hunion,axiom,
! [F: hF_Mirabelle_hf,G: hF_Mirabelle_hf] :
( ( hF_Mir1093797708lation @ ( sup_sup @ hF_Mirabelle_hf @ F @ G ) )
= ( ( hF_Mir1093797708lation @ F )
& ( hF_Mir1093797708lation @ G ) ) ) ).
% hrelation_hunion
thf(fact_41_hmem__hinsert,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,C: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ A3 @ ( hF_Mirabelle_hinsert @ B2 @ C ) )
= ( ( A3 = B2 )
| ( hF_Mirabelle_hmem @ A3 @ C ) ) ) ).
% hmem_hinsert
thf(fact_42_singleton__eq__iff,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hinsert @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) )
= ( A3 = B2 ) ) ).
% singleton_eq_iff
thf(fact_43_hunion__iff,axiom,
! [X: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ ( sup_sup @ hF_Mirabelle_hf @ A3 @ B2 ) )
= ( ( hF_Mirabelle_hmem @ X @ A3 )
| ( hF_Mirabelle_hmem @ X @ B2 ) ) ) ).
% hunion_iff
thf(fact_44_hunion__hempty__left,axiom,
! [A2: hF_Mirabelle_hf] :
( ( sup_sup @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A2 )
= A2 ) ).
% hunion_hempty_left
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A3: A,P: A > $o] :
( ( member @ A @ A3 @ ( collect @ A @ P ) )
= ( P @ A3 ) ) ).
% 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_hunion__hempty__right,axiom,
! [A2: hF_Mirabelle_hf] :
( ( sup_sup @ hF_Mirabelle_hf @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
= A2 ) ).
% hunion_hempty_right
thf(fact_50_RepFun__hunion,axiom,
! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_RepFun @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) @ F )
= ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_RepFun @ A2 @ F ) @ ( hF_Mirabelle_RepFun @ B5 @ F ) ) ) ).
% RepFun_hunion
thf(fact_51_HUnion__hunion,axiom,
! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HUnion @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) )
= ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_HUnion @ A2 ) @ ( hF_Mirabelle_HUnion @ B5 ) ) ) ).
% HUnion_hunion
thf(fact_52_Replace__hunion,axiom,
! [A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,R3: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_Replace @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) @ R3 )
= ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_Replace @ A2 @ R3 ) @ ( hF_Mirabelle_Replace @ B5 @ R3 ) ) ) ).
% Replace_hunion
thf(fact_53_HUnion__hinsert,axiom,
! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HUnion @ ( hF_Mirabelle_hinsert @ A3 @ A2 ) )
= ( sup_sup @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_HUnion @ A2 ) ) ) ).
% HUnion_hinsert
thf(fact_54_hf__induct__ax,axiom,
! [P: hF_Mirabelle_hf > $o,X: hF_Mirabelle_hf] :
( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ! [X3: hF_Mirabelle_hf] :
( ( P @ X3 )
=> ! [Y5: hF_Mirabelle_hf] :
( ( P @ Y5 )
=> ( P @ ( hF_Mirabelle_hinsert @ Y5 @ X3 ) ) ) )
=> ( P @ X ) ) ) ).
% hf_induct_ax
thf(fact_55_hinsert__eq__sup,axiom,
( hF_Mirabelle_hinsert
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( sup_sup @ hF_Mirabelle_hf @ B4 @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).
% hinsert_eq_sup
thf(fact_56_hinsert__commute,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf,Z: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hinsert @ X @ ( hF_Mirabelle_hinsert @ Y3 @ Z ) )
= ( hF_Mirabelle_hinsert @ Y3 @ ( hF_Mirabelle_hinsert @ X @ Z ) ) ) ).
% hinsert_commute
thf(fact_57_HF__Mirabelle__fsbjehakzm_Odoubleton__eq__iff,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf,C: hF_Mirabelle_hf,D: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hinsert @ A3 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) )
= ( hF_Mirabelle_hinsert @ C @ ( hF_Mirabelle_hinsert @ D @ ( zero_zero @ hF_Mirabelle_hf ) ) ) )
= ( ( ( A3 = C )
& ( B2 = D ) )
| ( ( A3 = D )
& ( B2 = C ) ) ) ) ).
% HF_Mirabelle_fsbjehakzm.doubleton_eq_iff
thf(fact_58_hinsert__nonempty,axiom,
! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hinsert @ A3 @ A2 )
!= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinsert_nonempty
thf(fact_59_hunion__hinsert__left,axiom,
! [X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,B5: hF_Mirabelle_hf] :
( ( sup_sup @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
= ( hF_Mirabelle_hinsert @ X @ ( sup_sup @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) ).
% hunion_hinsert_left
thf(fact_60_hunion__hinsert__right,axiom,
! [B5: hF_Mirabelle_hf,X: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( sup_sup @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
= ( hF_Mirabelle_hinsert @ X @ ( sup_sup @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) ).
% hunion_hinsert_right
thf(fact_61_hf__cases,axiom,
! [Y3: hF_Mirabelle_hf] :
( ( Y3
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ~ ! [A6: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
( ( Y3
= ( hF_Mirabelle_hinsert @ A6 @ B6 ) )
=> ( hF_Mirabelle_hmem @ A6 @ B6 ) ) ) ).
% hf_cases
thf(fact_62_hf__induct,axiom,
! [P: hF_Mirabelle_hf > $o,Z: hF_Mirabelle_hf] :
( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ! [X3: hF_Mirabelle_hf,Y5: hF_Mirabelle_hf] :
( ( P @ X3 )
=> ( ( P @ Y5 )
=> ( ~ ( hF_Mirabelle_hmem @ X3 @ Y5 )
=> ( P @ ( hF_Mirabelle_hinsert @ X3 @ Y5 ) ) ) ) )
=> ( P @ Z ) ) ) ).
% hf_induct
thf(fact_63_hpair__def,axiom,
( hF_Mirabelle_hpair
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ B4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).
% hpair_def
thf(fact_64_hpair__def_H,axiom,
( hF_Mirabelle_hpair
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ A5 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A5 @ ( hF_Mirabelle_hinsert @ B4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).
% hpair_def'
thf(fact_65_hinsert__iff,axiom,
! [Z: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf,X: hF_Mirabelle_hf] :
( ( Z
= ( hF_Mirabelle_hinsert @ Y3 @ X ) )
= ( ! [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ Z )
= ( ( hF_Mirabelle_hmem @ U2 @ X )
| ( U2 = Y3 ) ) ) ) ) ).
% hinsert_iff
thf(fact_66_hemptyE,axiom,
! [A3: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hemptyE
thf(fact_67_hempty__iff,axiom,
! [Z: hF_Mirabelle_hf] :
( ( Z
= ( zero_zero @ hF_Mirabelle_hf ) )
= ( ! [X2: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ X2 @ Z ) ) ) ).
% hempty_iff
thf(fact_68_hmem__hempty,axiom,
! [A3: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hmem_hempty
thf(fact_69_hpair__nonzero,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ X @ Y3 )
!= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hpair_nonzero
thf(fact_70_Rep__hf,axiom,
! [X: hF_Mirabelle_hf] : ( member @ nat @ ( hF_Mirabelle_Rep_hf @ X ) @ ( top_top @ ( set @ nat ) ) ) ).
% Rep_hf
thf(fact_71_Rep__hf__cases,axiom,
! [Y3: nat] :
( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
=> ~ ! [X3: hF_Mirabelle_hf] :
( Y3
!= ( hF_Mirabelle_Rep_hf @ X3 ) ) ) ).
% Rep_hf_cases
thf(fact_72_Rep__hf__induct,axiom,
! [Y3: nat,P: nat > $o] :
( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
=> ( ! [X3: hF_Mirabelle_hf] : ( P @ ( hF_Mirabelle_Rep_hf @ X3 ) )
=> ( P @ Y3 ) ) ) ).
% Rep_hf_induct
thf(fact_73_Abs__hf__cases,axiom,
! [X: hF_Mirabelle_hf] :
~ ! [Y5: nat] :
( ( X
= ( hF_Mirabelle_Abs_hf @ Y5 ) )
=> ~ ( member @ nat @ Y5 @ ( top_top @ ( set @ nat ) ) ) ) ).
% Abs_hf_cases
thf(fact_74_Abs__hf__induct,axiom,
! [P: hF_Mirabelle_hf > $o,X: hF_Mirabelle_hf] :
( ! [Y5: nat] :
( ( member @ nat @ Y5 @ ( top_top @ ( set @ nat ) ) )
=> ( P @ ( hF_Mirabelle_Abs_hf @ Y5 ) ) )
=> ( P @ X ) ) ).
% Abs_hf_induct
thf(fact_75_Abs__hf__inject,axiom,
! [X: nat,Y3: nat] :
( ( member @ nat @ X @ ( top_top @ ( set @ nat ) ) )
=> ( ( member @ nat @ Y3 @ ( top_top @ ( set @ nat ) ) )
=> ( ( ( hF_Mirabelle_Abs_hf @ X )
= ( hF_Mirabelle_Abs_hf @ Y3 ) )
= ( X = Y3 ) ) ) ) ).
% Abs_hf_inject
thf(fact_76_hrelation__0,axiom,
hF_Mir1093797708lation @ ( zero_zero @ hF_Mirabelle_hf ) ).
% hrelation_0
thf(fact_77_sup__top__left,axiom,
! [A: $tType] :
( ( bounded_lattice_top @ A )
=> ! [X: A] :
( ( sup_sup @ A @ ( top_top @ A ) @ X )
= ( top_top @ A ) ) ) ).
% sup_top_left
thf(fact_78_sup__top__right,axiom,
! [A: $tType] :
( ( bounded_lattice_top @ A )
=> ! [X: A] :
( ( sup_sup @ A @ X @ ( top_top @ A ) )
= ( top_top @ A ) ) ) ).
% sup_top_right
thf(fact_79_HInter__iff,axiom,
! [A2: hF_Mirabelle_hf,X: hF_Mirabelle_hf] :
( ( A2
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ( hF_Mirabelle_hmem @ X @ ( hF_Mirabelle_HInter @ A2 ) )
= ( ! [Y: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y @ A2 )
=> ( hF_Mirabelle_hmem @ X @ Y ) ) ) ) ) ).
% HInter_iff
thf(fact_80_sup__apply,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_sup @ B )
=> ( ( sup_sup @ ( A > B ) )
= ( ^ [F2: A > B,G2: A > B,X2: A] : ( sup_sup @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).
% sup_apply
thf(fact_81_sup_Oidem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [A3: A] :
( ( sup_sup @ A @ A3 @ A3 )
= A3 ) ) ).
% sup.idem
thf(fact_82_sup__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [X: A] :
( ( sup_sup @ A @ X @ X )
= X ) ) ).
% sup_idem
thf(fact_83_sup_Oleft__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [A3: A,B2: A] :
( ( sup_sup @ A @ A3 @ ( sup_sup @ A @ A3 @ B2 ) )
= ( sup_sup @ A @ A3 @ B2 ) ) ) ).
% sup.left_idem
thf(fact_84_sup__left__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [X: A,Y3: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
= ( sup_sup @ A @ X @ Y3 ) ) ) ).
% sup_left_idem
thf(fact_85_sup_Oright__idem,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [A3: A,B2: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B2 ) @ B2 )
= ( sup_sup @ A @ A3 @ B2 ) ) ) ).
% sup.right_idem
thf(fact_86_HInter__hempty,axiom,
( ( hF_Mirabelle_HInter @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% HInter_hempty
thf(fact_87_sup__left__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
= ( sup_sup @ A @ Y3 @ ( sup_sup @ A @ X @ Z ) ) ) ) ).
% sup_left_commute
thf(fact_88_sup_Oleft__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [B2: A,A3: A,C: A] :
( ( sup_sup @ A @ B2 @ ( sup_sup @ A @ A3 @ C ) )
= ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B2 @ C ) ) ) ) ).
% sup.left_commute
thf(fact_89_sup__commute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ( ( sup_sup @ A )
= ( ^ [X2: A,Y: A] : ( sup_sup @ A @ Y @ X2 ) ) ) ) ).
% sup_commute
thf(fact_90_sup_Ocommute,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ( ( sup_sup @ A )
= ( ^ [A5: A,B4: A] : ( sup_sup @ A @ B4 @ A5 ) ) ) ) ).
% sup.commute
thf(fact_91_sup__assoc,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y3 ) @ Z )
= ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) ) ) ) ).
% sup_assoc
thf(fact_92_sup_Oassoc,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [A3: A,B2: A,C: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B2 ) @ C )
= ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B2 @ C ) ) ) ) ).
% sup.assoc
thf(fact_93_boolean__algebra__cancel_Osup2,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [B5: A,K: A,B2: A,A3: A] :
( ( B5
= ( sup_sup @ A @ K @ B2 ) )
=> ( ( sup_sup @ A @ A3 @ B5 )
= ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B2 ) ) ) ) ) ).
% boolean_algebra_cancel.sup2
thf(fact_94_boolean__algebra__cancel_Osup1,axiom,
! [A: $tType] :
( ( semilattice_sup @ A )
=> ! [A2: A,K: A,A3: A,B2: A] :
( ( A2
= ( sup_sup @ A @ K @ A3 ) )
=> ( ( sup_sup @ A @ A2 @ B2 )
= ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B2 ) ) ) ) ) ).
% boolean_algebra_cancel.sup1
thf(fact_95_sup__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_sup @ 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_96_inf__sup__aci_I5_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ( ( sup_sup @ A )
= ( ^ [X2: A,Y: A] : ( sup_sup @ A @ Y @ X2 ) ) ) ) ).
% inf_sup_aci(5)
thf(fact_97_inf__sup__aci_I6_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( sup_sup @ A @ ( sup_sup @ A @ X @ Y3 ) @ Z )
= ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) ) ) ) ).
% inf_sup_aci(6)
thf(fact_98_inf__sup__aci_I7_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
= ( sup_sup @ A @ Y3 @ ( sup_sup @ A @ X @ Z ) ) ) ) ).
% inf_sup_aci(7)
thf(fact_99_inf__sup__aci_I8_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A] :
( ( sup_sup @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
= ( sup_sup @ A @ X @ Y3 ) ) ) ).
% inf_sup_aci(8)
thf(fact_100_iso__tuple__UNIV__I,axiom,
! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% iso_tuple_UNIV_I
thf(fact_101_UNIV__I,axiom,
! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% UNIV_I
thf(fact_102_top__apply,axiom,
! [C2: $tType,D2: $tType] :
( ( top @ C2 )
=> ( ( top_top @ ( D2 > C2 ) )
= ( ^ [X2: D2] : ( top_top @ C2 ) ) ) ) ).
% top_apply
thf(fact_103_HInter__hinsert,axiom,
! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( A2
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ( hF_Mirabelle_HInter @ ( hF_Mirabelle_hinsert @ A3 @ A2 ) )
= ( inf_inf @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_HInter @ A2 ) ) ) ) ).
% HInter_hinsert
thf(fact_104_type__definition__hf,axiom,
type_definition @ hF_Mirabelle_hf @ nat @ hF_Mirabelle_Rep_hf @ hF_Mirabelle_Abs_hf @ ( top_top @ ( set @ nat ) ) ).
% type_definition_hf
thf(fact_105_inf__right__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X: A,Y3: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Y3 )
= ( inf_inf @ A @ X @ Y3 ) ) ) ).
% inf_right_idem
thf(fact_106_inf_Oright__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A3: A,B2: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ A3 @ B2 ) @ B2 )
= ( inf_inf @ A @ A3 @ B2 ) ) ) ).
% inf.right_idem
thf(fact_107_inf__left__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X: A,Y3: A] :
( ( inf_inf @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
= ( inf_inf @ A @ X @ Y3 ) ) ) ).
% inf_left_idem
thf(fact_108_inf_Oleft__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A3: A,B2: A] :
( ( inf_inf @ A @ A3 @ ( inf_inf @ A @ A3 @ B2 ) )
= ( inf_inf @ A @ A3 @ B2 ) ) ) ).
% inf.left_idem
thf(fact_109_inf__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X: A] :
( ( inf_inf @ A @ X @ X )
= X ) ) ).
% inf_idem
thf(fact_110_inf_Oidem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A3: A] :
( ( inf_inf @ A @ A3 @ A3 )
= A3 ) ) ).
% inf.idem
thf(fact_111_inf__apply,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_inf @ B )
=> ( ( inf_inf @ ( A > B ) )
= ( ^ [F2: A > B,G2: A > B,X2: A] : ( inf_inf @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).
% inf_apply
thf(fact_112_inf__top_Oright__neutral,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [A3: A] :
( ( inf_inf @ A @ A3 @ ( top_top @ A ) )
= A3 ) ) ).
% inf_top.right_neutral
thf(fact_113_inf__top_Oneutr__eq__iff,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [A3: A,B2: A] :
( ( ( top_top @ A )
= ( inf_inf @ A @ A3 @ B2 ) )
= ( ( A3
= ( top_top @ A ) )
& ( B2
= ( top_top @ A ) ) ) ) ) ).
% inf_top.neutr_eq_iff
thf(fact_114_inf__top_Oleft__neutral,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [A3: A] :
( ( inf_inf @ A @ ( top_top @ A ) @ A3 )
= A3 ) ) ).
% inf_top.left_neutral
thf(fact_115_inf__top_Oeq__neutr__iff,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [A3: A,B2: A] :
( ( ( inf_inf @ A @ A3 @ B2 )
= ( top_top @ A ) )
= ( ( A3
= ( top_top @ A ) )
& ( B2
= ( top_top @ A ) ) ) ) ) ).
% inf_top.eq_neutr_iff
thf(fact_116_top__eq__inf__iff,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [X: A,Y3: A] :
( ( ( top_top @ A )
= ( inf_inf @ A @ X @ Y3 ) )
= ( ( X
= ( top_top @ A ) )
& ( Y3
= ( top_top @ A ) ) ) ) ) ).
% top_eq_inf_iff
thf(fact_117_inf__eq__top__iff,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [X: A,Y3: A] :
( ( ( inf_inf @ A @ X @ Y3 )
= ( top_top @ A ) )
= ( ( X
= ( top_top @ A ) )
& ( Y3
= ( top_top @ A ) ) ) ) ) ).
% inf_eq_top_iff
thf(fact_118_inf__top__right,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [X: A] :
( ( inf_inf @ A @ X @ ( top_top @ A ) )
= X ) ) ).
% inf_top_right
thf(fact_119_inf__top__left,axiom,
! [A: $tType] :
( ( bounde1561333602nf_top @ A )
=> ! [X: A] :
( ( inf_inf @ A @ ( top_top @ A ) @ X )
= X ) ) ).
% inf_top_left
thf(fact_120_inf__sup__absorb,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A] :
( ( inf_inf @ A @ X @ ( sup_sup @ A @ X @ Y3 ) )
= X ) ) ).
% inf_sup_absorb
thf(fact_121_sup__inf__absorb,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A] :
( ( sup_sup @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
= X ) ) ).
% sup_inf_absorb
thf(fact_122_hinter__iff,axiom,
! [U4: hF_Mirabelle_hf,X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U4 @ ( inf_inf @ hF_Mirabelle_hf @ X @ Y3 ) )
= ( ( hF_Mirabelle_hmem @ U4 @ X )
& ( hF_Mirabelle_hmem @ U4 @ Y3 ) ) ) ).
% hinter_iff
thf(fact_123_hinter__hempty__left,axiom,
! [A2: hF_Mirabelle_hf] :
( ( inf_inf @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A2 )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinter_hempty_left
thf(fact_124_hinter__hempty__right,axiom,
! [A2: hF_Mirabelle_hf] :
( ( inf_inf @ hF_Mirabelle_hf @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinter_hempty_right
thf(fact_125_Abs__hf__0,axiom,
( ( hF_Mirabelle_Abs_hf @ ( zero_zero @ nat ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% Abs_hf_0
thf(fact_126_inf__left__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
= ( inf_inf @ A @ Y3 @ ( inf_inf @ A @ X @ Z ) ) ) ) ).
% inf_left_commute
thf(fact_127_inf_Oleft__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B2: A,A3: A,C: A] :
( ( inf_inf @ A @ B2 @ ( inf_inf @ A @ A3 @ C ) )
= ( inf_inf @ A @ A3 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% inf.left_commute
thf(fact_128_inf__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ( ( inf_inf @ A )
= ( ^ [X2: A,Y: A] : ( inf_inf @ A @ Y @ X2 ) ) ) ) ).
% inf_commute
thf(fact_129_inf_Ocommute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ( ( inf_inf @ A )
= ( ^ [A5: A,B4: A] : ( inf_inf @ A @ B4 @ A5 ) ) ) ) ).
% inf.commute
thf(fact_130_inf__assoc,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Z )
= ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) ) ) ) ).
% inf_assoc
thf(fact_131_inf_Oassoc,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A3: A,B2: A,C: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ A3 @ B2 ) @ C )
= ( inf_inf @ A @ A3 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% inf.assoc
thf(fact_132_boolean__algebra__cancel_Oinf2,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B5: A,K: A,B2: A,A3: A] :
( ( B5
= ( inf_inf @ A @ K @ B2 ) )
=> ( ( inf_inf @ A @ A3 @ B5 )
= ( inf_inf @ A @ K @ ( inf_inf @ A @ A3 @ B2 ) ) ) ) ) ).
% boolean_algebra_cancel.inf2
thf(fact_133_boolean__algebra__cancel_Oinf1,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,K: A,A3: A,B2: A] :
( ( A2
= ( inf_inf @ A @ K @ A3 ) )
=> ( ( inf_inf @ A @ A2 @ B2 )
= ( inf_inf @ A @ K @ ( inf_inf @ A @ A3 @ B2 ) ) ) ) ) ).
% boolean_algebra_cancel.inf1
thf(fact_134_inf__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( semilattice_inf @ B )
=> ( ( inf_inf @ ( A > B ) )
= ( ^ [F2: A > B,G2: A > B,X2: A] : ( inf_inf @ B @ ( F2 @ X2 ) @ ( G2 @ X2 ) ) ) ) ) ).
% inf_fun_def
thf(fact_135_inf__sup__aci_I1_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ( ( inf_inf @ A )
= ( ^ [X2: A,Y: A] : ( inf_inf @ A @ Y @ X2 ) ) ) ) ).
% inf_sup_aci(1)
thf(fact_136_inf__sup__aci_I2_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X @ Y3 ) @ Z )
= ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) ) ) ) ).
% inf_sup_aci(2)
thf(fact_137_inf__sup__aci_I3_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( inf_inf @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
= ( inf_inf @ A @ Y3 @ ( inf_inf @ A @ X @ Z ) ) ) ) ).
% inf_sup_aci(3)
thf(fact_138_inf__sup__aci_I4_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A] :
( ( inf_inf @ A @ X @ ( inf_inf @ A @ X @ Y3 ) )
= ( inf_inf @ A @ X @ Y3 ) ) ) ).
% inf_sup_aci(4)
thf(fact_139_sup__inf__distrib2,axiom,
! [A: $tType] :
( ( distrib_lattice @ A )
=> ! [Y3: A,Z: A,X: A] :
( ( sup_sup @ A @ ( inf_inf @ A @ Y3 @ Z ) @ X )
= ( inf_inf @ A @ ( sup_sup @ A @ Y3 @ X ) @ ( sup_sup @ A @ Z @ X ) ) ) ) ).
% sup_inf_distrib2
thf(fact_140_sup__inf__distrib1,axiom,
! [A: $tType] :
( ( distrib_lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( sup_sup @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
= ( inf_inf @ A @ ( sup_sup @ A @ X @ Y3 ) @ ( sup_sup @ A @ X @ Z ) ) ) ) ).
% sup_inf_distrib1
thf(fact_141_inf__sup__distrib2,axiom,
! [A: $tType] :
( ( distrib_lattice @ A )
=> ! [Y3: A,Z: A,X: A] :
( ( inf_inf @ A @ ( sup_sup @ A @ Y3 @ Z ) @ X )
= ( sup_sup @ A @ ( inf_inf @ A @ Y3 @ X ) @ ( inf_inf @ A @ Z @ X ) ) ) ) ).
% inf_sup_distrib2
thf(fact_142_inf__sup__distrib1,axiom,
! [A: $tType] :
( ( distrib_lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ( inf_inf @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
= ( sup_sup @ A @ ( inf_inf @ A @ X @ Y3 ) @ ( inf_inf @ A @ X @ Z ) ) ) ) ).
% inf_sup_distrib1
thf(fact_143_distrib__imp2,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ! [X3: A,Y5: A,Z3: A] :
( ( sup_sup @ A @ X3 @ ( inf_inf @ A @ Y5 @ Z3 ) )
= ( inf_inf @ A @ ( sup_sup @ A @ X3 @ Y5 ) @ ( sup_sup @ A @ X3 @ Z3 ) ) )
=> ( ( inf_inf @ A @ X @ ( sup_sup @ A @ Y3 @ Z ) )
= ( sup_sup @ A @ ( inf_inf @ A @ X @ Y3 ) @ ( inf_inf @ A @ X @ Z ) ) ) ) ) ).
% distrib_imp2
thf(fact_144_distrib__imp1,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X: A,Y3: A,Z: A] :
( ! [X3: A,Y5: A,Z3: A] :
( ( inf_inf @ A @ X3 @ ( sup_sup @ A @ Y5 @ Z3 ) )
= ( sup_sup @ A @ ( inf_inf @ A @ X3 @ Y5 ) @ ( inf_inf @ A @ X3 @ Z3 ) ) )
=> ( ( sup_sup @ A @ X @ ( inf_inf @ A @ Y3 @ Z ) )
= ( inf_inf @ A @ ( sup_sup @ A @ X @ Y3 ) @ ( sup_sup @ A @ X @ Z ) ) ) ) ) ).
% distrib_imp1
thf(fact_145_foundation,axiom,
! [Z: hF_Mirabelle_hf] :
( ( Z
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ? [W: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ W @ Z )
& ( ( inf_inf @ hF_Mirabelle_hf @ W @ Z )
= ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).
% foundation
thf(fact_146_hinter__hinsert__right,axiom,
! [X: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X @ B5 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
= ( hF_Mirabelle_hinsert @ X @ ( inf_inf @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X @ B5 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ B5 @ ( hF_Mirabelle_hinsert @ X @ A2 ) )
= ( inf_inf @ hF_Mirabelle_hf @ B5 @ A2 ) ) ) ) ).
% hinter_hinsert_right
thf(fact_147_hinter__hinsert__left,axiom,
! [X: hF_Mirabelle_hf,B5: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X @ B5 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
= ( hF_Mirabelle_hinsert @ X @ ( inf_inf @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X @ B5 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X @ A2 ) @ B5 )
= ( inf_inf @ hF_Mirabelle_hf @ A2 @ B5 ) ) ) ) ).
% hinter_hinsert_left
thf(fact_148_zero__reorient,axiom,
! [A: $tType] :
( ( zero @ A )
=> ! [X: A] :
( ( ( zero_zero @ A )
= X )
= ( X
= ( zero_zero @ A ) ) ) ) ).
% zero_reorient
thf(fact_149_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_150_UNIV__witness,axiom,
! [A: $tType] :
? [X3: A] : ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) ).
% UNIV_witness
thf(fact_151_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_152_Un__UNIV__left,axiom,
! [A: $tType,B5: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B5 )
= ( top_top @ ( set @ A ) ) ) ).
% Un_UNIV_left
thf(fact_153_top__set__def,axiom,
! [A: $tType] :
( ( top_top @ ( set @ A ) )
= ( collect @ A @ ( top_top @ ( A > $o ) ) ) ) ).
% top_set_def
thf(fact_154_type__copy__ex__RepI,axiom,
! [B: $tType,A: $tType,Rep: A > B,Abs: B > A,F3: B > $o] :
( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
=> ( ( ? [X4: B] : ( F3 @ X4 ) )
= ( ? [B4: A] : ( F3 @ ( Rep @ B4 ) ) ) ) ) ).
% type_copy_ex_RepI
thf(fact_155_type__copy__obj__one__point__absE,axiom,
! [A: $tType,B: $tType,Rep: A > B,Abs: B > A,S: A] :
( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
=> ~ ! [X3: B] :
( S
!= ( Abs @ X3 ) ) ) ).
% type_copy_obj_one_point_absE
thf(fact_156_HF__hfset,axiom,
! [A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HF @ ( hF_Mirabelle_hfset @ A3 ) )
= A3 ) ).
% HF_hfset
thf(fact_157_type__definition_ORep,axiom,
! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( member @ A @ ( Rep @ X ) @ A2 ) ) ).
% type_definition.Rep
thf(fact_158_type__definition__def,axiom,
! [A: $tType,B: $tType] :
( ( type_definition @ B @ A )
= ( ^ [Rep2: B > A,Abs2: A > B,A7: set @ A] :
( ! [X2: B] : ( member @ A @ ( Rep2 @ X2 ) @ A7 )
& ! [X2: B] :
( ( Abs2 @ ( Rep2 @ X2 ) )
= X2 )
& ! [Y: A] :
( ( member @ A @ Y @ A7 )
=> ( ( Rep2 @ ( Abs2 @ Y ) )
= Y ) ) ) ) ) ).
% type_definition_def
thf(fact_159_Int__UNIV,axiom,
! [A: $tType,A2: set @ A,B5: set @ A] :
( ( ( inf_inf @ ( set @ A ) @ A2 @ B5 )
= ( top_top @ ( set @ A ) ) )
= ( ( A2
= ( top_top @ ( set @ A ) ) )
& ( B5
= ( top_top @ ( set @ A ) ) ) ) ) ).
% Int_UNIV
thf(fact_160_Int__Un__eq_I4_J,axiom,
! [A: $tType,T: set @ A,S2: set @ A] :
( ( sup_sup @ ( set @ A ) @ T @ ( inf_inf @ ( set @ A ) @ S2 @ T ) )
= T ) ).
% Int_Un_eq(4)
thf(fact_161_Int__Un__eq_I3_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( sup_sup @ ( set @ A ) @ S2 @ ( inf_inf @ ( set @ A ) @ S2 @ T ) )
= S2 ) ).
% Int_Un_eq(3)
thf(fact_162_Int__Un__eq_I2_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ S2 @ T ) @ T )
= T ) ).
% Int_Un_eq(2)
thf(fact_163_Int__Un__eq_I1_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ S2 @ T ) @ S2 )
= S2 ) ).
% Int_Un_eq(1)
thf(fact_164_Un__Int__eq_I4_J,axiom,
! [A: $tType,T: set @ A,S2: set @ A] :
( ( inf_inf @ ( set @ A ) @ T @ ( sup_sup @ ( set @ A ) @ S2 @ T ) )
= T ) ).
% Un_Int_eq(4)
thf(fact_165_Un__Int__eq_I3_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( inf_inf @ ( set @ A ) @ S2 @ ( sup_sup @ ( set @ A ) @ S2 @ T ) )
= S2 ) ).
% Un_Int_eq(3)
thf(fact_166_Un__Int__eq_I2_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ S2 @ T ) @ T )
= T ) ).
% Un_Int_eq(2)
thf(fact_167_Un__Int__eq_I1_J,axiom,
! [A: $tType,S2: set @ A,T: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ S2 @ T ) @ S2 )
= S2 ) ).
% Un_Int_eq(1)
thf(fact_168_UnCI,axiom,
! [A: $tType,C: A,B5: set @ A,A2: set @ A] :
( ( ~ ( member @ A @ C @ B5 )
=> ( member @ A @ C @ A2 ) )
=> ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% UnCI
thf(fact_169_Un__iff,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
= ( ( member @ A @ C @ A2 )
| ( member @ A @ C @ B5 ) ) ) ).
% Un_iff
thf(fact_170_top1I,axiom,
! [A: $tType,X: A] : ( top_top @ ( A > $o ) @ X ) ).
% top1I
thf(fact_171_top__conj_I2_J,axiom,
! [A: $tType,P: $o,X: A] :
( ( P
& ( top_top @ ( A > $o ) @ X ) )
= P ) ).
% top_conj(2)
thf(fact_172_top__conj_I1_J,axiom,
! [A: $tType,X: A,P: $o] :
( ( ( top_top @ ( A > $o ) @ X )
& P )
= P ) ).
% top_conj(1)
thf(fact_173_UnE,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
=> ( ~ ( member @ A @ C @ A2 )
=> ( member @ A @ C @ B5 ) ) ) ).
% UnE
thf(fact_174_UnI1,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ A2 )
=> ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% UnI1
thf(fact_175_UnI2,axiom,
! [A: $tType,C: A,B5: set @ A,A2: set @ A] :
( ( member @ A @ C @ B5 )
=> ( member @ A @ C @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% UnI2
thf(fact_176_bex__Un,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,P: A > $o] :
( ( ? [X2: A] :
( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
& ( P @ X2 ) ) )
= ( ? [X2: A] :
( ( member @ A @ X2 @ A2 )
& ( P @ X2 ) )
| ? [X2: A] :
( ( member @ A @ X2 @ B5 )
& ( P @ X2 ) ) ) ) ).
% bex_Un
thf(fact_177_ball__Un,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,P: A > $o] :
( ( ! [X2: A] :
( ( member @ A @ X2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
=> ( P @ X2 ) ) )
= ( ! [X2: A] :
( ( member @ A @ X2 @ A2 )
=> ( P @ X2 ) )
& ! [X2: A] :
( ( member @ A @ X2 @ B5 )
=> ( P @ X2 ) ) ) ) ).
% ball_Un
thf(fact_178_Un__assoc,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ C3 )
= ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) ) ).
% Un_assoc
thf(fact_179_Un__absorb,axiom,
! [A: $tType,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ A2 )
= A2 ) ).
% Un_absorb
thf(fact_180_Un__commute,axiom,
! [A: $tType] :
( ( sup_sup @ ( set @ A ) )
= ( ^ [A7: set @ A,B7: set @ A] : ( sup_sup @ ( set @ A ) @ B7 @ A7 ) ) ) ).
% Un_commute
thf(fact_181_Un__Int__crazy,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) @ ( inf_inf @ ( set @ A ) @ C3 @ A2 ) )
= ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) @ ( sup_sup @ ( set @ A ) @ C3 @ A2 ) ) ) ).
% Un_Int_crazy
thf(fact_182_Int__UNIV__left,axiom,
! [A: $tType,B5: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B5 )
= B5 ) ).
% Int_UNIV_left
thf(fact_183_Int__UNIV__right,axiom,
! [A: $tType,A2: set @ A] :
( ( inf_inf @ ( set @ A ) @ A2 @ ( top_top @ ( set @ A ) ) )
= A2 ) ).
% Int_UNIV_right
thf(fact_184_Int__Un__distrib,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) )
= ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ ( inf_inf @ ( set @ A ) @ A2 @ C3 ) ) ) ).
% Int_Un_distrib
thf(fact_185_Un__Int__distrib,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) )
= ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) @ ( sup_sup @ ( set @ A ) @ A2 @ C3 ) ) ) ).
% Un_Int_distrib
thf(fact_186_Un__left__absorb,axiom,
! [A: $tType,A2: set @ A,B5: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) )
= ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ).
% Un_left_absorb
thf(fact_187_Int__Un__distrib2,axiom,
! [A: $tType,B5: set @ A,C3: set @ A,A2: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) @ A2 )
= ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ B5 @ A2 ) @ ( inf_inf @ ( set @ A ) @ C3 @ A2 ) ) ) ).
% Int_Un_distrib2
thf(fact_188_Un__Int__distrib2,axiom,
! [A: $tType,B5: set @ A,C3: set @ A,A2: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) @ A2 )
= ( inf_inf @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ B5 @ A2 ) @ ( sup_sup @ ( set @ A ) @ C3 @ A2 ) ) ) ).
% Un_Int_distrib2
thf(fact_189_Un__left__commute,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) )
= ( sup_sup @ ( set @ A ) @ B5 @ ( sup_sup @ ( set @ A ) @ A2 @ C3 ) ) ) ).
% Un_left_commute
thf(fact_190_type__definition_ORep__inverse,axiom,
! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( Abs @ ( Rep @ X ) )
= X ) ) ).
% type_definition.Rep_inverse
thf(fact_191_type__definition_OAbs__inverse,axiom,
! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( member @ A @ Y3 @ A2 )
=> ( ( Rep @ ( Abs @ Y3 ) )
= Y3 ) ) ) ).
% type_definition.Abs_inverse
thf(fact_192_type__definition_ORep__inject,axiom,
! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B,Y3: B] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( ( Rep @ X )
= ( Rep @ Y3 ) )
= ( X = Y3 ) ) ) ).
% type_definition.Rep_inject
thf(fact_193_type__definition_ORep__induct,axiom,
! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A,P: A > $o] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( member @ A @ Y3 @ A2 )
=> ( ! [X3: B] : ( P @ ( Rep @ X3 ) )
=> ( P @ Y3 ) ) ) ) ).
% type_definition.Rep_induct
thf(fact_194_type__definition_OAbs__inject,axiom,
! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: A,Y3: A] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( member @ A @ X @ A2 )
=> ( ( member @ A @ Y3 @ A2 )
=> ( ( ( Abs @ X )
= ( Abs @ Y3 ) )
= ( X = Y3 ) ) ) ) ) ).
% type_definition.Abs_inject
thf(fact_195_type__definition_OAbs__induct,axiom,
! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,P: B > $o,X: B] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ! [Y5: A] :
( ( member @ A @ Y5 @ A2 )
=> ( P @ ( Abs @ Y5 ) ) )
=> ( P @ X ) ) ) ).
% type_definition.Abs_induct
thf(fact_196_type__definition_ORep__cases,axiom,
! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A2: set @ A,Y3: A] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ( ( member @ A @ Y3 @ A2 )
=> ~ ! [X3: B] :
( Y3
!= ( Rep @ X3 ) ) ) ) ).
% type_definition.Rep_cases
thf(fact_197_type__definition_OAbs__cases,axiom,
! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A2: set @ A,X: B] :
( ( type_definition @ B @ A @ Rep @ Abs @ A2 )
=> ~ ! [Y5: A] :
( ( X
= ( Abs @ Y5 ) )
=> ~ ( member @ A @ Y5 @ A2 ) ) ) ).
% type_definition.Abs_cases
thf(fact_198_type__definition_Ointro,axiom,
! [B: $tType,A: $tType,Rep: B > A,A2: set @ A,Abs: A > B] :
( ! [X3: B] : ( member @ A @ ( Rep @ X3 ) @ A2 )
=> ( ! [X3: B] :
( ( Abs @ ( Rep @ X3 ) )
= X3 )
=> ( ! [Y5: A] :
( ( member @ A @ Y5 @ A2 )
=> ( ( Rep @ ( Abs @ Y5 ) )
= Y5 ) )
=> ( type_definition @ B @ A @ Rep @ Abs @ A2 ) ) ) ) ).
% type_definition.intro
thf(fact_199_top__empty__eq,axiom,
! [A: $tType] :
( ( top_top @ ( A > $o ) )
= ( ^ [X2: A] : ( member @ A @ X2 @ ( top_top @ ( set @ A ) ) ) ) ) ).
% top_empty_eq
thf(fact_200_hcard__0,axiom,
( ( hF_Mirabelle_hcard @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ nat ) ) ).
% hcard_0
thf(fact_201_hinsert__def,axiom,
( hF_Mirabelle_hinsert
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] : ( hF_Mirabelle_HF @ ( insert @ hF_Mirabelle_hf @ A5 @ ( hF_Mirabelle_hfset @ B4 ) ) ) ) ) ).
% hinsert_def
thf(fact_202_insert__absorb2,axiom,
! [A: $tType,X: A,A2: set @ A] :
( ( insert @ A @ X @ ( insert @ A @ X @ A2 ) )
= ( insert @ A @ X @ A2 ) ) ).
% insert_absorb2
thf(fact_203_insert__iff,axiom,
! [A: $tType,A3: A,B2: A,A2: set @ A] :
( ( member @ A @ A3 @ ( insert @ A @ B2 @ A2 ) )
= ( ( A3 = B2 )
| ( member @ A @ A3 @ A2 ) ) ) ).
% insert_iff
thf(fact_204_insertCI,axiom,
! [A: $tType,A3: A,B5: set @ A,B2: A] :
( ( ~ ( member @ A @ A3 @ B5 )
=> ( A3 = B2 ) )
=> ( member @ A @ A3 @ ( insert @ A @ B2 @ B5 ) ) ) ).
% insertCI
thf(fact_205_IntI,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ A2 )
=> ( ( member @ A @ C @ B5 )
=> ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).
% IntI
thf(fact_206_Int__iff,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
= ( ( member @ A @ C @ A2 )
& ( member @ A @ C @ B5 ) ) ) ).
% Int_iff
thf(fact_207_Int__insert__left__if0,axiom,
! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
( ~ ( member @ A @ A3 @ C3 )
=> ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
= ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ).
% Int_insert_left_if0
thf(fact_208_Int__insert__left__if1,axiom,
! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
( ( member @ A @ A3 @ C3 )
=> ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
= ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ) ).
% Int_insert_left_if1
thf(fact_209_insert__inter__insert,axiom,
! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ A2 ) @ ( insert @ A @ A3 @ B5 ) )
= ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% insert_inter_insert
thf(fact_210_Int__insert__right__if0,axiom,
! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
( ~ ( member @ A @ A3 @ A2 )
=> ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
= ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% Int_insert_right_if0
thf(fact_211_Int__insert__right__if1,axiom,
! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
= ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).
% Int_insert_right_if1
thf(fact_212_Un__insert__left,axiom,
! [A: $tType,A3: A,B5: set @ A,C3: set @ A] :
( ( sup_sup @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
= ( insert @ A @ A3 @ ( sup_sup @ ( set @ A ) @ B5 @ C3 ) ) ) ).
% Un_insert_left
thf(fact_213_Un__insert__right,axiom,
! [A: $tType,A2: set @ A,A3: A,B5: set @ A] :
( ( sup_sup @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
= ( insert @ A @ A3 @ ( sup_sup @ ( set @ A ) @ A2 @ B5 ) ) ) ).
% Un_insert_right
thf(fact_214_insert__UNIV,axiom,
! [A: $tType,X: A] :
( ( insert @ A @ X @ ( top_top @ ( set @ A ) ) )
= ( top_top @ ( set @ A ) ) ) ).
% insert_UNIV
thf(fact_215_IntE,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
=> ~ ( ( member @ A @ C @ A2 )
=> ~ ( member @ A @ C @ B5 ) ) ) ).
% IntE
thf(fact_216_IntD1,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
=> ( member @ A @ C @ A2 ) ) ).
% IntD1
thf(fact_217_IntD2,axiom,
! [A: $tType,C: A,A2: set @ A,B5: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
=> ( member @ A @ C @ B5 ) ) ).
% IntD2
thf(fact_218_Int__assoc,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) @ C3 )
= ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ).
% Int_assoc
thf(fact_219_Int__absorb,axiom,
! [A: $tType,A2: set @ A] :
( ( inf_inf @ ( set @ A ) @ A2 @ A2 )
= A2 ) ).
% Int_absorb
thf(fact_220_Int__commute,axiom,
! [A: $tType] :
( ( inf_inf @ ( set @ A ) )
= ( ^ [A7: set @ A,B7: set @ A] : ( inf_inf @ ( set @ A ) @ B7 @ A7 ) ) ) ).
% Int_commute
thf(fact_221_Int__insert__left,axiom,
! [A: $tType,A3: A,C3: set @ A,B5: set @ A] :
( ( ( member @ A @ A3 @ C3 )
=> ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
= ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) )
& ( ~ ( member @ A @ A3 @ C3 )
=> ( ( inf_inf @ ( set @ A ) @ ( insert @ A @ A3 @ B5 ) @ C3 )
= ( inf_inf @ ( set @ A ) @ B5 @ C3 ) ) ) ) ).
% Int_insert_left
thf(fact_222_Int__left__absorb,axiom,
! [A: $tType,A2: set @ A,B5: set @ A] :
( ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) )
= ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ).
% Int_left_absorb
thf(fact_223_Int__insert__right,axiom,
! [A: $tType,A3: A,A2: set @ A,B5: set @ A] :
( ( ( member @ A @ A3 @ A2 )
=> ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
= ( insert @ A @ A3 @ ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) )
& ( ~ ( member @ A @ A3 @ A2 )
=> ( ( inf_inf @ ( set @ A ) @ A2 @ ( insert @ A @ A3 @ B5 ) )
= ( inf_inf @ ( set @ A ) @ A2 @ B5 ) ) ) ) ).
% Int_insert_right
thf(fact_224_Int__left__commute,axiom,
! [A: $tType,A2: set @ A,B5: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A2 @ ( inf_inf @ ( set @ A ) @ B5 @ C3 ) )
= ( inf_inf @ ( set @ A ) @ B5 @ ( inf_inf @ ( set @ A ) @ A2 @ C3 ) ) ) ).
% Int_left_commute
thf(fact_225_mk__disjoint__insert,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ? [B8: set @ A] :
( ( A2
= ( insert @ A @ A3 @ B8 ) )
& ~ ( member @ A @ A3 @ B8 ) ) ) ).
% mk_disjoint_insert
thf(fact_226_insert__commute,axiom,
! [A: $tType,X: A,Y3: A,A2: set @ A] :
( ( insert @ A @ X @ ( insert @ A @ Y3 @ A2 ) )
= ( insert @ A @ Y3 @ ( insert @ A @ X @ A2 ) ) ) ).
% insert_commute
thf(fact_227_insert__eq__iff,axiom,
! [A: $tType,A3: A,A2: set @ A,B2: A,B5: set @ A] :
( ~ ( member @ A @ A3 @ A2 )
=> ( ~ ( member @ A @ B2 @ B5 )
=> ( ( ( insert @ A @ A3 @ A2 )
= ( insert @ A @ B2 @ B5 ) )
= ( ( ( A3 = B2 )
=> ( A2 = B5 ) )
& ( ( A3 != B2 )
=> ? [C4: set @ A] :
( ( A2
= ( insert @ A @ B2 @ C4 ) )
& ~ ( member @ A @ B2 @ C4 )
& ( B5
= ( insert @ A @ A3 @ C4 ) )
& ~ ( member @ A @ A3 @ C4 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_228_insert__absorb,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ( ( insert @ A @ A3 @ A2 )
= A2 ) ) ).
% insert_absorb
thf(fact_229_insert__ident,axiom,
! [A: $tType,X: A,A2: set @ A,B5: set @ A] :
( ~ ( member @ A @ X @ A2 )
=> ( ~ ( member @ A @ X @ B5 )
=> ( ( ( insert @ A @ X @ A2 )
= ( insert @ A @ X @ B5 ) )
= ( A2 = B5 ) ) ) ) ).
% insert_ident
thf(fact_230_Set_Oset__insert,axiom,
! [A: $tType,X: A,A2: set @ A] :
( ( member @ A @ X @ A2 )
=> ~ ! [B8: set @ A] :
( ( A2
= ( insert @ A @ X @ B8 ) )
=> ( member @ A @ X @ B8 ) ) ) ).
% Set.set_insert
thf(fact_231_insertI2,axiom,
! [A: $tType,A3: A,B5: set @ A,B2: A] :
( ( member @ A @ A3 @ B5 )
=> ( member @ A @ A3 @ ( insert @ A @ B2 @ B5 ) ) ) ).
% insertI2
thf(fact_232_insertI1,axiom,
! [A: $tType,A3: A,B5: set @ A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ B5 ) ) ).
% insertI1
thf(fact_233_insertE,axiom,
! [A: $tType,A3: A,B2: A,A2: set @ A] :
( ( member @ A @ A3 @ ( insert @ A @ B2 @ A2 ) )
=> ( ( A3 != B2 )
=> ( member @ A @ A3 @ A2 ) ) ) ).
% insertE
thf(fact_234_hfset__hinsert,axiom,
! [A3: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hfset @ ( hF_Mirabelle_hinsert @ A3 @ B2 ) )
= ( insert @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_hfset @ B2 ) ) ) ).
% hfset_hinsert
thf(fact_235_hcard__union__inter,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( plus_plus @ nat @ ( hF_Mirabelle_hcard @ ( sup_sup @ hF_Mirabelle_hf @ X @ Y3 ) ) @ ( hF_Mirabelle_hcard @ ( inf_inf @ hF_Mirabelle_hf @ X @ Y3 ) ) )
= ( plus_plus @ nat @ ( hF_Mirabelle_hcard @ X ) @ ( hF_Mirabelle_hcard @ Y3 ) ) ) ).
% hcard_union_inter
thf(fact_236_hcard__hinsert__if,axiom,
! [X: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X @ Y3 )
=> ( ( hF_Mirabelle_hcard @ ( hF_Mirabelle_hinsert @ X @ Y3 ) )
= ( hF_Mirabelle_hcard @ Y3 ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X @ Y3 )
=> ( ( hF_Mirabelle_hcard @ ( hF_Mirabelle_hinsert @ X @ Y3 ) )
= ( suc @ ( hF_Mirabelle_hcard @ Y3 ) ) ) ) ) ).
% hcard_hinsert_if
thf(fact_237_add__left__cancel,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A )
=> ! [A3: A,B2: A,C: A] :
( ( ( plus_plus @ A @ A3 @ B2 )
= ( plus_plus @ A @ A3 @ C ) )
= ( B2 = C ) ) ) ).
% add_left_cancel
thf(fact_238_add__right__cancel,axiom,
! [A: $tType] :
( ( cancel_semigroup_add @ A )
=> ! [B2: A,A3: A,C: A] :
( ( ( plus_plus @ A @ B2 @ A3 )
= ( plus_plus @ A @ C @ A3 ) )
= ( B2 = C ) ) ) ).
% add_right_cancel
thf(fact_239_zero__eq__add__iff__both__eq__0,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [X: A,Y3: A] :
( ( ( zero_zero @ A )
= ( plus_plus @ A @ X @ Y3 ) )
= ( ( X
= ( zero_zero @ A ) )
& ( Y3
= ( zero_zero @ A ) ) ) ) ) ).
% zero_eq_add_iff_both_eq_0
thf(fact_240_add__eq__0__iff__both__eq__0,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [X: A,Y3: A] :
( ( ( plus_plus @ A @ X @ Y3 )
= ( zero_zero @ A ) )
= ( ( X
= ( zero_zero @ A ) )
& ( Y3
= ( zero_zero @ A ) ) ) ) ) ).
% add_eq_0_iff_both_eq_0
thf(fact_241_add__cancel__right__right,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [A3: A,B2: A] :
( ( A3
= ( plus_plus @ A @ A3 @ B2 ) )
= ( B2
= ( zero_zero @ A ) ) ) ) ).
% add_cancel_right_right
thf(fact_242_add__cancel__right__left,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [A3: A,B2: A] :
( ( A3
= ( plus_plus @ A @ B2 @ A3 ) )
= ( B2
= ( zero_zero @ A ) ) ) ) ).
% add_cancel_right_left
thf(fact_243_add__cancel__left__right,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [A3: A,B2: A] :
( ( ( plus_plus @ A @ A3 @ B2 )
= A3 )
= ( B2
= ( zero_zero @ A ) ) ) ) ).
% add_cancel_left_right
thf(fact_244_add__cancel__left__left,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [B2: A,A3: A] :
( ( ( plus_plus @ A @ B2 @ A3 )
= A3 )
= ( B2
= ( zero_zero @ A ) ) ) ) ).
% add_cancel_left_left
thf(fact_245_double__zero__sym,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A3: A] :
( ( ( zero_zero @ A )
= ( plus_plus @ A @ A3 @ A3 ) )
= ( A3
= ( zero_zero @ A ) ) ) ) ).
% double_zero_sym
thf(fact_246_double__zero,axiom,
! [A: $tType] :
( ( linord219039673up_add @ A )
=> ! [A3: A] :
( ( ( plus_plus @ A @ A3 @ A3 )
= ( zero_zero @ A ) )
= ( A3
= ( zero_zero @ A ) ) ) ) ).
% double_zero
thf(fact_247_add_Oright__neutral,axiom,
! [A: $tType] :
( ( monoid_add @ A )
=> ! [A3: A] :
( ( plus_plus @ A @ A3 @ ( zero_zero @ A ) )
= A3 ) ) ).
% add.right_neutral
thf(fact_248_add_Oleft__neutral,axiom,
! [A: $tType] :
( ( monoid_add @ A )
=> ! [A3: A] :
( ( plus_plus @ A @ ( zero_zero @ A ) @ A3 )
= A3 ) ) ).
% add.left_neutral
thf(fact_249_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
! [A: $tType] :
( ( ab_semigroup_add @ A )
=> ! [A3: A,B2: A,C: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A3 @ B2 ) @ C )
= ( plus_plus @ A @ A3 @ ( plus_plus @ A @ B2 @ C ) ) ) ) ).
% ab_semigroup_add_class.add_ac(1)
thf(fact_250_add__mono__thms__linordered__semiring_I4_J,axiom,
! [A: $tType] :
( ( ordere779506340up_add @ 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_251_group__cancel_Oadd1,axiom,
! [A: $tType] :
( ( comm_monoid_add @ A )
=> ! [A2: A,K: A,A3: A,B2: A] :
( ( A2
= ( plus_plus @ A @ K @ A3 ) )
=> ( ( plus_plus @ A @ A2 @ B2 )
= ( plus_plus @ A @ K @ ( plus_plus @ A @ A3 @ B2 ) ) ) ) ) ).
% group_cancel.add1
thf(fact_252_group__cancel_Oadd2,axiom,
! [A: $tType] :
( ( comm_monoid_add @ A )
=> ! [B5: A,K: A,B2: A,A3: A] :
( ( B5
= ( plus_plus @ A @ K @ B2 ) )
=> ( ( plus_plus @ A @ A3 @ B5 )
= ( plus_plus @ A @ K @ ( plus_plus @ A @ A3 @ B2 ) ) ) ) ) ).
% group_cancel.add2
thf(fact_253_add_Oassoc,axiom,
! [A: $tType] :
( ( semigroup_add @ A )
=> ! [A3: A,B2: A,C: A] :
( ( plus_plus @ A @ ( plus_plus @ A @ A3 @ B2 ) @ C )
= ( plus_plus @ A @ A3 @ ( plus_plus @ A @ B2 @ C ) ) ) ) ).
% add.assoc
thf(fact_254_add_Oleft__cancel,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A3: A,B2: A,C: A] :
( ( ( plus_plus @ A @ A3 @ B2 )
= ( plus_plus @ A @ A3 @ C ) )
= ( B2 = C ) ) ) ).
% add.left_cancel
% Type constructors (42)
thf(tcon_HOL_Obool___Lattices_Obounded__lattice,axiom,
bounded_lattice @ $o ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice_1,axiom,
! [A8: $tType] : ( bounded_lattice @ ( set @ A8 ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice_2,axiom,
! [A8: $tType,A9: $tType] :
( ( bounded_lattice @ A9 )
=> ( bounded_lattice @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Obounded__semilattice__inf__top,axiom,
! [A8: $tType,A9: $tType] :
( ( bounded_lattice @ A9 )
=> ( bounde1561333602nf_top @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice__top,axiom,
! [A8: $tType,A9: $tType] :
( ( bounded_lattice @ A9 )
=> ( bounded_lattice_top @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Osemilattice__sup,axiom,
! [A8: $tType,A9: $tType] :
( ( semilattice_sup @ A9 )
=> ( semilattice_sup @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
! [A8: $tType,A9: $tType] :
( ( semilattice_inf @ A9 )
=> ( semilattice_inf @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Odistrib__lattice,axiom,
! [A8: $tType,A9: $tType] :
( ( distrib_lattice @ A9 )
=> ( distrib_lattice @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Lattices_Olattice,axiom,
! [A8: $tType,A9: $tType] :
( ( lattice @ A9 )
=> ( lattice @ ( A8 > A9 ) ) ) ).
thf(tcon_fun___Orderings_Otop,axiom,
! [A8: $tType,A9: $tType] :
( ( top @ A9 )
=> ( top @ ( A8 > A9 ) ) ) ).
thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
canoni770627133id_add @ nat ).
thf(tcon_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
ordere779506340up_add @ nat ).
thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add,axiom,
cancel1352612707id_add @ nat ).
thf(tcon_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
cancel_semigroup_add @ nat ).
thf(tcon_Nat_Onat___Lattices_Osemilattice__sup_3,axiom,
semilattice_sup @ nat ).
thf(tcon_Nat_Onat___Lattices_Osemilattice__inf_4,axiom,
semilattice_inf @ nat ).
thf(tcon_Nat_Onat___Lattices_Odistrib__lattice_5,axiom,
distrib_lattice @ nat ).
thf(tcon_Nat_Onat___Groups_Oab__semigroup__add,axiom,
ab_semigroup_add @ nat ).
thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
comm_monoid_add @ nat ).
thf(tcon_Nat_Onat___Groups_Osemigroup__add,axiom,
semigroup_add @ nat ).
thf(tcon_Nat_Onat___Groups_Omonoid__add,axiom,
monoid_add @ nat ).
thf(tcon_Nat_Onat___Lattices_Olattice_6,axiom,
lattice @ nat ).
thf(tcon_Nat_Onat___Groups_Ozero,axiom,
zero @ nat ).
thf(tcon_Set_Oset___Lattices_Obounded__semilattice__inf__top_7,axiom,
! [A8: $tType] : ( bounde1561333602nf_top @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice__top_8,axiom,
! [A8: $tType] : ( bounded_lattice_top @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Lattices_Osemilattice__sup_9,axiom,
! [A8: $tType] : ( semilattice_sup @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Lattices_Osemilattice__inf_10,axiom,
! [A8: $tType] : ( semilattice_inf @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Lattices_Odistrib__lattice_11,axiom,
! [A8: $tType] : ( distrib_lattice @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Lattices_Olattice_12,axiom,
! [A8: $tType] : ( lattice @ ( set @ A8 ) ) ).
thf(tcon_Set_Oset___Orderings_Otop_13,axiom,
! [A8: $tType] : ( top @ ( set @ A8 ) ) ).
thf(tcon_HOL_Obool___Lattices_Obounded__semilattice__inf__top_14,axiom,
bounde1561333602nf_top @ $o ).
thf(tcon_HOL_Obool___Lattices_Obounded__lattice__top_15,axiom,
bounded_lattice_top @ $o ).
thf(tcon_HOL_Obool___Lattices_Osemilattice__sup_16,axiom,
semilattice_sup @ $o ).
thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_17,axiom,
semilattice_inf @ $o ).
thf(tcon_HOL_Obool___Lattices_Odistrib__lattice_18,axiom,
distrib_lattice @ $o ).
thf(tcon_HOL_Obool___Lattices_Olattice_19,axiom,
lattice @ $o ).
thf(tcon_HOL_Obool___Orderings_Otop_20,axiom,
top @ $o ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__sup_21,axiom,
semilattice_sup @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__inf_22,axiom,
semilattice_inf @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Odistrib__lattice_23,axiom,
distrib_lattice @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Olattice_24,axiom,
lattice @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ozero_25,axiom,
zero @ hF_Mirabelle_hf ).
% Conjectures (2)
thf(conj_0,hypothesis,
hF_Mir859708136nction @ r ).
thf(conj_1,conjecture,
hF_Mir859708136nction @ ( hF_Mir165288108strict @ r @ x ) ).
%------------------------------------------------------------------------------