TPTP Problem File: ITP075^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP075^2 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer HF problem prob_754__5337380_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_754__5337380_1 [Des21]
% Status : Theorem
% Rating : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax : Number of formulae : 364 ( 179 unt; 54 typ; 0 def)
% Number of atoms : 663 ( 295 equ; 0 cnn)
% Maximal formula atoms : 4 ( 2 avg)
% Number of connectives : 2460 ( 83 ~; 5 |; 42 &;2097 @)
% ( 0 <=>; 233 =>; 0 <=; 0 <~>)
% Maximal formula depth : 15 ( 5 avg)
% Number of types : 4 ( 3 usr)
% Number of type conns : 175 ( 175 >; 0 *; 0 +; 0 <<)
% Number of symbols : 54 ( 51 usr; 4 con; 0-4 aty)
% Number of variables : 835 ( 114 ^; 661 !; 29 ?; 835 :)
% ( 31 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:06.328
%------------------------------------------------------------------------------
% Could-be-implicit typings (4)
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 ).
thf(ty_t_Int_Oint,type,
int: $tType ).
% Explicit typings (50)
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_Groups_Ominus,type,
minus:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Obot,type,
bot:
!>[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_Rings_Osemiring__1,type,
semiring_1:
!>[A: $tType] : $o ).
thf(sy_cl_Nat_Osemiring__char__0,type,
semiring_char_0:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder__bot,type,
order_bot:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocomm__monoid__diff,type,
comm_monoid_diff:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Osemilattice__inf,type,
semilattice_inf:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Oordered__ab__group__add,type,
ordered_ab_group_add:
!>[A: $tType] : $o ).
thf(sy_cl_Lattices_Obounded__lattice__bot,type,
bounded_lattice_bot:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
cancel1352612707id_add:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
cancel146912293up_add:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
linord1659791738miring:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
canoni770627133id_add:
!>[A: $tType] : $o ).
thf(sy_c_Groups_Ominus__class_Ominus,type,
minus_minus:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Groups_Ozero__class_Ozero,type,
zero_zero:
!>[A: $tType] : A ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHBall,type,
hF_Mirabelle_HBall: hF_Mirabelle_hf > ( hF_Mirabelle_hf > $o ) > $o ).
thf(sy_c_HF__Mirabelle__fsbjehakzm_OHBex,type,
hF_Mirabelle_HBex: hF_Mirabelle_hf > ( hF_Mirabelle_hf > $o ) > $o ).
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_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_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_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_HOL_OThe,type,
the:
!>[A: $tType] : ( ( A > $o ) > A ) ).
thf(sy_c_If,type,
if:
!>[A: $tType] : ( $o > A > A > A ) ).
thf(sy_c_Lattices_Oinf__class_Oinf,type,
inf_inf:
!>[A: $tType] : ( A > A > A ) ).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
semiring_1_of_nat:
!>[A: $tType] : ( nat > A ) ).
thf(sy_c_Orderings_Obot__class_Obot,type,
bot_bot:
!>[A: $tType] : A ).
thf(sy_c_Orderings_Oord_OLeast,type,
least:
!>[A: $tType] : ( ( A > A > $o ) > ( A > $o ) > A ) ).
thf(sy_c_Orderings_Oord__class_Oless,type,
ord_less:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Set_OCollect,type,
collect:
!>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
thf(sy_c_Set_Ois__empty,type,
is_empty:
!>[A: $tType] : ( ( set @ A ) > $o ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_A,type,
a: hF_Mirabelle_hf ).
thf(sy_v_P,type,
p: $o ).
% Relevant facts (254)
thf(fact_0_hf__equalityI,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ A2 )
= ( hF_Mirabelle_hmem @ X @ B ) )
=> ( A2 = B ) ) ).
% hf_equalityI
thf(fact_1_hbexI,axiom,
! [P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( P @ X2 )
=> ( ( hF_Mirabelle_hmem @ X2 @ A3 )
=> ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).
% hbexI
thf(fact_2_hbexE,axiom,
! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_HBex @ A3 @ P )
=> ~ ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ A3 )
=> ~ ( P @ X ) ) ) ).
% hbexE
thf(fact_3_hf__ext,axiom,
( ( ^ [Y: hF_Mirabelle_hf,Z: hF_Mirabelle_hf] : ( Y = Z ) )
= ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
! [X3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ A4 )
= ( hF_Mirabelle_hmem @ X3 @ B2 ) ) ) ) ).
% hf_ext
thf(fact_4_hmem__ne,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ Y2 )
=> ( X2 != Y2 ) ) ).
% hmem_ne
thf(fact_5_HBex__def,axiom,
( hF_Mirabelle_HBex
= ( ^ [A5: hF_Mirabelle_hf,P2: hF_Mirabelle_hf > $o] :
? [X3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ A5 )
& ( P2 @ X3 ) ) ) ) ).
% HBex_def
thf(fact_6_hbex__cong,axiom,
! [A3: hF_Mirabelle_hf,A6: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,P3: hF_Mirabelle_hf > $o] :
( ( A3 = A6 )
=> ( ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ A6 )
=> ( ( P @ X )
= ( P3 @ X ) ) )
=> ( ( hF_Mirabelle_HBex @ A3 @ P )
= ( hF_Mirabelle_HBex @ A6 @ P3 ) ) ) ) ).
% hbex_cong
thf(fact_7_rev__hbexI,axiom,
! [X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_hmem @ X2 @ A3 )
=> ( ( P @ X2 )
=> ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).
% rev_hbexI
thf(fact_8_replacement,axiom,
! [X2: hF_Mirabelle_hf,R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U @ X2 )
=> ( ( R @ U @ V )
=> ( ( R @ U @ V2 )
=> ( V2 = V ) ) ) )
=> ? [Z2: hF_Mirabelle_hf] :
! [V3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V3 @ Z2 )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ X2 )
& ( R @ U2 @ V3 ) ) ) ) ) ).
% replacement
thf(fact_9_binary__union,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
? [Z2: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z2 )
= ( ( hF_Mirabelle_hmem @ U3 @ X2 )
| ( hF_Mirabelle_hmem @ U3 @ Y2 ) ) ) ).
% binary_union
thf(fact_10_hmem__not__sym,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
~ ( ( hF_Mirabelle_hmem @ X2 @ Y2 )
& ( hF_Mirabelle_hmem @ Y2 @ X2 ) ) ).
% hmem_not_sym
thf(fact_11_union__of__set,axiom,
! [X2: hF_Mirabelle_hf] :
? [Z2: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z2 )
= ( ? [Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y3 @ X2 )
& ( hF_Mirabelle_hmem @ U3 @ Y3 ) ) ) ) ).
% union_of_set
thf(fact_12_comprehension,axiom,
! [X2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
? [Z2: hF_Mirabelle_hf] :
! [U3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U3 @ Z2 )
= ( ( hF_Mirabelle_hmem @ U3 @ X2 )
& ( P @ U3 ) ) ) ).
% comprehension
thf(fact_13_hmem__not__refl,axiom,
! [X2: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ X2 @ X2 ) ).
% hmem_not_refl
thf(fact_14_replacement__fun,axiom,
! [X2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
? [Z2: hF_Mirabelle_hf] :
! [V3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V3 @ Z2 )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ X2 )
& ( V3
= ( F @ U2 ) ) ) ) ) ).
% replacement_fun
thf(fact_15_HF__Mirabelle__fsbjehakzm_ObexCI,axiom,
! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A2: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_HBall @ A3
@ ^ [X3: hF_Mirabelle_hf] :
~ ( P @ X3 ) )
=> ( P @ A2 ) )
=> ( ( hF_Mirabelle_hmem @ A2 @ A3 )
=> ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).
% HF_Mirabelle_fsbjehakzm.bexCI
thf(fact_16_hballI,axiom,
! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
( ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ A3 )
=> ( P @ X ) )
=> ( hF_Mirabelle_HBall @ A3 @ P ) ) ).
% hballI
thf(fact_17_hball__triv,axiom,
! [A3: hF_Mirabelle_hf,P: $o] :
( ( hF_Mirabelle_HBall @ A3
@ ^ [X3: hF_Mirabelle_hf] : P )
= ( ? [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ A3 )
=> P ) ) ).
% hball_triv
thf(fact_18_PrimReplace__iff,axiom,
! [A3: hF_Mirabelle_hf,R: 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 @ A3 )
=> ( ( R @ U @ V )
=> ( ( R @ U @ V2 )
=> ( V2 = V ) ) ) )
=> ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mir569462966eplace @ A3 @ R ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A3 )
& ( R @ U2 @ V4 ) ) ) ) ) ).
% PrimReplace_iff
thf(fact_19_HCollect__iff,axiom,
! [X2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mir1687042746ollect @ P @ A3 ) )
= ( ( P @ X2 )
& ( hF_Mirabelle_hmem @ X2 @ A3 ) ) ) ).
% HCollect_iff
thf(fact_20_Replace__iff,axiom,
! [V4: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_Replace @ A3 @ R ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A3 )
& ( R @ U2 @ V4 )
& ! [Y3: hF_Mirabelle_hf] :
( ( R @ U2 @ Y3 )
=> ( Y3 = V4 ) ) ) ) ) ).
% Replace_iff
thf(fact_21_HUnion__iff,axiom,
! [X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mirabelle_HUnion @ A3 ) )
= ( ? [Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y3 @ A3 )
& ( hF_Mirabelle_hmem @ X2 @ Y3 ) ) ) ) ).
% HUnion_iff
thf(fact_22_hballE,axiom,
! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HBall @ A3 @ P )
=> ( ~ ( P @ X2 )
=> ~ ( hF_Mirabelle_hmem @ X2 @ A3 ) ) ) ).
% hballE
thf(fact_23_hbspec,axiom,
! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HBall @ A3 @ P )
=> ( ( hF_Mirabelle_hmem @ X2 @ A3 )
=> ( P @ X2 ) ) ) ).
% hbspec
thf(fact_24_HCollectE,axiom,
! [A2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ A2 @ ( hF_Mir1687042746ollect @ P @ A3 ) )
=> ~ ( ( hF_Mirabelle_hmem @ A2 @ A3 )
=> ~ ( P @ A2 ) ) ) ).
% HCollectE
thf(fact_25_HCollectI,axiom,
! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_hmem @ A2 @ A3 )
=> ( ( P @ A2 )
=> ( hF_Mirabelle_hmem @ A2 @ ( hF_Mir1687042746ollect @ P @ A3 ) ) ) ) ).
% HCollectI
thf(fact_26_hball__cong,axiom,
! [A3: hF_Mirabelle_hf,A6: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,P3: hF_Mirabelle_hf > $o] :
( ( A3 = A6 )
=> ( ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ A6 )
=> ( ( P @ X )
= ( P3 @ X ) ) )
=> ( ( hF_Mirabelle_HBall @ A3 @ P )
= ( hF_Mirabelle_HBall @ A6 @ P3 ) ) ) ) ).
% hball_cong
thf(fact_27_hmem__Sup__ne,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ Y2 )
=> ( ( hF_Mirabelle_HUnion @ X2 )
!= Y2 ) ) ).
% hmem_Sup_ne
thf(fact_28_Replace__cong,axiom,
! [A3: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,Q: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( A3 = B3 )
=> ( ! [X: hF_Mirabelle_hf,Y4: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ B3 )
=> ( ( P @ X @ Y4 )
= ( Q @ X @ Y4 ) ) )
=> ( ( hF_Mirabelle_Replace @ A3 @ P )
= ( hF_Mirabelle_Replace @ B3 @ Q ) ) ) ) ).
% Replace_cong
thf(fact_29_HBall__def,axiom,
( hF_Mirabelle_HBall
= ( ^ [A5: hF_Mirabelle_hf,P2: hF_Mirabelle_hf > $o] :
! [X3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X3 @ A5 )
=> ( P2 @ X3 ) ) ) ) ).
% HBall_def
thf(fact_30_Replace__def,axiom,
( hF_Mirabelle_Replace
= ( ^ [A5: hF_Mirabelle_hf,R2: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( hF_Mir569462966eplace @ A5
@ ^ [X3: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( ? [Z3: hF_Mirabelle_hf] :
( ( R2 @ X3 @ Z3 )
& ! [Aa: hF_Mirabelle_hf] :
( ( R2 @ X3 @ Aa )
=> ( Aa = Z3 ) ) )
& ( R2 @ X3 @ Y3 ) ) ) ) ) ).
% Replace_def
thf(fact_31_RepFun__def,axiom,
( hF_Mirabelle_RepFun
= ( ^ [A5: hF_Mirabelle_hf,F2: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( hF_Mirabelle_Replace @ A5
@ ^ [X3: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
( Y3
= ( F2 @ X3 ) ) ) ) ) ).
% RepFun_def
thf(fact_32_minus__hf__def,axiom,
( ( minus_minus @ hF_Mirabelle_hf )
= ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] :
( hF_Mir1687042746ollect
@ ^ [X3: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ X3 @ B4 )
@ A5 ) ) ) ).
% minus_hf_def
thf(fact_33_inf__hf__def,axiom,
( ( inf_inf @ hF_Mirabelle_hf )
= ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
( hF_Mir1687042746ollect
@ ^ [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ B2 )
@ A4 ) ) ) ).
% inf_hf_def
thf(fact_34_HInter__def,axiom,
( hF_Mirabelle_HInter
= ( ^ [A5: hF_Mirabelle_hf] :
( hF_Mir1687042746ollect
@ ^ [X3: hF_Mirabelle_hf] :
! [Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y3 @ A5 )
=> ( hF_Mirabelle_hmem @ X3 @ Y3 ) )
@ ( hF_Mirabelle_HUnion @ A5 ) ) ) ) ).
% HInter_def
thf(fact_35_RepFun__iff,axiom,
! [V4: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_RepFun @ A3 @ F ) )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A3 )
& ( V4
= ( F @ U2 ) ) ) ) ) ).
% RepFun_iff
thf(fact_36_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_37_Replace__0,axiom,
! [R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( ( hF_Mirabelle_Replace @ ( zero_zero @ hF_Mirabelle_hf ) @ R )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% Replace_0
thf(fact_38_hmem__def,axiom,
( hF_Mirabelle_hmem
= ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( member @ hF_Mirabelle_hf @ A4 @ ( hF_Mirabelle_hfset @ B2 ) ) ) ) ).
% hmem_def
thf(fact_39_triv__RepFun,axiom,
! [A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_RepFun @ A3
@ ^ [X3: hF_Mirabelle_hf] : X3 )
= A3 ) ).
% triv_RepFun
thf(fact_40_hinter__iff,axiom,
! [U4: hF_Mirabelle_hf,X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U4 @ ( inf_inf @ hF_Mirabelle_hf @ X2 @ Y2 ) )
= ( ( hF_Mirabelle_hmem @ U4 @ X2 )
& ( hF_Mirabelle_hmem @ U4 @ Y2 ) ) ) ).
% hinter_iff
thf(fact_41_hdiff__iff,axiom,
! [U4: hF_Mirabelle_hf,X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U4 @ ( minus_minus @ hF_Mirabelle_hf @ X2 @ Y2 ) )
= ( ( hF_Mirabelle_hmem @ U4 @ X2 )
& ~ ( hF_Mirabelle_hmem @ U4 @ Y2 ) ) ) ).
% hdiff_iff
thf(fact_42_hinter__hempty__right,axiom,
! [A3: hF_Mirabelle_hf] :
( ( inf_inf @ hF_Mirabelle_hf @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinter_hempty_right
thf(fact_43_hinter__hempty__left,axiom,
! [A3: hF_Mirabelle_hf] :
( ( inf_inf @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A3 )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinter_hempty_left
thf(fact_44_zero__hdiff,axiom,
! [X2: hF_Mirabelle_hf] :
( ( minus_minus @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ X2 )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% zero_hdiff
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A2: A,P: A > $o] :
( ( member @ A @ A2 @ ( collect @ A @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
! [A: $tType,A3: set @ A] :
( ( collect @ A
@ ^ [X3: A] : ( member @ A @ X3 @ A3 ) )
= A3 ) ).
% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X: A] :
( ( P @ X )
= ( Q @ X ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q ) ) ) ).
% Collect_cong
thf(fact_48_ext,axiom,
! [B5: $tType,A: $tType,F: A > B5,G: A > B5] :
( ! [X: A] :
( ( F @ X )
= ( G @ X ) )
=> ( F = G ) ) ).
% ext
thf(fact_49_hdiff__zero,axiom,
! [X2: hF_Mirabelle_hf] :
( ( minus_minus @ hF_Mirabelle_hf @ X2 @ ( zero_zero @ hF_Mirabelle_hf ) )
= X2 ) ).
% hdiff_zero
thf(fact_50_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_51_HUnion__hempty,axiom,
( ( hF_Mirabelle_HUnion @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% HUnion_hempty
thf(fact_52_HInter__hempty,axiom,
( ( hF_Mirabelle_HInter @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% HInter_hempty
thf(fact_53_HInter__iff,axiom,
! [A3: hF_Mirabelle_hf,X2: hF_Mirabelle_hf] :
( ( A3
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mirabelle_HInter @ A3 ) )
= ( ! [Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y3 @ A3 )
=> ( hF_Mirabelle_hmem @ X2 @ Y3 ) ) ) ) ) ).
% HInter_iff
thf(fact_54_foundation,axiom,
! [Z4: hF_Mirabelle_hf] :
( ( Z4
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ? [W: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ W @ Z4 )
& ( ( inf_inf @ hF_Mirabelle_hf @ W @ Z4 )
= ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).
% foundation
thf(fact_55_hemptyE,axiom,
! [A2: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hemptyE
thf(fact_56_hempty__iff,axiom,
! [Z4: hF_Mirabelle_hf] :
( ( Z4
= ( zero_zero @ hF_Mirabelle_hf ) )
= ( ! [X3: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ X3 @ Z4 ) ) ) ).
% hempty_iff
thf(fact_57_hmem__hempty,axiom,
! [A2: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hmem_hempty
thf(fact_58_RepFun__cong,axiom,
! [A3: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf,G: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( A3 = B3 )
=> ( ! [X: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X @ B3 )
=> ( ( F @ X )
= ( G @ X ) ) )
=> ( ( hF_Mirabelle_RepFun @ A3 @ F )
= ( hF_Mirabelle_RepFun @ B3 @ G ) ) ) ) ).
% RepFun_cong
thf(fact_59_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [A2: A] :
( ( minus_minus @ A @ A2 @ A2 )
= ( zero_zero @ A ) ) ) ).
% cancel_comm_monoid_add_class.diff_cancel
thf(fact_60_diff__zero,axiom,
! [A: $tType] :
( ( cancel1352612707id_add @ A )
=> ! [A2: A] :
( ( minus_minus @ A @ A2 @ ( zero_zero @ A ) )
= A2 ) ) ).
% diff_zero
thf(fact_61_zero__diff,axiom,
! [A: $tType] :
( ( comm_monoid_diff @ A )
=> ! [A2: A] :
( ( minus_minus @ A @ ( zero_zero @ A ) @ A2 )
= ( zero_zero @ A ) ) ) ).
% zero_diff
thf(fact_62_diff__0__right,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A] :
( ( minus_minus @ A @ A2 @ ( zero_zero @ A ) )
= A2 ) ) ).
% diff_0_right
thf(fact_63_diff__self,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A] :
( ( minus_minus @ A @ A2 @ A2 )
= ( zero_zero @ A ) ) ) ).
% diff_self
thf(fact_64_inf__right__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X2: A,Y2: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Y2 )
= ( inf_inf @ A @ X2 @ Y2 ) ) ) ).
% inf_right_idem
thf(fact_65_inf_Oright__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,B: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B ) @ B )
= ( inf_inf @ A @ A2 @ B ) ) ) ).
% inf.right_idem
thf(fact_66_inf__left__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X2: A,Y2: A] :
( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y2 ) )
= ( inf_inf @ A @ X2 @ Y2 ) ) ) ).
% inf_left_idem
thf(fact_67_minus__apply,axiom,
! [B5: $tType,A: $tType] :
( ( minus @ B5 )
=> ( ( minus_minus @ ( A > B5 ) )
= ( ^ [A5: A > B5,B4: A > B5,X3: A] : ( minus_minus @ B5 @ ( A5 @ X3 ) @ ( B4 @ X3 ) ) ) ) ) ).
% minus_apply
thf(fact_68_inf__apply,axiom,
! [B5: $tType,A: $tType] :
( ( semilattice_inf @ B5 )
=> ( ( inf_inf @ ( A > B5 ) )
= ( ^ [F2: A > B5,G2: A > B5,X3: A] : ( inf_inf @ B5 @ ( F2 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% inf_apply
thf(fact_69_inf_Oidem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A] :
( ( inf_inf @ A @ A2 @ A2 )
= A2 ) ) ).
% inf.idem
thf(fact_70_inf__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X2: A] :
( ( inf_inf @ A @ X2 @ X2 )
= X2 ) ) ).
% inf_idem
thf(fact_71_inf_Oleft__idem,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,B: A] :
( ( inf_inf @ A @ A2 @ ( inf_inf @ A @ A2 @ B ) )
= ( inf_inf @ A @ A2 @ B ) ) ) ).
% inf.left_idem
thf(fact_72_hfset__hdiff,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hfset @ ( minus_minus @ hF_Mirabelle_hf @ X2 @ Y2 ) )
= ( minus_minus @ ( set @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hfset @ X2 ) @ ( hF_Mirabelle_hfset @ Y2 ) ) ) ).
% hfset_hdiff
thf(fact_73_zero__reorient,axiom,
! [A: $tType] :
( ( zero @ A )
=> ! [X2: A] :
( ( ( zero_zero @ A )
= X2 )
= ( X2
= ( zero_zero @ A ) ) ) ) ).
% zero_reorient
thf(fact_74_fun__diff__def,axiom,
! [B5: $tType,A: $tType] :
( ( minus @ B5 )
=> ( ( minus_minus @ ( A > B5 ) )
= ( ^ [A5: A > B5,B4: A > B5,X3: A] : ( minus_minus @ B5 @ ( A5 @ X3 ) @ ( B4 @ X3 ) ) ) ) ) ).
% fun_diff_def
thf(fact_75_diff__eq__diff__eq,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ! [A2: A,B: A,C: A,D: A] :
( ( ( minus_minus @ A @ A2 @ B )
= ( minus_minus @ A @ C @ D ) )
=> ( ( A2 = B )
= ( C = D ) ) ) ) ).
% diff_eq_diff_eq
thf(fact_76_diff__right__commute,axiom,
! [A: $tType] :
( ( cancel146912293up_add @ A )
=> ! [A2: A,C: A,B: A] :
( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C ) @ B )
= ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B ) @ C ) ) ) ).
% diff_right_commute
thf(fact_77_inf__sup__aci_I4_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X2: A,Y2: A] :
( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y2 ) )
= ( inf_inf @ A @ X2 @ Y2 ) ) ) ).
% inf_sup_aci(4)
thf(fact_78_inf__sup__aci_I3_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X2: A,Y2: A,Z4: A] :
( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) )
= ( inf_inf @ A @ Y2 @ ( inf_inf @ A @ X2 @ Z4 ) ) ) ) ).
% inf_sup_aci(3)
thf(fact_79_inf__sup__aci_I2_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ! [X2: A,Y2: A,Z4: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Z4 )
= ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) ) ) ) ).
% inf_sup_aci(2)
thf(fact_80_inf__sup__aci_I1_J,axiom,
! [A: $tType] :
( ( lattice @ A )
=> ( ( inf_inf @ A )
= ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% inf_sup_aci(1)
thf(fact_81_inf__fun__def,axiom,
! [B5: $tType,A: $tType] :
( ( semilattice_inf @ B5 )
=> ( ( inf_inf @ ( A > B5 ) )
= ( ^ [F2: A > B5,G2: A > B5,X3: A] : ( inf_inf @ B5 @ ( F2 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% inf_fun_def
thf(fact_82_boolean__algebra__cancel_Oinf1,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A3: A,K: A,A2: A,B: A] :
( ( A3
= ( inf_inf @ A @ K @ A2 ) )
=> ( ( inf_inf @ A @ A3 @ B )
= ( inf_inf @ A @ K @ ( inf_inf @ A @ A2 @ B ) ) ) ) ) ).
% boolean_algebra_cancel.inf1
thf(fact_83_boolean__algebra__cancel_Oinf2,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B3: A,K: A,B: A,A2: A] :
( ( B3
= ( inf_inf @ A @ K @ B ) )
=> ( ( inf_inf @ A @ A2 @ B3 )
= ( inf_inf @ A @ K @ ( inf_inf @ A @ A2 @ B ) ) ) ) ) ).
% boolean_algebra_cancel.inf2
thf(fact_84_inf_Oassoc,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,B: A,C: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B ) @ C )
= ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B @ C ) ) ) ) ).
% inf.assoc
thf(fact_85_inf__assoc,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X2: A,Y2: A,Z4: A] :
( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Z4 )
= ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) ) ) ) ).
% inf_assoc
thf(fact_86_inf_Ocommute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ( ( inf_inf @ A )
= ( ^ [A4: A,B2: A] : ( inf_inf @ A @ B2 @ A4 ) ) ) ) ).
% inf.commute
thf(fact_87_inf__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ( ( inf_inf @ A )
= ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% inf_commute
thf(fact_88_inf_Oleft__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B: A,A2: A,C: A] :
( ( inf_inf @ A @ B @ ( inf_inf @ A @ A2 @ C ) )
= ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B @ C ) ) ) ) ).
% inf.left_commute
thf(fact_89_inf__left__commute,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [X2: A,Y2: A,Z4: A] :
( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) )
= ( inf_inf @ A @ Y2 @ ( inf_inf @ A @ X2 @ Z4 ) ) ) ) ).
% inf_left_commute
thf(fact_90_eq__iff__diff__eq__0,axiom,
! [A: $tType] :
( ( group_add @ A )
=> ( ( ^ [Y: A,Z: A] : ( Y = Z ) )
= ( ^ [A4: A,B2: A] :
( ( minus_minus @ A @ A4 @ B2 )
= ( zero_zero @ A ) ) ) ) ) ).
% eq_iff_diff_eq_0
thf(fact_91_HInter__hinsert,axiom,
! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
( ( A3
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ( hF_Mirabelle_HInter @ ( hF_Mirabelle_hinsert @ A2 @ A3 ) )
= ( inf_inf @ hF_Mirabelle_hf @ A2 @ ( hF_Mirabelle_HInter @ A3 ) ) ) ) ).
% HInter_hinsert
thf(fact_92_fun__cong__unused__0,axiom,
! [A: $tType,B5: $tType,C2: $tType] :
( ( zero @ B5 )
=> ! [F: ( A > B5 ) > C2,G: C2] :
( ( F
= ( ^ [X3: A > B5] : G ) )
=> ( ( F
@ ^ [X3: A] : ( zero_zero @ B5 ) )
= G ) ) ) ).
% fun_cong_unused_0
thf(fact_93_HCollect__def,axiom,
( hF_Mir1687042746ollect
= ( ^ [P2: hF_Mirabelle_hf > $o,A5: hF_Mirabelle_hf] :
( the @ hF_Mirabelle_hf
@ ^ [Z3: hF_Mirabelle_hf] :
! [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ Z3 )
= ( ( P2 @ U2 )
& ( hF_Mirabelle_hmem @ U2 @ A5 ) ) ) ) ) ) ).
% HCollect_def
thf(fact_94_HF__hfset,axiom,
! [A2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_HF @ ( hF_Mirabelle_hfset @ A2 ) )
= A2 ) ).
% HF_hfset
thf(fact_95_zero__notin__hpair,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
~ ( hF_Mirabelle_hmem @ ( zero_zero @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hpair @ X2 @ Y2 ) ) ).
% zero_notin_hpair
thf(fact_96_Abs__hf__0,axiom,
( ( hF_Mirabelle_Abs_hf @ ( zero_zero @ nat ) )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% Abs_hf_0
thf(fact_97_hfset__0,axiom,
( ( hF_Mirabelle_hfset @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( bot_bot @ ( set @ hF_Mirabelle_hf ) ) ) ).
% hfset_0
thf(fact_98_hpair__iff,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,A7: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hpair @ A2 @ B )
= ( hF_Mirabelle_hpair @ A7 @ B6 ) )
= ( ( A2 = A7 )
& ( B = B6 ) ) ) ).
% hpair_iff
thf(fact_99_inf__bot__right,axiom,
! [A: $tType] :
( ( bounded_lattice_bot @ A )
=> ! [X2: A] :
( ( inf_inf @ A @ X2 @ ( bot_bot @ A ) )
= ( bot_bot @ A ) ) ) ).
% inf_bot_right
thf(fact_100_inf__bot__left,axiom,
! [A: $tType] :
( ( bounded_lattice_bot @ A )
=> ! [X2: A] :
( ( inf_inf @ A @ ( bot_bot @ A ) @ X2 )
= ( bot_bot @ A ) ) ) ).
% inf_bot_left
thf(fact_101_hmem__hinsert,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,C: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ A2 @ ( hF_Mirabelle_hinsert @ B @ C ) )
= ( ( A2 = B )
| ( hF_Mirabelle_hmem @ A2 @ C ) ) ) ).
% hmem_hinsert
thf(fact_102_singleton__eq__iff,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hinsert @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( hF_Mirabelle_hinsert @ B @ ( zero_zero @ hF_Mirabelle_hf ) ) )
= ( A2 = B ) ) ).
% singleton_eq_iff
thf(fact_103_RepFun__hinsert,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
( ( hF_Mirabelle_RepFun @ ( hF_Mirabelle_hinsert @ A2 @ B ) @ F )
= ( hF_Mirabelle_hinsert @ ( F @ A2 ) @ ( hF_Mirabelle_RepFun @ B @ F ) ) ) ).
% RepFun_hinsert
thf(fact_104_hpair__def,axiom,
( hF_Mirabelle_hpair
= ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( zero_zero @ hF_Mirabelle_hf ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).
% hpair_def
thf(fact_105_hpair__def_H,axiom,
( hF_Mirabelle_hpair
= ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ A4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).
% hpair_def'
thf(fact_106_Zero__hf__def,axiom,
( ( zero_zero @ hF_Mirabelle_hf )
= ( hF_Mirabelle_HF @ ( bot_bot @ ( set @ hF_Mirabelle_hf ) ) ) ) ).
% Zero_hf_def
thf(fact_107_hpair__neq__snd,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ A2 @ B )
!= B ) ).
% hpair_neq_snd
thf(fact_108_hpair__neq__fst,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ A2 @ B )
!= A2 ) ).
% hpair_neq_fst
thf(fact_109_hpair__inject,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,A7: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hpair @ A2 @ B )
= ( hF_Mirabelle_hpair @ A7 @ B6 ) )
=> ~ ( ( A2 = A7 )
=> ( B != B6 ) ) ) ).
% hpair_inject
thf(fact_110_hinsert__commute,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf,Z4: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hinsert @ X2 @ ( hF_Mirabelle_hinsert @ Y2 @ Z4 ) )
= ( hF_Mirabelle_hinsert @ Y2 @ ( hF_Mirabelle_hinsert @ X2 @ Z4 ) ) ) ).
% hinsert_commute
thf(fact_111_hinsert__iff,axiom,
! [Z4: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf,X2: hF_Mirabelle_hf] :
( ( Z4
= ( hF_Mirabelle_hinsert @ Y2 @ X2 ) )
= ( ! [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ Z4 )
= ( ( hF_Mirabelle_hmem @ U2 @ X2 )
| ( U2 = Y2 ) ) ) ) ) ).
% hinsert_iff
thf(fact_112_hinsert__nonempty,axiom,
! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hinsert @ A2 @ A3 )
!= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hinsert_nonempty
thf(fact_113_HF__Mirabelle__fsbjehakzm_Odoubleton__eq__iff,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,C: hF_Mirabelle_hf,D: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hinsert @ A2 @ ( hF_Mirabelle_hinsert @ B @ ( zero_zero @ hF_Mirabelle_hf ) ) )
= ( hF_Mirabelle_hinsert @ C @ ( hF_Mirabelle_hinsert @ D @ ( zero_zero @ hF_Mirabelle_hf ) ) ) )
= ( ( ( A2 = C )
& ( B = D ) )
| ( ( A2 = D )
& ( B = C ) ) ) ) ).
% HF_Mirabelle_fsbjehakzm.doubleton_eq_iff
thf(fact_114_hf__induct__ax,axiom,
! [P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ! [X: hF_Mirabelle_hf] :
( ( P @ X )
=> ! [Y4: hF_Mirabelle_hf] :
( ( P @ Y4 )
=> ( P @ ( hF_Mirabelle_hinsert @ Y4 @ X ) ) ) )
=> ( P @ X2 ) ) ) ).
% hf_induct_ax
thf(fact_115_hpair__nonzero,axiom,
! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hpair @ X2 @ Y2 )
!= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% hpair_nonzero
thf(fact_116_hf__cases,axiom,
! [Y2: hF_Mirabelle_hf] :
( ( Y2
!= ( zero_zero @ hF_Mirabelle_hf ) )
=> ~ ! [A8: hF_Mirabelle_hf,B7: hF_Mirabelle_hf] :
( ( Y2
= ( hF_Mirabelle_hinsert @ A8 @ B7 ) )
=> ( hF_Mirabelle_hmem @ A8 @ B7 ) ) ) ).
% hf_cases
thf(fact_117_hf__induct,axiom,
! [P: hF_Mirabelle_hf > $o,Z4: hF_Mirabelle_hf] :
( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
=> ( ! [X: hF_Mirabelle_hf,Y4: hF_Mirabelle_hf] :
( ( P @ X )
=> ( ( P @ Y4 )
=> ( ~ ( hF_Mirabelle_hmem @ X @ Y4 )
=> ( P @ ( hF_Mirabelle_hinsert @ X @ Y4 ) ) ) ) )
=> ( P @ Z4 ) ) ) ).
% hf_induct
thf(fact_118_hinter__hinsert__right,axiom,
! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ B3 @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) )
= ( hF_Mirabelle_hinsert @ X2 @ ( inf_inf @ hF_Mirabelle_hf @ B3 @ A3 ) ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ B3 @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) )
= ( inf_inf @ hF_Mirabelle_hf @ B3 @ A3 ) ) ) ) ).
% hinter_hinsert_right
thf(fact_119_hinter__hinsert__left,axiom,
! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
= ( hF_Mirabelle_hinsert @ X2 @ ( inf_inf @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
= ( inf_inf @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) ) ).
% hinter_hinsert_left
thf(fact_120_hinsert__hdiff__if,axiom,
! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( minus_minus @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
= ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) ) )
& ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
=> ( ( minus_minus @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
= ( hF_Mirabelle_hinsert @ X2 @ ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) ) ) ).
% hinsert_hdiff_if
thf(fact_121_hdiff__insert,axiom,
! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
( ( minus_minus @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_hinsert @ A2 @ B3 ) )
= ( minus_minus @ hF_Mirabelle_hf @ ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) @ ( hF_Mirabelle_hinsert @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).
% hdiff_insert
thf(fact_122_hsplit,axiom,
! [A: $tType,C: hF_Mirabelle_hf > hF_Mirabelle_hf > A,A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hsplit @ A @ C @ ( hF_Mirabelle_hpair @ A2 @ B ) )
= ( C @ A2 @ B ) ) ).
% hsplit
thf(fact_123_Diff__disjoint,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ B3 @ A3 ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Diff_disjoint
thf(fact_124_Diff__cancel,axiom,
! [A: $tType,A3: set @ A] :
( ( minus_minus @ ( set @ A ) @ A3 @ A3 )
= ( bot_bot @ ( set @ A ) ) ) ).
% Diff_cancel
thf(fact_125_empty__Diff,axiom,
! [A: $tType,A3: set @ A] :
( ( minus_minus @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A3 )
= ( bot_bot @ ( set @ A ) ) ) ).
% empty_Diff
thf(fact_126_Diff__empty,axiom,
! [A: $tType,A3: set @ A] :
( ( minus_minus @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) )
= A3 ) ).
% Diff_empty
thf(fact_127_empty__iff,axiom,
! [A: $tType,C: A] :
~ ( member @ A @ C @ ( bot_bot @ ( set @ A ) ) ) ).
% empty_iff
thf(fact_128_all__not__in__conv,axiom,
! [A: $tType,A3: set @ A] :
( ( ! [X3: A] :
~ ( member @ A @ X3 @ A3 ) )
= ( A3
= ( bot_bot @ ( set @ A ) ) ) ) ).
% all_not_in_conv
thf(fact_129_Collect__empty__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( collect @ A @ P )
= ( bot_bot @ ( set @ A ) ) )
= ( ! [X3: A] :
~ ( P @ X3 ) ) ) ).
% Collect_empty_eq
thf(fact_130_empty__Collect__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( bot_bot @ ( set @ A ) )
= ( collect @ A @ P ) )
= ( ! [X3: A] :
~ ( P @ X3 ) ) ) ).
% empty_Collect_eq
thf(fact_131_Int__iff,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
= ( ( member @ A @ C @ A3 )
& ( member @ A @ C @ B3 ) ) ) ).
% Int_iff
thf(fact_132_IntI,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ A3 )
=> ( ( member @ A @ C @ B3 )
=> ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ) ) ).
% IntI
thf(fact_133_DiffI,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ A3 )
=> ( ~ ( member @ A @ C @ B3 )
=> ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ) ).
% DiffI
thf(fact_134_Diff__iff,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
= ( ( member @ A @ C @ A3 )
& ~ ( member @ A @ C @ B3 ) ) ) ).
% Diff_iff
thf(fact_135_Diff__idemp,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( minus_minus @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ B3 )
= ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ).
% Diff_idemp
thf(fact_136_Int__left__commute,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) )
= ( inf_inf @ ( set @ A ) @ B3 @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) ) ) ).
% Int_left_commute
thf(fact_137_Int__left__absorb,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
= ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ).
% Int_left_absorb
thf(fact_138_Collect__conj__eq,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ( collect @ A
@ ^ [X3: A] :
( ( P @ X3 )
& ( Q @ X3 ) ) )
= ( inf_inf @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% Collect_conj_eq
thf(fact_139_inf__set__def,axiom,
! [A: $tType] :
( ( inf_inf @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] :
( collect @ A
@ ( inf_inf @ ( A > $o )
@ ^ [X3: A] : ( member @ A @ X3 @ A5 )
@ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ) ).
% inf_set_def
thf(fact_140_Int__commute,axiom,
! [A: $tType] :
( ( inf_inf @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] : ( inf_inf @ ( set @ A ) @ B4 @ A5 ) ) ) ).
% Int_commute
thf(fact_141_Int__Collect,axiom,
! [A: $tType,X2: A,A3: set @ A,P: A > $o] :
( ( member @ A @ X2 @ ( inf_inf @ ( set @ A ) @ A3 @ ( collect @ A @ P ) ) )
= ( ( member @ A @ X2 @ A3 )
& ( P @ X2 ) ) ) ).
% Int_Collect
thf(fact_142_Int__absorb,axiom,
! [A: $tType,A3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A3 @ A3 )
= A3 ) ).
% Int_absorb
thf(fact_143_Int__assoc,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) @ C3 )
= ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) ) ) ).
% Int_assoc
thf(fact_144_Int__def,axiom,
! [A: $tType] :
( ( inf_inf @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] :
( collect @ A
@ ^ [X3: A] :
( ( member @ A @ X3 @ A5 )
& ( member @ A @ X3 @ B4 ) ) ) ) ) ).
% Int_def
thf(fact_145_IntD2,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
=> ( member @ A @ C @ B3 ) ) ).
% IntD2
thf(fact_146_IntD1,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
=> ( member @ A @ C @ A3 ) ) ).
% IntD1
thf(fact_147_IntE,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
=> ~ ( ( member @ A @ C @ A3 )
=> ~ ( member @ A @ C @ B3 ) ) ) ).
% IntE
thf(fact_148_bot__set__def,axiom,
! [A: $tType] :
( ( bot_bot @ ( set @ A ) )
= ( collect @ A @ ( bot_bot @ ( A > $o ) ) ) ) ).
% bot_set_def
thf(fact_149_bot__hf__def,axiom,
( ( bot_bot @ hF_Mirabelle_hf )
= ( zero_zero @ hF_Mirabelle_hf ) ) ).
% bot_hf_def
thf(fact_150_emptyE,axiom,
! [A: $tType,A2: A] :
~ ( member @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ).
% emptyE
thf(fact_151_equals0D,axiom,
! [A: $tType,A3: set @ A,A2: A] :
( ( A3
= ( bot_bot @ ( set @ A ) ) )
=> ~ ( member @ A @ A2 @ A3 ) ) ).
% equals0D
thf(fact_152_equals0I,axiom,
! [A: $tType,A3: set @ A] :
( ! [Y4: A] :
~ ( member @ A @ Y4 @ A3 )
=> ( A3
= ( bot_bot @ ( set @ A ) ) ) ) ).
% equals0I
thf(fact_153_ex__in__conv,axiom,
! [A: $tType,A3: set @ A] :
( ( ? [X3: A] : ( member @ A @ X3 @ A3 ) )
= ( A3
!= ( bot_bot @ ( set @ A ) ) ) ) ).
% ex_in_conv
thf(fact_154_Int__emptyI,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ! [X: A] :
( ( member @ A @ X @ A3 )
=> ~ ( member @ A @ X @ B3 ) )
=> ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
= ( bot_bot @ ( set @ A ) ) ) ) ).
% Int_emptyI
thf(fact_155_disjoint__iff,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
= ( bot_bot @ ( set @ A ) ) )
= ( ! [X3: A] :
( ( member @ A @ X3 @ A3 )
=> ~ ( member @ A @ X3 @ B3 ) ) ) ) ).
% disjoint_iff
thf(fact_156_Int__empty__left,axiom,
! [A: $tType,B3: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ B3 )
= ( bot_bot @ ( set @ A ) ) ) ).
% Int_empty_left
thf(fact_157_Int__empty__right,axiom,
! [A: $tType,A3: set @ A] :
( ( inf_inf @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Int_empty_right
thf(fact_158_disjoint__iff__not__equal,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
= ( bot_bot @ ( set @ A ) ) )
= ( ! [X3: A] :
( ( member @ A @ X3 @ A3 )
=> ! [Y3: A] :
( ( member @ A @ Y3 @ B3 )
=> ( X3 != Y3 ) ) ) ) ) ).
% disjoint_iff_not_equal
thf(fact_159_DiffE,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
=> ~ ( ( member @ A @ C @ A3 )
=> ( member @ A @ C @ B3 ) ) ) ).
% DiffE
thf(fact_160_DiffD1,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
=> ( member @ A @ C @ A3 ) ) ).
% DiffD1
thf(fact_161_DiffD2,axiom,
! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
=> ~ ( member @ A @ C @ B3 ) ) ).
% DiffD2
thf(fact_162_Int__Diff,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) @ C3 )
= ( inf_inf @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ B3 @ C3 ) ) ) ).
% Int_Diff
thf(fact_163_Diff__Int2,axiom,
! [A: $tType,A3: set @ A,C3: set @ A,B3: set @ A] :
( ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) )
= ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ B3 ) ) ).
% Diff_Int2
thf(fact_164_Diff__Diff__Int,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( minus_minus @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
= ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ).
% Diff_Diff_Int
thf(fact_165_Diff__Int__distrib,axiom,
! [A: $tType,C3: set @ A,A3: set @ A,B3: set @ A] :
( ( inf_inf @ ( set @ A ) @ C3 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
= ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ C3 @ A3 ) @ ( inf_inf @ ( set @ A ) @ C3 @ B3 ) ) ) ).
% Diff_Int_distrib
thf(fact_166_Diff__Int__distrib2,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( inf_inf @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ C3 )
= ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) ) ) ).
% Diff_Int_distrib2
thf(fact_167_empty__def,axiom,
! [A: $tType] :
( ( bot_bot @ ( set @ A ) )
= ( collect @ A
@ ^ [X3: A] : $false ) ) ).
% empty_def
thf(fact_168_set__diff__eq,axiom,
! [A: $tType] :
( ( minus_minus @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] :
( collect @ A
@ ^ [X3: A] :
( ( member @ A @ X3 @ A5 )
& ~ ( member @ A @ X3 @ B4 ) ) ) ) ) ).
% set_diff_eq
thf(fact_169_minus__set__def,axiom,
! [A: $tType] :
( ( minus_minus @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] :
( collect @ A
@ ( minus_minus @ ( A > $o )
@ ^ [X3: A] : ( member @ A @ X3 @ A5 )
@ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ) ).
% minus_set_def
thf(fact_170_Diff__triv,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
= ( bot_bot @ ( set @ A ) ) )
=> ( ( minus_minus @ ( set @ A ) @ A3 @ B3 )
= A3 ) ) ).
% Diff_triv
thf(fact_171_hfst__conv,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hfst @ ( hF_Mirabelle_hpair @ A2 @ B ) )
= A2 ) ).
% hfst_conv
thf(fact_172_hsnd__conv,axiom,
! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hsnd @ ( hF_Mirabelle_hpair @ A2 @ B ) )
= B ) ).
% hsnd_conv
thf(fact_173_the__equality,axiom,
! [A: $tType,P: A > $o,A2: A] :
( ( P @ A2 )
=> ( ! [X: A] :
( ( P @ X )
=> ( X = A2 ) )
=> ( ( the @ A @ P )
= A2 ) ) ) ).
% the_equality
thf(fact_174_the__eq__trivial,axiom,
! [A: $tType,A2: A] :
( ( the @ A
@ ^ [X3: A] : ( X3 = A2 ) )
= A2 ) ).
% the_eq_trivial
thf(fact_175_inf1I,axiom,
! [A: $tType,A3: A > $o,X2: A,B3: A > $o] :
( ( A3 @ X2 )
=> ( ( B3 @ X2 )
=> ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 ) ) ) ).
% inf1I
thf(fact_176_the__sym__eq__trivial,axiom,
! [A: $tType,X2: A] :
( ( the @ A
@ ( ^ [Y: A,Z: A] : ( Y = Z )
@ X2 ) )
= X2 ) ).
% the_sym_eq_trivial
thf(fact_177_inf1D2,axiom,
! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
=> ( B3 @ X2 ) ) ).
% inf1D2
thf(fact_178_inf1D1,axiom,
! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
=> ( A3 @ X2 ) ) ).
% inf1D1
thf(fact_179_inf1E,axiom,
! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
=> ~ ( ( A3 @ X2 )
=> ~ ( B3 @ X2 ) ) ) ).
% inf1E
thf(fact_180_the1__equality,axiom,
! [A: $tType,P: A > $o,A2: A] :
( ? [X4: A] :
( ( P @ X4 )
& ! [Y4: A] :
( ( P @ Y4 )
=> ( Y4 = X4 ) ) )
=> ( ( P @ A2 )
=> ( ( the @ A @ P )
= A2 ) ) ) ).
% the1_equality
thf(fact_181_the1I2,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ? [X4: A] :
( ( P @ X4 )
& ! [Y4: A] :
( ( P @ Y4 )
=> ( Y4 = X4 ) ) )
=> ( ! [X: A] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( the @ A @ P ) ) ) ) ).
% the1I2
thf(fact_182_If__def,axiom,
! [A: $tType] :
( ( if @ A )
= ( ^ [P2: $o,X3: A,Y3: A] :
( the @ A
@ ^ [Z3: A] :
( ( P2
=> ( Z3 = X3 ) )
& ( ~ P2
=> ( Z3 = Y3 ) ) ) ) ) ) ).
% If_def
thf(fact_183_theI2,axiom,
! [A: $tType,P: A > $o,A2: A,Q: A > $o] :
( ( P @ A2 )
=> ( ! [X: A] :
( ( P @ X )
=> ( X = A2 ) )
=> ( ! [X: A] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( the @ A @ P ) ) ) ) ) ).
% theI2
thf(fact_184_theI_H,axiom,
! [A: $tType,P: A > $o] :
( ? [X4: A] :
( ( P @ X4 )
& ! [Y4: A] :
( ( P @ Y4 )
=> ( Y4 = X4 ) ) )
=> ( P @ ( the @ A @ P ) ) ) ).
% theI'
thf(fact_185_theI,axiom,
! [A: $tType,P: A > $o,A2: A] :
( ( P @ A2 )
=> ( ! [X: A] :
( ( P @ X )
=> ( X = A2 ) )
=> ( P @ ( the @ A @ P ) ) ) ) ).
% theI
thf(fact_186_bot__apply,axiom,
! [C2: $tType,D2: $tType] :
( ( bot @ C2 )
=> ( ( bot_bot @ ( D2 > C2 ) )
= ( ^ [X3: D2] : ( bot_bot @ C2 ) ) ) ) ).
% bot_apply
thf(fact_187_inf__Int__eq,axiom,
! [A: $tType,R: set @ A,S: set @ A] :
( ( inf_inf @ ( A > $o )
@ ^ [X3: A] : ( member @ A @ X3 @ R )
@ ^ [X3: A] : ( member @ A @ X3 @ S ) )
= ( ^ [X3: A] : ( member @ A @ X3 @ ( inf_inf @ ( set @ A ) @ R @ S ) ) ) ) ).
% inf_Int_eq
thf(fact_188_diff__self__eq__0,axiom,
! [M: nat] :
( ( minus_minus @ nat @ M @ M )
= ( zero_zero @ nat ) ) ).
% diff_self_eq_0
thf(fact_189_diff__0__eq__0,axiom,
! [N: nat] :
( ( minus_minus @ nat @ ( zero_zero @ nat ) @ N )
= ( zero_zero @ nat ) ) ).
% diff_0_eq_0
thf(fact_190_diff__commute,axiom,
! [I: nat,J: nat,K: nat] :
( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J ) @ K )
= ( minus_minus @ nat @ ( minus_minus @ nat @ I @ K ) @ J ) ) ).
% diff_commute
thf(fact_191_bot__nat__def,axiom,
( ( bot_bot @ nat )
= ( zero_zero @ nat ) ) ).
% bot_nat_def
thf(fact_192_diffs0__imp__equal,axiom,
! [M: nat,N: nat] :
( ( ( minus_minus @ nat @ M @ N )
= ( zero_zero @ nat ) )
=> ( ( ( minus_minus @ nat @ N @ M )
= ( zero_zero @ nat ) )
=> ( M = N ) ) ) ).
% diffs0_imp_equal
thf(fact_193_minus__nat_Odiff__0,axiom,
! [M: nat] :
( ( minus_minus @ nat @ M @ ( zero_zero @ nat ) )
= M ) ).
% minus_nat.diff_0
thf(fact_194_bot__fun__def,axiom,
! [B5: $tType,A: $tType] :
( ( bot @ B5 )
=> ( ( bot_bot @ ( A > B5 ) )
= ( ^ [X3: A] : ( bot_bot @ B5 ) ) ) ) ).
% bot_fun_def
thf(fact_195_bot__empty__eq,axiom,
! [A: $tType] :
( ( bot_bot @ ( A > $o ) )
= ( ^ [X3: A] : ( member @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).
% bot_empty_eq
thf(fact_196_Collect__empty__eq__bot,axiom,
! [A: $tType,P: A > $o] :
( ( ( collect @ A @ P )
= ( bot_bot @ ( set @ A ) ) )
= ( P
= ( bot_bot @ ( A > $o ) ) ) ) ).
% Collect_empty_eq_bot
thf(fact_197_ord_OLeast__def,axiom,
! [A: $tType] :
( ( least @ A )
= ( ^ [Less_eq: A > A > $o,P2: A > $o] :
( the @ A
@ ^ [X3: A] :
( ( P2 @ X3 )
& ! [Y3: A] :
( ( P2 @ Y3 )
=> ( Less_eq @ X3 @ Y3 ) ) ) ) ) ) ).
% ord.Least_def
thf(fact_198_PrimReplace__def,axiom,
( hF_Mir569462966eplace
= ( ^ [A5: hF_Mirabelle_hf,R2: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
( the @ hF_Mirabelle_hf
@ ^ [Z3: hF_Mirabelle_hf] :
! [V5: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ V5 @ Z3 )
= ( ? [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ A5 )
& ( R2 @ U2 @ V5 ) ) ) ) ) ) ) ).
% PrimReplace_def
thf(fact_199_hcard__0,axiom,
( ( hF_Mirabelle_hcard @ ( zero_zero @ hF_Mirabelle_hf ) )
= ( zero_zero @ nat ) ) ).
% hcard_0
thf(fact_200_hfst__def,axiom,
( hF_Mirabelle_hfst
= ( ^ [P4: hF_Mirabelle_hf] :
( the @ hF_Mirabelle_hf
@ ^ [X3: hF_Mirabelle_hf] :
? [Y3: hF_Mirabelle_hf] :
( P4
= ( hF_Mirabelle_hpair @ X3 @ Y3 ) ) ) ) ) ).
% hfst_def
thf(fact_201_hsnd__def,axiom,
( hF_Mirabelle_hsnd
= ( ^ [P4: hF_Mirabelle_hf] :
( the @ hF_Mirabelle_hf
@ ^ [Y3: hF_Mirabelle_hf] :
? [X3: hF_Mirabelle_hf] :
( P4
= ( hF_Mirabelle_hpair @ X3 @ Y3 ) ) ) ) ) ).
% hsnd_def
thf(fact_202_HUnion__def,axiom,
( hF_Mirabelle_HUnion
= ( ^ [A5: hF_Mirabelle_hf] :
( the @ hF_Mirabelle_hf
@ ^ [Z3: hF_Mirabelle_hf] :
! [U2: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ U2 @ Z3 )
= ( ? [Y3: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ Y3 @ A5 )
& ( hF_Mirabelle_hmem @ U2 @ Y3 ) ) ) ) ) ) ) ).
% HUnion_def
thf(fact_203_hcard__hdiff1__less,axiom,
! [X2: hF_Mirabelle_hf,Z4: hF_Mirabelle_hf] :
( ( hF_Mirabelle_hmem @ X2 @ Z4 )
=> ( ord_less @ nat @ ( hF_Mirabelle_hcard @ ( minus_minus @ hF_Mirabelle_hf @ Z4 @ ( hF_Mirabelle_hinsert @ X2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) @ ( hF_Mirabelle_hcard @ Z4 ) ) ) ).
% hcard_hdiff1_less
thf(fact_204_Set_Ois__empty__def,axiom,
! [A: $tType] :
( ( is_empty @ A )
= ( ^ [A5: set @ A] :
( A5
= ( bot_bot @ ( set @ A ) ) ) ) ) ).
% Set.is_empty_def
thf(fact_205_not__gr__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ~ ( ord_less @ A @ ( zero_zero @ A ) @ N ) )
= ( N
= ( zero_zero @ A ) ) ) ) ).
% not_gr_zero
thf(fact_206_bot__nat__0_Onot__eq__extremum,axiom,
! [A2: nat] :
( ( A2
!= ( zero_zero @ nat ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ A2 ) ) ).
% bot_nat_0.not_eq_extremum
thf(fact_207_less__nat__zero__code,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% less_nat_zero_code
thf(fact_208_neq0__conv,axiom,
! [N: nat] :
( ( N
!= ( zero_zero @ nat ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).
% neq0_conv
thf(fact_209_diff__gt__0__iff__gt,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A2 @ B ) )
= ( ord_less @ A @ B @ A2 ) ) ) ).
% diff_gt_0_iff_gt
thf(fact_210_zero__less__diff,axiom,
! [N: nat,M: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( minus_minus @ nat @ N @ M ) )
= ( ord_less @ nat @ M @ N ) ) ).
% zero_less_diff
thf(fact_211_less__imp__diff__less,axiom,
! [J: nat,K: nat,N: nat] :
( ( ord_less @ nat @ J @ K )
=> ( ord_less @ nat @ ( minus_minus @ nat @ J @ N ) @ K ) ) ).
% less_imp_diff_less
thf(fact_212_diff__less__mono2,axiom,
! [M: nat,N: nat,L: nat] :
( ( ord_less @ nat @ M @ N )
=> ( ( ord_less @ nat @ M @ L )
=> ( ord_less @ nat @ ( minus_minus @ nat @ L @ N ) @ ( minus_minus @ nat @ L @ M ) ) ) ) ).
% diff_less_mono2
thf(fact_213_diff__less,axiom,
! [N: nat,M: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N )
=> ( ( ord_less @ nat @ ( zero_zero @ nat ) @ M )
=> ( ord_less @ nat @ ( minus_minus @ nat @ M @ N ) @ M ) ) ) ).
% diff_less
thf(fact_214_diff__strict__right__mono,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B: A,C: A] :
( ( ord_less @ A @ A2 @ B )
=> ( ord_less @ A @ ( minus_minus @ A @ A2 @ C ) @ ( minus_minus @ A @ B @ C ) ) ) ) ).
% diff_strict_right_mono
thf(fact_215_diff__strict__left__mono,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [B: A,A2: A,C: A] :
( ( ord_less @ A @ B @ A2 )
=> ( ord_less @ A @ ( minus_minus @ A @ C @ A2 ) @ ( minus_minus @ A @ C @ B ) ) ) ) ).
% diff_strict_left_mono
thf(fact_216_diff__eq__diff__less,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B: A,C: A,D: A] :
( ( ( minus_minus @ A @ A2 @ B )
= ( minus_minus @ A @ C @ D ) )
=> ( ( ord_less @ A @ A2 @ B )
= ( ord_less @ A @ C @ D ) ) ) ) ).
% diff_eq_diff_less
thf(fact_217_diff__strict__mono,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ! [A2: A,B: A,D: A,C: A] :
( ( ord_less @ A @ A2 @ B )
=> ( ( ord_less @ A @ D @ C )
=> ( ord_less @ A @ ( minus_minus @ A @ A2 @ C ) @ ( minus_minus @ A @ B @ D ) ) ) ) ) ).
% diff_strict_mono
thf(fact_218_infinite__descent0__measure,axiom,
! [A: $tType,V6: A > nat,P: A > $o,X2: A] :
( ! [X: A] :
( ( ( V6 @ X )
= ( zero_zero @ nat ) )
=> ( P @ X ) )
=> ( ! [X: A] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( V6 @ X ) )
=> ( ~ ( P @ X )
=> ? [Y5: A] :
( ( ord_less @ nat @ ( V6 @ Y5 ) @ ( V6 @ X ) )
& ~ ( P @ Y5 ) ) ) )
=> ( P @ X2 ) ) ) ).
% infinite_descent0_measure
thf(fact_219_bot__nat__0_Oextremum__strict,axiom,
! [A2: nat] :
~ ( ord_less @ nat @ A2 @ ( zero_zero @ nat ) ) ).
% bot_nat_0.extremum_strict
thf(fact_220_infinite__descent0,axiom,
! [P: nat > $o,N: nat] :
( ( P @ ( zero_zero @ nat ) )
=> ( ! [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
=> ( ~ ( P @ N2 )
=> ? [M2: nat] :
( ( ord_less @ nat @ M2 @ N2 )
& ~ ( P @ M2 ) ) ) )
=> ( P @ N ) ) ) ).
% infinite_descent0
thf(fact_221_gr__implies__not0,axiom,
! [M: nat,N: nat] :
( ( ord_less @ nat @ M @ N )
=> ( N
!= ( zero_zero @ nat ) ) ) ).
% gr_implies_not0
thf(fact_222_less__zeroE,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% less_zeroE
thf(fact_223_not__less0,axiom,
! [N: nat] :
~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).
% not_less0
thf(fact_224_not__gr0,axiom,
! [N: nat] :
( ( ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) )
= ( N
= ( zero_zero @ nat ) ) ) ).
% not_gr0
thf(fact_225_gr0I,axiom,
! [N: nat] :
( ( N
!= ( zero_zero @ nat ) )
=> ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).
% gr0I
thf(fact_226_less__iff__diff__less__0,axiom,
! [A: $tType] :
( ( ordered_ab_group_add @ A )
=> ( ( ord_less @ A )
= ( ^ [A4: A,B2: A] : ( ord_less @ A @ ( minus_minus @ A @ A4 @ B2 ) @ ( zero_zero @ A ) ) ) ) ) ).
% less_iff_diff_less_0
thf(fact_227_zero__less__iff__neq__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ord_less @ A @ ( zero_zero @ A ) @ N )
= ( N
!= ( zero_zero @ A ) ) ) ) ).
% zero_less_iff_neq_zero
thf(fact_228_gr__implies__not__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [M: A,N: A] :
( ( ord_less @ A @ M @ N )
=> ( N
!= ( zero_zero @ A ) ) ) ) ).
% gr_implies_not_zero
thf(fact_229_not__less__zero,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
~ ( ord_less @ A @ N @ ( zero_zero @ A ) ) ) ).
% not_less_zero
thf(fact_230_gr__zeroI,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( N
!= ( zero_zero @ A ) )
=> ( ord_less @ A @ ( zero_zero @ A ) @ N ) ) ) ).
% gr_zeroI
thf(fact_231_less__infI1,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,X2: A,B: A] :
( ( ord_less @ A @ A2 @ X2 )
=> ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ X2 ) ) ) ).
% less_infI1
thf(fact_232_less__infI2,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B: A,X2: A,A2: A] :
( ( ord_less @ A @ B @ X2 )
=> ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ X2 ) ) ) ).
% less_infI2
thf(fact_233_inf_Ostrict__boundedE,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,B: A,C: A] :
( ( ord_less @ A @ A2 @ ( inf_inf @ A @ B @ C ) )
=> ~ ( ( ord_less @ A @ A2 @ B )
=> ~ ( ord_less @ A @ A2 @ C ) ) ) ) ).
% inf.strict_boundedE
thf(fact_234_inf_Ostrict__order__iff,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ( ( ord_less @ A )
= ( ^ [A4: A,B2: A] :
( ( A4
= ( inf_inf @ A @ A4 @ B2 ) )
& ( A4 != B2 ) ) ) ) ) ).
% inf.strict_order_iff
thf(fact_235_inf_Ostrict__coboundedI1,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [A2: A,C: A,B: A] :
( ( ord_less @ A @ A2 @ C )
=> ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ C ) ) ) ).
% inf.strict_coboundedI1
thf(fact_236_inf_Ostrict__coboundedI2,axiom,
! [A: $tType] :
( ( semilattice_inf @ A )
=> ! [B: A,C: A,A2: A] :
( ( ord_less @ A @ B @ C )
=> ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ C ) ) ) ).
% inf.strict_coboundedI2
thf(fact_237_bot_Oextremum__strict,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
~ ( ord_less @ A @ A2 @ ( bot_bot @ A ) ) ) ).
% bot.extremum_strict
thf(fact_238_bot_Onot__eq__extremum,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
( ( A2
!= ( bot_bot @ A ) )
= ( ord_less @ A @ ( bot_bot @ A ) @ A2 ) ) ) ).
% bot.not_eq_extremum
thf(fact_239_less__numeral__extra_I3_J,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ~ ( ord_less @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% less_numeral_extra(3)
thf(fact_240_of__nat__0__less__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [N: nat] :
( ( ord_less @ A @ ( zero_zero @ A ) @ ( semiring_1_of_nat @ A @ N ) )
= ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ) ).
% of_nat_0_less_iff
thf(fact_241_of__nat__0,axiom,
! [A: $tType] :
( ( semiring_1 @ A )
=> ( ( semiring_1_of_nat @ A @ ( zero_zero @ nat ) )
= ( zero_zero @ A ) ) ) ).
% of_nat_0
thf(fact_242_of__nat__0__eq__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [N: nat] :
( ( ( zero_zero @ A )
= ( semiring_1_of_nat @ A @ N ) )
= ( ( zero_zero @ nat )
= N ) ) ) ).
% of_nat_0_eq_iff
thf(fact_243_of__nat__eq__0__iff,axiom,
! [A: $tType] :
( ( semiring_char_0 @ A )
=> ! [M: nat] :
( ( ( semiring_1_of_nat @ A @ M )
= ( zero_zero @ A ) )
= ( M
= ( zero_zero @ nat ) ) ) ) ).
% of_nat_eq_0_iff
thf(fact_244_psubset__imp__ex__mem,axiom,
! [A: $tType,A3: set @ A,B3: set @ A] :
( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ? [B7: A] : ( member @ A @ B7 @ ( minus_minus @ ( set @ A ) @ B3 @ A3 ) ) ) ).
% psubset_imp_ex_mem
thf(fact_245_of__nat__less__0__iff,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ! [M: nat] :
~ ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( zero_zero @ A ) ) ) ).
% of_nat_less_0_iff
thf(fact_246_not__psubset__empty,axiom,
! [A: $tType,A3: set @ A] :
~ ( ord_less @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).
% not_psubset_empty
thf(fact_247_pos__int__cases,axiom,
! [K: int] :
( ( ord_less @ int @ ( zero_zero @ int ) @ K )
=> ~ ! [N2: nat] :
( ( K
= ( semiring_1_of_nat @ int @ N2 ) )
=> ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).
% pos_int_cases
thf(fact_248_zero__less__imp__eq__int,axiom,
! [K: int] :
( ( ord_less @ int @ ( zero_zero @ int ) @ K )
=> ? [N2: nat] :
( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
& ( K
= ( semiring_1_of_nat @ int @ N2 ) ) ) ) ).
% zero_less_imp_eq_int
thf(fact_249_psubsetD,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C: A] :
( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ( ( member @ A @ C @ A3 )
=> ( member @ A @ C @ B3 ) ) ) ).
% psubsetD
thf(fact_250_less__set__def,axiom,
! [A: $tType] :
( ( ord_less @ ( set @ A ) )
= ( ^ [A5: set @ A,B4: set @ A] :
( ord_less @ ( A > $o )
@ ^ [X3: A] : ( member @ A @ X3 @ A5 )
@ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ).
% less_set_def
thf(fact_251_psubset__trans,axiom,
! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
( ( ord_less @ ( set @ A ) @ A3 @ B3 )
=> ( ( ord_less @ ( set @ A ) @ B3 @ C3 )
=> ( ord_less @ ( set @ A ) @ A3 @ C3 ) ) ) ).
% psubset_trans
thf(fact_252_int__diff__cases,axiom,
! [Z4: int] :
~ ! [M3: nat,N2: nat] :
( Z4
!= ( minus_minus @ int @ ( semiring_1_of_nat @ int @ M3 ) @ ( semiring_1_of_nat @ int @ N2 ) ) ) ).
% int_diff_cases
thf(fact_253_minus__int__code_I1_J,axiom,
! [K: int] :
( ( minus_minus @ int @ K @ ( zero_zero @ int ) )
= K ) ).
% minus_int_code(1)
% Type constructors (52)
thf(tcon_HOL_Obool___Lattices_Obounded__lattice,axiom,
bounded_lattice @ $o ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice_1,axiom,
! [A9: $tType] : ( bounded_lattice @ ( set @ A9 ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice_2,axiom,
! [A9: $tType,A10: $tType] :
( ( bounded_lattice @ A10 )
=> ( bounded_lattice @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Lattices_Obounded__lattice__bot,axiom,
! [A9: $tType,A10: $tType] :
( ( bounded_lattice @ A10 )
=> ( bounded_lattice_bot @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
! [A9: $tType,A10: $tType] :
( ( semilattice_inf @ A10 )
=> ( semilattice_inf @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Oorder__bot,axiom,
! [A9: $tType,A10: $tType] :
( ( order_bot @ A10 )
=> ( order_bot @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Lattices_Olattice,axiom,
! [A9: $tType,A10: $tType] :
( ( lattice @ A10 )
=> ( lattice @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Orderings_Obot,axiom,
! [A9: $tType,A10: $tType] :
( ( bot @ A10 )
=> ( bot @ ( A9 > A10 ) ) ) ).
thf(tcon_fun___Groups_Ominus,axiom,
! [A9: $tType,A10: $tType] :
( ( minus @ A10 )
=> ( minus @ ( A9 > A10 ) ) ) ).
thf(tcon_Int_Oint___Rings_Olinordered__nonzero__semiring,axiom,
linord1659791738miring @ int ).
thf(tcon_Int_Oint___Groups_Ocancel__ab__semigroup__add,axiom,
cancel146912293up_add @ int ).
thf(tcon_Int_Oint___Groups_Ocancel__comm__monoid__add,axiom,
cancel1352612707id_add @ int ).
thf(tcon_Int_Oint___Groups_Oordered__ab__group__add,axiom,
ordered_ab_group_add @ int ).
thf(tcon_Int_Oint___Lattices_Osemilattice__inf_3,axiom,
semilattice_inf @ int ).
thf(tcon_Int_Oint___Nat_Osemiring__char__0,axiom,
semiring_char_0 @ int ).
thf(tcon_Int_Oint___Rings_Osemiring__1,axiom,
semiring_1 @ int ).
thf(tcon_Int_Oint___Lattices_Olattice_4,axiom,
lattice @ int ).
thf(tcon_Int_Oint___Groups_Ogroup__add,axiom,
group_add @ int ).
thf(tcon_Int_Oint___Groups_Ominus_5,axiom,
minus @ int ).
thf(tcon_Int_Oint___Groups_Ozero,axiom,
zero @ int ).
thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
canoni770627133id_add @ nat ).
thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring_6,axiom,
linord1659791738miring @ nat ).
thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add_7,axiom,
cancel146912293up_add @ nat ).
thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add_8,axiom,
cancel1352612707id_add @ nat ).
thf(tcon_Nat_Onat___Lattices_Osemilattice__inf_9,axiom,
semilattice_inf @ nat ).
thf(tcon_Nat_Onat___Groups_Ocomm__monoid__diff,axiom,
comm_monoid_diff @ nat ).
thf(tcon_Nat_Onat___Orderings_Oorder__bot_10,axiom,
order_bot @ nat ).
thf(tcon_Nat_Onat___Nat_Osemiring__char__0_11,axiom,
semiring_char_0 @ nat ).
thf(tcon_Nat_Onat___Rings_Osemiring__1_12,axiom,
semiring_1 @ nat ).
thf(tcon_Nat_Onat___Lattices_Olattice_13,axiom,
lattice @ nat ).
thf(tcon_Nat_Onat___Orderings_Obot_14,axiom,
bot @ nat ).
thf(tcon_Nat_Onat___Groups_Ominus_15,axiom,
minus @ nat ).
thf(tcon_Nat_Onat___Groups_Ozero_16,axiom,
zero @ nat ).
thf(tcon_Set_Oset___Lattices_Obounded__lattice__bot_17,axiom,
! [A9: $tType] : ( bounded_lattice_bot @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Lattices_Osemilattice__inf_18,axiom,
! [A9: $tType] : ( semilattice_inf @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Oorder__bot_19,axiom,
! [A9: $tType] : ( order_bot @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Lattices_Olattice_20,axiom,
! [A9: $tType] : ( lattice @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Orderings_Obot_21,axiom,
! [A9: $tType] : ( bot @ ( set @ A9 ) ) ).
thf(tcon_Set_Oset___Groups_Ominus_22,axiom,
! [A9: $tType] : ( minus @ ( set @ A9 ) ) ).
thf(tcon_HOL_Obool___Lattices_Obounded__lattice__bot_23,axiom,
bounded_lattice_bot @ $o ).
thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_24,axiom,
semilattice_inf @ $o ).
thf(tcon_HOL_Obool___Orderings_Oorder__bot_25,axiom,
order_bot @ $o ).
thf(tcon_HOL_Obool___Lattices_Olattice_26,axiom,
lattice @ $o ).
thf(tcon_HOL_Obool___Orderings_Obot_27,axiom,
bot @ $o ).
thf(tcon_HOL_Obool___Groups_Ominus_28,axiom,
minus @ $o ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Obounded__lattice__bot_29,axiom,
bounded_lattice_bot @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__inf_30,axiom,
semilattice_inf @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Orderings_Oorder__bot_31,axiom,
order_bot @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Olattice_32,axiom,
lattice @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Orderings_Obot_33,axiom,
bot @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ominus_34,axiom,
minus @ hF_Mirabelle_hf ).
thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ozero_35,axiom,
zero @ hF_Mirabelle_hf ).
% Helper facts (3)
thf(help_If_3_1_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_T,axiom,
! [A: $tType,X2: A,Y2: A] :
( ( if @ A @ $false @ X2 @ Y2 )
= Y2 ) ).
thf(help_If_1_1_T,axiom,
! [A: $tType,X2: A,Y2: A] :
( ( if @ A @ $true @ X2 @ Y2 )
= X2 ) ).
% Conjectures (1)
thf(conj_0,conjecture,
( ( hF_Mirabelle_HBex @ a
@ ^ [X3: hF_Mirabelle_hf] : p )
= ( ? [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ a )
& p ) ) ).
%------------------------------------------------------------------------------