TPTP Problem File: ITP179^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP179^2 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer StandardRules problem prob_555__5392816_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 : StandardRules/prob_555__5392816_1 [Des21]
% Status : Theorem
% Rating : 0.00 v8.1.0, 0.25 v7.5.0
% Syntax : Number of formulae : 340 ( 141 unt; 59 typ; 0 def)
% Number of atoms : 691 ( 260 equ; 0 cnn)
% Maximal formula atoms : 13 ( 2 avg)
% Number of connectives : 5618 ( 68 ~; 6 |; 54 &;5227 @)
% ( 0 <=>; 263 =>; 0 <=; 0 <~>)
% Maximal formula depth : 28 ( 8 avg)
% Number of types : 4 ( 3 usr)
% Number of type conns : 109 ( 109 >; 0 *; 0 +; 0 <<)
% Number of symbols : 57 ( 56 usr; 4 con; 0-6 aty)
% Number of variables : 1121 ( 41 ^;1000 !; 11 ?;1121 :)
% ( 69 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:56.500
%------------------------------------------------------------------------------
% Could-be-implicit typings (8)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
standard_Constant: $tType > $tType ).
thf(ty_t_LabeledGraphs_Olabeled__graph,type,
labeled_graph: $tType > $tType > $tType ).
thf(ty_t_Product__Type_Oprod,type,
product_prod: $tType > $tType > $tType ).
thf(ty_t_Sum__Type_Osum,type,
sum_sum: $tType > $tType > $tType ).
thf(ty_t_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
thf(ty_tf_b,type,
b: $tType ).
thf(ty_tf_a,type,
a: $tType ).
% Explicit typings (51)
thf(sy_cl_HOL_Otype,type,
type:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Oone,type,
one:
!>[A: $tType] : $o ).
thf(sy_cl_Groups_Ozero,type,
zero:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Obot,type,
bot:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oord,type,
ord:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder,type,
order:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Olinorder,type,
linorder:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Opreorder,type,
preorder:
!>[A: $tType] : $o ).
thf(sy_cl_Rings_Ozero__neq__one,type,
zero_neq_one:
!>[A: $tType] : $o ).
thf(sy_cl_Orderings_Oorder__bot,type,
order_bot:
!>[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_Equiv__Relations_Oequiv,type,
equiv_equiv:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).
thf(sy_c_Groups_Oone__class_Oone,type,
one_one:
!>[A: $tType] : A ).
thf(sy_c_Groups_Ozero__class_Ozero,type,
zero_zero:
!>[A: $tType] : A ).
thf(sy_c_LabeledGraphSemantics_OStandard__Constant_OS__Bot,type,
standard_S_Bot:
!>[V: $tType] : ( standard_Constant @ V ) ).
thf(sy_c_LabeledGraphSemantics_OStandard__Constant_OS__Idt,type,
standard_S_Idt:
!>[V: $tType] : ( standard_Constant @ V ) ).
thf(sy_c_LabeledGraphSemantics_OgetRel,type,
getRel:
!>[B: $tType,A: $tType] : ( B > ( labeled_graph @ B @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).
thf(sy_c_LabeledGraphs_Oedge__preserving,type,
edge_preserving:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) > ( set @ ( product_prod @ C @ ( product_prod @ B @ B ) ) ) > $o ) ).
thf(sy_c_LabeledGraphs_Ograph__homomorphism,type,
graph_homomorphism:
!>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ C ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).
thf(sy_c_LabeledGraphs_Ograph__union,type,
graph_union:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_OLG,type,
labeled_LG:
!>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > ( labeled_graph @ L @ V ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_Oedges,type,
labeled_edges:
!>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) ) ).
thf(sy_c_LabeledGraphs_Olabeled__graph_Overtices,type,
labeled_vertices:
!>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ V ) ) ).
thf(sy_c_LabeledGraphs_Omap__graph,type,
map_graph:
!>[C: $tType,B: $tType,A: $tType] : ( ( set @ ( product_prod @ C @ B ) ) > ( labeled_graph @ A @ C ) > ( labeled_graph @ A @ B ) ) ).
thf(sy_c_LabeledGraphs_Oon__triple,type,
on_triple:
!>[B: $tType,C: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) ) ) ).
thf(sy_c_LabeledGraphs_Orestrict,type,
restrict:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).
thf(sy_c_MissingRelation_Ounivalent,type,
univalent:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > $o ) ).
thf(sy_c_Orderings_Obot__class_Obot,type,
bot_bot:
!>[A: $tType] : A ).
thf(sy_c_Orderings_Oord__class_Oless__eq,type,
ord_less_eq:
!>[A: $tType] : ( A > A > $o ) ).
thf(sy_c_Product__Type_OPair,type,
product_Pair:
!>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
product_rec_prod:
!>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
thf(sy_c_Relation_ODomain,type,
domain:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) ) ).
thf(sy_c_Relation_OId__on,type,
id_on:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).
thf(sy_c_Relation_OImage,type,
image:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) ).
thf(sy_c_RulesAndChains_Omaintained,type,
maintained:
!>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).
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_Set_Ois__singleton,type,
is_singleton:
!>[A: $tType] : ( ( set @ A ) > $o ) ).
thf(sy_c_Set_Othe__elem,type,
the_elem:
!>[A: $tType] : ( ( set @ A ) > A ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ocongruence__rule,type,
standa1068660421e_rule:
!>[L: $tType] : ( L > L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ononempty__rule,type,
standa244753842y_rule:
!>[L: $tType] : ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oreflexivity__rule,type,
standa245363227y_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Osymmetry__rule,type,
standa1805702094y_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otop__rule,type,
standa400804411p_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otransitive__rule,type,
standa2114124375e_rule:
!>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).
thf(sy_c_member,type,
member:
!>[A: $tType] : ( A > ( set @ A ) > $o ) ).
thf(sy_v_G,type,
g: labeled_graph @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) ).
thf(sy_v_f____,type,
f: set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ).
thf(sy_v_l,type,
l: standard_Constant @ a ).
thf(sy_v_v____,type,
v: sum_sum @ a @ b ).
% Relevant facts (253)
thf(fact_0_g,axiom,
( g
= ( restrict @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ).
% g
thf(fact_1_v,axiom,
member @ ( sum_sum @ a @ b ) @ v @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).
% v
thf(fact_2__092_060open_062edge__preserving_A_123_I0_058_058_063_Hc1_M_Av_J_125_A_123_IS__Idt_M_A0_058_058_063_Hc1_M_A0_058_058_063_Hc1_J_125_A_Iedges_AG_J_092_060close_062,axiom,
! [C2: $tType] :
( ( zero @ C2 )
=> ( edge_preserving @ C2 @ ( sum_sum @ a @ b ) @ ( standard_Constant @ a ) @ ( insert @ ( product_prod @ C2 @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ C2 @ ( sum_sum @ a @ b ) @ ( zero_zero @ C2 ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ C2 @ ( sum_sum @ a @ b ) ) ) ) ) @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ C2 @ C2 @ ( zero_zero @ C2 ) @ ( zero_zero @ C2 ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).
% \<open>edge_preserving {(0::?'c1, v)} {(S_Idt, 0::?'c1, 0::?'c1)} (edges G)\<close>
thf(fact_3_r,axiom,
ord_less_eq @ ( set @ ( sum_sum @ a @ b ) ) @ ( image @ nat @ ( sum_sum @ a @ b ) @ f @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).
% r
thf(fact_4_f,axiom,
( f
= ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) ) ).
% f
thf(fact_5_d,axiom,
( ( domain @ nat @ ( sum_sum @ a @ b ) @ f )
= ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ).
% d
thf(fact_6_graph__single,axiom,
! [A: $tType,B: $tType,A2: A,B2: B,C3: B] :
( ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A2 @ ( product_Pair @ B @ B @ B2 @ C3 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B2 @ ( insert @ B @ C3 @ ( bot_bot @ ( set @ B ) ) ) ) )
= ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A2 @ ( product_Pair @ B @ B @ B2 @ C3 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B2 @ ( insert @ B @ C3 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).
% graph_single
thf(fact_7__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062v_O_A_I0_M_Av_J_A_092_060in_062_Af_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
~ ! [V2: sum_sum @ a @ b] :
~ ( member @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ V2 ) @ f ) ).
% \<open>\<And>thesis. (\<And>v. (0, v) \<in> f \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_8_u,axiom,
univalent @ nat @ ( sum_sum @ a @ b ) @ f ).
% u
thf(fact_9_Domain__insert,axiom,
! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B )] :
( ( domain @ A @ B @ ( insert @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R ) )
= ( insert @ A @ A2 @ ( domain @ A @ B @ R ) ) ) ).
% Domain_insert
thf(fact_10_Image__singleton__iff,axiom,
! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A2: B] :
( ( member @ A @ B2 @ ( image @ B @ A @ R @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) )
= ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ B2 ) @ R ) ) ).
% Image_singleton_iff
thf(fact_11_graph__empty__e,axiom,
! [A: $tType,B: $tType,V3: set @ B] :
( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 )
= ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 ) ) ) ).
% graph_empty_e
thf(fact_12_labeled__graph_Ocollapse,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
( ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) )
= Labeled_graph ) ).
% labeled_graph.collapse
thf(fact_13_Domain__empty,axiom,
! [B: $tType,A: $tType] :
( ( domain @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Domain_empty
thf(fact_14_Image__empty1,axiom,
! [B: $tType,A: $tType,X2: set @ B] :
( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X2 )
= ( bot_bot @ ( set @ A ) ) ) ).
% Image_empty1
thf(fact_15_restrict__idemp,axiom,
! [B: $tType,A: $tType,X3: labeled_graph @ A @ B] :
( ( restrict @ A @ B @ ( restrict @ A @ B @ X3 ) )
= ( restrict @ A @ B @ X3 ) ) ).
% restrict_idemp
thf(fact_16_labeled__graph_Oinject,axiom,
! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V,Y1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),Y2: set @ V] :
( ( ( labeled_LG @ L @ V @ X1 @ X22 )
= ( labeled_LG @ L @ V @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X22 = Y2 ) ) ) ).
% labeled_graph.inject
thf(fact_17_v__gr,axiom,
! [A3: sum_sum @ a @ b,B3: sum_sum @ a @ b] :
( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) @ A3 @ B3 ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
= ( ( member @ ( sum_sum @ a @ b ) @ A3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
& ( B3 = A3 ) ) ) ).
% v_gr
thf(fact_18__092_060open_062_IS__Idt_M_Av_M_Av_J_A_092_060in_062_Aedges_AG_092_060close_062,axiom,
member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) @ v @ v ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).
% \<open>(S_Idt, v, v) \<in> edges G\<close>
thf(fact_19_ImageI,axiom,
! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B ),A4: set @ A] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
=> ( ( member @ A @ A2 @ A4 )
=> ( member @ B @ B2 @ ( image @ A @ B @ R @ A4 ) ) ) ) ).
% ImageI
thf(fact_20_Image__empty2,axiom,
! [B: $tType,A: $tType,R2: set @ ( product_prod @ B @ A )] :
( ( image @ B @ A @ R2 @ ( bot_bot @ ( set @ B ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% Image_empty2
thf(fact_21_vertices__restrict,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ B @ A] :
( ( labeled_vertices @ B @ A @ ( restrict @ B @ A @ G ) )
= ( labeled_vertices @ B @ A @ G ) ) ).
% vertices_restrict
thf(fact_22__092_060open_062graph__homomorphism_A_ILG_A_123_125_A_1230_125_J_AG_Af_092_060close_062,axiom,
graph_homomorphism @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ g @ f ).
% \<open>graph_homomorphism (LG {} {0}) G f\<close>
thf(fact_23_labeled__graph_Oexhaust,axiom,
! [L: $tType,V: $tType,Y: labeled_graph @ L @ V] :
~ ! [X12: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
( Y
!= ( labeled_LG @ L @ V @ X12 @ X23 ) ) ).
% labeled_graph.exhaust
thf(fact_24_labeled__graph_Oinduct,axiom,
! [V: $tType,L: $tType,P: ( labeled_graph @ L @ V ) > $o,Labeled_graph: labeled_graph @ L @ V] :
( ! [X1a: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X2a: set @ V] : ( P @ ( labeled_LG @ L @ V @ X1a @ X2a ) )
=> ( P @ Labeled_graph ) ) ).
% labeled_graph.induct
thf(fact_25_rev__ImageI,axiom,
! [B: $tType,A: $tType,A2: A,A4: set @ A,B2: B,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ A4 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
=> ( member @ B @ B2 @ ( image @ A @ B @ R @ A4 ) ) ) ) ).
% rev_ImageI
thf(fact_26_Image__iff,axiom,
! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A4: set @ B] :
( ( member @ A @ B2 @ ( image @ B @ A @ R @ A4 ) )
= ( ? [X4: B] :
( ( member @ B @ X4 @ A4 )
& ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X4 @ B2 ) @ R ) ) ) ) ).
% Image_iff
thf(fact_27_ImageE,axiom,
! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A4: set @ B] :
( ( member @ A @ B2 @ ( image @ B @ A @ R @ A4 ) )
=> ~ ! [X5: B] :
( ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X5 @ B2 ) @ R )
=> ~ ( member @ B @ X5 @ A4 ) ) ) ).
% ImageE
thf(fact_28_Image__mono,axiom,
! [B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),A5: set @ A,A4: set @ A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
=> ( ( ord_less_eq @ ( set @ A ) @ A5 @ A4 )
=> ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R3 @ A5 ) @ ( image @ A @ B @ R @ A4 ) ) ) ) ).
% Image_mono
thf(fact_29_Domain_Oinducts,axiom,
! [B: $tType,A: $tType,X3: A,R: set @ ( product_prod @ A @ B ),P: A > $o] :
( ( member @ A @ X3 @ ( domain @ A @ B @ R ) )
=> ( ! [A6: A,B4: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A6 @ B4 ) @ R )
=> ( P @ A6 ) )
=> ( P @ X3 ) ) ) ).
% Domain.inducts
thf(fact_30_Domain_ODomainI,axiom,
! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
=> ( member @ A @ A2 @ ( domain @ A @ B @ R ) ) ) ).
% Domain.DomainI
thf(fact_31_Domain_Osimps,axiom,
! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
= ( ? [A7: A,B5: B] :
( ( A2 = A7 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B5 ) @ R ) ) ) ) ).
% Domain.simps
thf(fact_32_Domain_Ocases,axiom,
! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
=> ~ ! [B4: B] :
~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R ) ) ).
% Domain.cases
thf(fact_33_Domain__iff,axiom,
! [A: $tType,B: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
= ( ? [Y3: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ Y3 ) @ R ) ) ) ).
% Domain_iff
thf(fact_34_DomainE,axiom,
! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
=> ~ ! [B4: B] :
~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R ) ) ).
% DomainE
thf(fact_35_Domain__mono,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S )
=> ( ord_less_eq @ ( set @ A ) @ ( domain @ A @ B @ R ) @ ( domain @ A @ B @ S ) ) ) ).
% Domain_mono
thf(fact_36_labeled__graph_Oexpand,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V,Labeled_graph2: labeled_graph @ L @ V] :
( ( ( ( labeled_edges @ L @ V @ Labeled_graph )
= ( labeled_edges @ L @ V @ Labeled_graph2 ) )
& ( ( labeled_vertices @ L @ V @ Labeled_graph )
= ( labeled_vertices @ L @ V @ Labeled_graph2 ) ) )
=> ( Labeled_graph = Labeled_graph2 ) ) ).
% labeled_graph.expand
thf(fact_37_labeled__graph_Osel_I2_J,axiom,
! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labeled_vertices @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= X22 ) ).
% labeled_graph.sel(2)
thf(fact_38_labeled__graph_Osel_I1_J,axiom,
! [V: $tType,L: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labeled_edges @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= X1 ) ).
% labeled_graph.sel(1)
thf(fact_39_Domain__empty__iff,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] :
( ( ( domain @ A @ B @ R )
= ( bot_bot @ ( set @ A ) ) )
= ( R
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ).
% Domain_empty_iff
thf(fact_40_edge__preserving__atomic,axiom,
! [A: $tType,B: $tType,C: $tType,H1: set @ ( product_prod @ A @ B ),E1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E2: set @ ( product_prod @ C @ ( product_prod @ B @ B ) ),V1: A,V12: B,V22: A,V23: B,K: C] :
( ( edge_preserving @ A @ B @ C @ H1 @ E1 @ E2 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V1 @ V12 ) @ H1 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V22 @ V23 ) @ H1 )
=> ( ( member @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_Pair @ C @ ( product_prod @ A @ A ) @ K @ ( product_Pair @ A @ A @ V1 @ V22 ) ) @ E1 )
=> ( member @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( product_Pair @ C @ ( product_prod @ B @ B ) @ K @ ( product_Pair @ B @ B @ V12 @ V23 ) ) @ E2 ) ) ) ) ) ).
% edge_preserving_atomic
thf(fact_41_labeled__graph_Oexhaust__sel,axiom,
! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ).
% labeled_graph.exhaust_sel
thf(fact_42_singleton__insert__inj__eq_H,axiom,
! [A: $tType,A2: A,A4: set @ A,B2: A] :
( ( ( insert @ A @ A2 @ A4 )
= ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
= ( ( A2 = B2 )
& ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% singleton_insert_inj_eq'
thf(fact_43_singleton__insert__inj__eq,axiom,
! [A: $tType,B2: A,A2: A,A4: set @ A] :
( ( ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) )
= ( insert @ A @ A2 @ A4 ) )
= ( ( A2 = B2 )
& ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% singleton_insert_inj_eq
thf(fact_44_univalent__empty,axiom,
! [B: $tType,A: $tType] : ( univalent @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% univalent_empty
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,A4: set @ A] :
( ( collect @ A
@ ^ [X4: A] : ( member @ A @ X4 @ A4 ) )
= A4 ) ).
% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X5: A] :
( ( P @ X5 )
= ( Q @ X5 ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q ) ) ) ).
% Collect_cong
thf(fact_48_ext,axiom,
! [B: $tType,A: $tType,F: A > B,G2: A > B] :
( ! [X5: A] :
( ( F @ X5 )
= ( G2 @ X5 ) )
=> ( F = G2 ) ) ).
% ext
thf(fact_49_insert__subset,axiom,
! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ A4 ) @ B6 )
= ( ( member @ A @ X3 @ B6 )
& ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ) ).
% insert_subset
thf(fact_50_singletonI,axiom,
! [A: $tType,A2: A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% singletonI
thf(fact_51_empty__subsetI,axiom,
! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A4 ) ).
% empty_subsetI
thf(fact_52_subset__empty,axiom,
! [A: $tType,A4: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ ( bot_bot @ ( set @ A ) ) )
= ( A4
= ( bot_bot @ ( set @ A ) ) ) ) ).
% subset_empty
thf(fact_53_le__zero__eq,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [N: A] :
( ( ord_less_eq @ A @ N @ ( zero_zero @ A ) )
= ( N
= ( zero_zero @ A ) ) ) ) ).
% le_zero_eq
thf(fact_54_reflexivity__rule__def,axiom,
! [L: $tType] :
( ( standa245363227y_rule @ L )
= ( ^ [T2: L] : ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ ( labeled_LG @ L @ nat @ ( insert @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ L @ ( product_prod @ nat @ nat ) @ T2 @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ) ).
% reflexivity_rule_def
thf(fact_55_nonempty__rule__def,axiom,
! [L: $tType] :
( ( standa244753842y_rule @ L )
= ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( bot_bot @ ( set @ nat ) ) ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ).
% nonempty_rule_def
thf(fact_56_empty__iff,axiom,
! [A: $tType,C3: A] :
~ ( member @ A @ C3 @ ( bot_bot @ ( set @ A ) ) ) ).
% empty_iff
thf(fact_57_all__not__in__conv,axiom,
! [A: $tType,A4: set @ A] :
( ( ! [X4: A] :
~ ( member @ A @ X4 @ A4 ) )
= ( A4
= ( bot_bot @ ( set @ A ) ) ) ) ).
% all_not_in_conv
thf(fact_58_Collect__empty__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( collect @ A @ P )
= ( bot_bot @ ( set @ A ) ) )
= ( ! [X4: A] :
~ ( P @ X4 ) ) ) ).
% Collect_empty_eq
thf(fact_59_empty__Collect__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( bot_bot @ ( set @ A ) )
= ( collect @ A @ P ) )
= ( ! [X4: A] :
~ ( P @ X4 ) ) ) ).
% empty_Collect_eq
thf(fact_60_subsetI,axiom,
! [A: $tType,A4: set @ A,B6: set @ A] :
( ! [X5: A] :
( ( member @ A @ X5 @ A4 )
=> ( member @ A @ X5 @ B6 ) )
=> ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ).
% subsetI
thf(fact_61_subset__antisym,axiom,
! [A: $tType,A4: set @ A,B6: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ( ( ord_less_eq @ ( set @ A ) @ B6 @ A4 )
=> ( A4 = B6 ) ) ) ).
% subset_antisym
thf(fact_62_insertCI,axiom,
! [A: $tType,A2: A,B6: set @ A,B2: A] :
( ( ~ ( member @ A @ A2 @ B6 )
=> ( A2 = B2 ) )
=> ( member @ A @ A2 @ ( insert @ A @ B2 @ B6 ) ) ) ).
% insertCI
thf(fact_63_insert__iff,axiom,
! [A: $tType,A2: A,B2: A,A4: set @ A] :
( ( member @ A @ A2 @ ( insert @ A @ B2 @ A4 ) )
= ( ( A2 = B2 )
| ( member @ A @ A2 @ A4 ) ) ) ).
% insert_iff
thf(fact_64_insert__absorb2,axiom,
! [A: $tType,X3: A,A4: set @ A] :
( ( insert @ A @ X3 @ ( insert @ A @ X3 @ A4 ) )
= ( insert @ A @ X3 @ A4 ) ) ).
% insert_absorb2
thf(fact_65_graph__homomorphism__empty,axiom,
! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ G @ F )
= ( ( F
= ( bot_bot @ ( set @ ( product_prod @ B @ C ) ) ) )
& ( G
= ( restrict @ A @ C @ G ) ) ) ) ).
% graph_homomorphism_empty
thf(fact_66_edge__preserving__subset,axiom,
! [A: $tType,B: $tType,C: $tType,R_1: set @ ( product_prod @ A @ B ),R_2: set @ ( product_prod @ A @ B ),E_1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E_2: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),G: set @ ( product_prod @ C @ ( product_prod @ B @ B ) )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R_1 @ R_2 )
=> ( ( ord_less_eq @ ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) @ E_1 @ E_2 )
=> ( ( edge_preserving @ A @ B @ C @ R_2 @ E_2 @ G )
=> ( edge_preserving @ A @ B @ C @ R_1 @ E_1 @ G ) ) ) ) ).
% edge_preserving_subset
thf(fact_67_subrelI,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
( ! [X5: A,Y4: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R )
=> ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).
% subrelI
thf(fact_68_restrict__subsD,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) )
=> ( G
= ( restrict @ A @ B @ G ) ) ) ).
% restrict_subsD
thf(fact_69_zero__reorient,axiom,
! [A: $tType] :
( ( zero @ A )
=> ! [X3: A] :
( ( ( zero_zero @ A )
= X3 )
= ( X3
= ( zero_zero @ A ) ) ) ) ).
% zero_reorient
thf(fact_70_emptyE,axiom,
! [A: $tType,A2: A] :
~ ( member @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ).
% emptyE
thf(fact_71_equals0D,axiom,
! [A: $tType,A4: set @ A,A2: A] :
( ( A4
= ( bot_bot @ ( set @ A ) ) )
=> ~ ( member @ A @ A2 @ A4 ) ) ).
% equals0D
thf(fact_72_equals0I,axiom,
! [A: $tType,A4: set @ A] :
( ! [Y4: A] :
~ ( member @ A @ Y4 @ A4 )
=> ( A4
= ( bot_bot @ ( set @ A ) ) ) ) ).
% equals0I
thf(fact_73_ex__in__conv,axiom,
! [A: $tType,A4: set @ A] :
( ( ? [X4: A] : ( member @ A @ X4 @ A4 ) )
= ( A4
!= ( bot_bot @ ( set @ A ) ) ) ) ).
% ex_in_conv
thf(fact_74_in__mono,axiom,
! [A: $tType,A4: set @ A,B6: set @ A,X3: A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ( ( member @ A @ X3 @ A4 )
=> ( member @ A @ X3 @ B6 ) ) ) ).
% in_mono
thf(fact_75_subsetD,axiom,
! [A: $tType,A4: set @ A,B6: set @ A,C3: A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ( ( member @ A @ C3 @ A4 )
=> ( member @ A @ C3 @ B6 ) ) ) ).
% subsetD
thf(fact_76_equalityE,axiom,
! [A: $tType,A4: set @ A,B6: set @ A] :
( ( A4 = B6 )
=> ~ ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A4 ) ) ) ).
% equalityE
thf(fact_77_subset__eq,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A8: set @ A,B7: set @ A] :
! [X4: A] :
( ( member @ A @ X4 @ A8 )
=> ( member @ A @ X4 @ B7 ) ) ) ) ).
% subset_eq
thf(fact_78_equalityD1,axiom,
! [A: $tType,A4: set @ A,B6: set @ A] :
( ( A4 = B6 )
=> ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ).
% equalityD1
thf(fact_79_equalityD2,axiom,
! [A: $tType,A4: set @ A,B6: set @ A] :
( ( A4 = B6 )
=> ( ord_less_eq @ ( set @ A ) @ B6 @ A4 ) ) ).
% equalityD2
thf(fact_80_subset__iff,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A8: set @ A,B7: set @ A] :
! [T2: A] :
( ( member @ A @ T2 @ A8 )
=> ( member @ A @ T2 @ B7 ) ) ) ) ).
% subset_iff
thf(fact_81_subset__refl,axiom,
! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ A4 @ A4 ) ).
% subset_refl
thf(fact_82_Collect__mono,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X5: A] :
( ( P @ X5 )
=> ( Q @ X5 ) )
=> ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% Collect_mono
thf(fact_83_subset__trans,axiom,
! [A: $tType,A4: set @ A,B6: set @ A,C4: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ( ( ord_less_eq @ ( set @ A ) @ B6 @ C4 )
=> ( ord_less_eq @ ( set @ A ) @ A4 @ C4 ) ) ) ).
% subset_trans
thf(fact_84_set__eq__subset,axiom,
! [A: $tType] :
( ( ^ [Y5: set @ A,Z: set @ A] : ( Y5 = Z ) )
= ( ^ [A8: set @ A,B7: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A8 @ B7 )
& ( ord_less_eq @ ( set @ A ) @ B7 @ A8 ) ) ) ) ).
% set_eq_subset
thf(fact_85_Collect__mono__iff,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
= ( ! [X4: A] :
( ( P @ X4 )
=> ( Q @ X4 ) ) ) ) ).
% Collect_mono_iff
thf(fact_86_insertE,axiom,
! [A: $tType,A2: A,B2: A,A4: set @ A] :
( ( member @ A @ A2 @ ( insert @ A @ B2 @ A4 ) )
=> ( ( A2 != B2 )
=> ( member @ A @ A2 @ A4 ) ) ) ).
% insertE
thf(fact_87_insertI1,axiom,
! [A: $tType,A2: A,B6: set @ A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ B6 ) ) ).
% insertI1
thf(fact_88_insertI2,axiom,
! [A: $tType,A2: A,B6: set @ A,B2: A] :
( ( member @ A @ A2 @ B6 )
=> ( member @ A @ A2 @ ( insert @ A @ B2 @ B6 ) ) ) ).
% insertI2
thf(fact_89_Set_Oset__insert,axiom,
! [A: $tType,X3: A,A4: set @ A] :
( ( member @ A @ X3 @ A4 )
=> ~ ! [B8: set @ A] :
( ( A4
= ( insert @ A @ X3 @ B8 ) )
=> ( member @ A @ X3 @ B8 ) ) ) ).
% Set.set_insert
thf(fact_90_insert__ident,axiom,
! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
( ~ ( member @ A @ X3 @ A4 )
=> ( ~ ( member @ A @ X3 @ B6 )
=> ( ( ( insert @ A @ X3 @ A4 )
= ( insert @ A @ X3 @ B6 ) )
= ( A4 = B6 ) ) ) ) ).
% insert_ident
thf(fact_91_insert__absorb,axiom,
! [A: $tType,A2: A,A4: set @ A] :
( ( member @ A @ A2 @ A4 )
=> ( ( insert @ A @ A2 @ A4 )
= A4 ) ) ).
% insert_absorb
thf(fact_92_insert__eq__iff,axiom,
! [A: $tType,A2: A,A4: set @ A,B2: A,B6: set @ A] :
( ~ ( member @ A @ A2 @ A4 )
=> ( ~ ( member @ A @ B2 @ B6 )
=> ( ( ( insert @ A @ A2 @ A4 )
= ( insert @ A @ B2 @ B6 ) )
= ( ( ( A2 = B2 )
=> ( A4 = B6 ) )
& ( ( A2 != B2 )
=> ? [C5: set @ A] :
( ( A4
= ( insert @ A @ B2 @ C5 ) )
& ~ ( member @ A @ B2 @ C5 )
& ( B6
= ( insert @ A @ A2 @ C5 ) )
& ~ ( member @ A @ A2 @ C5 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_93_insert__commute,axiom,
! [A: $tType,X3: A,Y: A,A4: set @ A] :
( ( insert @ A @ X3 @ ( insert @ A @ Y @ A4 ) )
= ( insert @ A @ Y @ ( insert @ A @ X3 @ A4 ) ) ) ).
% insert_commute
thf(fact_94_mk__disjoint__insert,axiom,
! [A: $tType,A2: A,A4: set @ A] :
( ( member @ A @ A2 @ A4 )
=> ? [B8: set @ A] :
( ( A4
= ( insert @ A @ A2 @ B8 ) )
& ~ ( member @ A @ A2 @ B8 ) ) ) ).
% mk_disjoint_insert
thf(fact_95_zero__le,axiom,
! [A: $tType] :
( ( canoni770627133id_add @ A )
=> ! [X3: A] : ( ord_less_eq @ A @ ( zero_zero @ A ) @ X3 ) ) ).
% zero_le
thf(fact_96_singletonD,axiom,
! [A: $tType,B2: A,A2: A] :
( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( B2 = A2 ) ) ).
% singletonD
thf(fact_97_singleton__iff,axiom,
! [A: $tType,B2: A,A2: A] :
( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
= ( B2 = A2 ) ) ).
% singleton_iff
thf(fact_98_doubleton__eq__iff,axiom,
! [A: $tType,A2: A,B2: A,C3: A,D: A] :
( ( ( insert @ A @ A2 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
= ( insert @ A @ C3 @ ( insert @ A @ D @ ( bot_bot @ ( set @ A ) ) ) ) )
= ( ( ( A2 = C3 )
& ( B2 = D ) )
| ( ( A2 = D )
& ( B2 = C3 ) ) ) ) ).
% doubleton_eq_iff
thf(fact_99_insert__not__empty,axiom,
! [A: $tType,A2: A,A4: set @ A] :
( ( insert @ A @ A2 @ A4 )
!= ( bot_bot @ ( set @ A ) ) ) ).
% insert_not_empty
thf(fact_100_singleton__inject,axiom,
! [A: $tType,A2: A,B2: A] :
( ( ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) )
= ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( A2 = B2 ) ) ).
% singleton_inject
thf(fact_101_insert__mono,axiom,
! [A: $tType,C4: set @ A,D2: set @ A,A2: A] :
( ( ord_less_eq @ ( set @ A ) @ C4 @ D2 )
=> ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ A2 @ C4 ) @ ( insert @ A @ A2 @ D2 ) ) ) ).
% insert_mono
thf(fact_102_subset__insert,axiom,
! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
( ~ ( member @ A @ X3 @ A4 )
=> ( ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ X3 @ B6 ) )
= ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ) ).
% subset_insert
thf(fact_103_subset__insertI,axiom,
! [A: $tType,B6: set @ A,A2: A] : ( ord_less_eq @ ( set @ A ) @ B6 @ ( insert @ A @ A2 @ B6 ) ) ).
% subset_insertI
thf(fact_104_subset__insertI2,axiom,
! [A: $tType,A4: set @ A,B6: set @ A,B2: A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
=> ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ B6 ) ) ) ).
% subset_insertI2
thf(fact_105_univalentD,axiom,
! [A: $tType,B: $tType,R2: set @ ( product_prod @ A @ B ),X3: A,Y: B,Z2: B] :
( ( univalent @ A @ B @ R2 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R2 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Z2 ) @ R2 )
=> ( Z2 = Y ) ) ) ) ).
% univalentD
thf(fact_106_univalent__def,axiom,
! [B: $tType,A: $tType] :
( ( univalent @ A @ B )
= ( ^ [R4: set @ ( product_prod @ A @ B )] :
! [X4: A,Y3: B,Z3: B] :
( ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R4 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Z3 ) @ R4 ) )
=> ( Z3 = Y3 ) ) ) ) ).
% univalent_def
thf(fact_107_graph__homomorphismI,axiom,
! [B: $tType,C: $tType,A: $tType,S: labeled_graph @ B @ A,H: set @ ( product_prod @ A @ C ),T3: labeled_graph @ B @ C] :
( ( ( labeled_vertices @ B @ A @ S )
= ( domain @ A @ C @ H ) )
=> ( ( ord_less_eq @ ( set @ C ) @ ( image @ A @ C @ H @ ( labeled_vertices @ B @ A @ S ) ) @ ( labeled_vertices @ B @ C @ T3 ) )
=> ( ( univalent @ A @ C @ H )
=> ( ( edge_preserving @ A @ C @ B @ H @ ( labeled_edges @ B @ A @ S ) @ ( labeled_edges @ B @ C @ T3 ) )
=> ( ( S
= ( restrict @ B @ A @ S ) )
=> ( ( T3
= ( restrict @ B @ C @ T3 ) )
=> ( graph_homomorphism @ B @ A @ C @ S @ T3 @ H ) ) ) ) ) ) ) ).
% graph_homomorphismI
thf(fact_108_graph__homomorphism__def,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( graph_homomorphism @ A @ B @ C )
= ( ^ [G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ C,F2: set @ ( product_prod @ B @ C )] :
( ( ( labeled_vertices @ A @ B @ G_1 )
= ( domain @ B @ C @ F2 ) )
& ( G_1
= ( restrict @ A @ B @ G_1 ) )
& ( G_2
= ( restrict @ A @ C @ G_2 ) )
& ( ord_less_eq @ ( set @ C ) @ ( image @ B @ C @ F2 @ ( labeled_vertices @ A @ B @ G_1 ) ) @ ( labeled_vertices @ A @ C @ G_2 ) )
& ( univalent @ B @ C @ F2 )
& ( edge_preserving @ B @ C @ A @ F2 @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ C @ G_2 ) ) ) ) ) ).
% graph_homomorphism_def
thf(fact_109_subset__singletonD,axiom,
! [A: $tType,A4: set @ A,X3: A] :
( ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( ( A4
= ( bot_bot @ ( set @ A ) ) )
| ( A4
= ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% subset_singletonD
thf(fact_110_subset__singleton__iff,axiom,
! [A: $tType,X2: set @ A,A2: A] :
( ( ord_less_eq @ ( set @ A ) @ X2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
= ( ( X2
= ( bot_bot @ ( set @ A ) ) )
| ( X2
= ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% subset_singleton_iff
thf(fact_111_univalent__insert,axiom,
! [A: $tType,B: $tType,A2: B,R2: set @ ( product_prod @ B @ A ),B2: A] :
( ! [C6: A] :
~ ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ C6 ) @ R2 )
=> ( ( univalent @ B @ A @ ( insert @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ B2 ) @ R2 ) )
= ( univalent @ B @ A @ R2 ) ) ) ).
% univalent_insert
thf(fact_112_graph__homomorphism__concr__graph,axiom,
! [A: $tType,B: $tType,C: $tType,G: labeled_graph @ A @ B,E: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),V3: set @ C,X3: set @ ( product_prod @ C @ B )] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( ( labeled_LG @ A @ C @ E @ V3 )
= ( restrict @ A @ C @ ( labeled_LG @ A @ C @ E @ V3 ) ) )
=> ( ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E @ V3 ) @ G @ X3 )
= ( ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ X3 @ V3 ) @ ( labeled_vertices @ A @ B @ G ) )
& ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ X3 ) @ E ) @ ( labeled_edges @ A @ B @ G ) )
& ( univalent @ C @ B @ X3 )
& ( ( domain @ C @ B @ X3 )
= V3 ) ) ) ) ) ).
% graph_homomorphism_concr_graph
thf(fact_113_le0,axiom,
! [N: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ N ) ).
% le0
thf(fact_114_bot__nat__0_Oextremum,axiom,
! [A2: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ A2 ) ).
% bot_nat_0.extremum
thf(fact_115_the__elem__eq,axiom,
! [A: $tType,X3: A] :
( ( the_elem @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
= X3 ) ).
% the_elem_eq
thf(fact_116_bot__apply,axiom,
! [C: $tType,D3: $tType] :
( ( bot @ C )
=> ( ( bot_bot @ ( D3 > C ) )
= ( ^ [X4: D3] : ( bot_bot @ C ) ) ) ) ).
% bot_apply
thf(fact_117_prod_Oinject,axiom,
! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y2: B] :
( ( ( product_Pair @ A @ B @ X1 @ X22 )
= ( product_Pair @ A @ B @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X22 = Y2 ) ) ) ).
% prod.inject
thf(fact_118_old_Oprod_Oinject,axiom,
! [A: $tType,B: $tType,A2: A,B2: B,A9: A,B9: B] :
( ( ( product_Pair @ A @ B @ A2 @ B2 )
= ( product_Pair @ A @ B @ A9 @ B9 ) )
= ( ( A2 = A9 )
& ( B2 = B9 ) ) ) ).
% old.prod.inject
thf(fact_119_order__refl,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X3: A] : ( ord_less_eq @ A @ X3 @ X3 ) ) ).
% order_refl
thf(fact_120_on__triple__univ,axiom,
! [C: $tType,B: $tType,A: $tType,F: set @ ( product_prod @ A @ B )] :
( ( univalent @ A @ B @ F )
=> ( univalent @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( on_triple @ A @ B @ C @ F ) ) ) ).
% on_triple_univ
thf(fact_121_on__triple,axiom,
! [B: $tType,C: $tType,A: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
= ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V1 @ V32 ) @ R2 )
& ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V22 @ V4 ) @ R2 )
& ( L1 = L2 ) ) ) ).
% on_triple
thf(fact_122_edge__preservingI,axiom,
! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B ),E3: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),G: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ R2 ) @ E3 ) @ G )
=> ( edge_preserving @ C @ B @ A @ R2 @ E3 @ G ) ) ).
% edge_preservingI
thf(fact_123_Nat_Oex__has__greatest__nat,axiom,
! [P: nat > $o,K: nat,B2: nat] :
( ( P @ K )
=> ( ! [Y4: nat] :
( ( P @ Y4 )
=> ( ord_less_eq @ nat @ Y4 @ B2 ) )
=> ? [X5: nat] :
( ( P @ X5 )
& ! [Y6: nat] :
( ( P @ Y6 )
=> ( ord_less_eq @ nat @ Y6 @ X5 ) ) ) ) ) ).
% Nat.ex_has_greatest_nat
thf(fact_124_nat__le__linear,axiom,
! [M: nat,N: nat] :
( ( ord_less_eq @ nat @ M @ N )
| ( ord_less_eq @ nat @ N @ M ) ) ).
% nat_le_linear
thf(fact_125_le__antisym,axiom,
! [M: nat,N: nat] :
( ( ord_less_eq @ nat @ M @ N )
=> ( ( ord_less_eq @ nat @ N @ M )
=> ( M = N ) ) ) ).
% le_antisym
thf(fact_126_eq__imp__le,axiom,
! [M: nat,N: nat] :
( ( M = N )
=> ( ord_less_eq @ nat @ M @ N ) ) ).
% eq_imp_le
thf(fact_127_le__trans,axiom,
! [I: nat,J: nat,K: nat] :
( ( ord_less_eq @ nat @ I @ J )
=> ( ( ord_less_eq @ nat @ J @ K )
=> ( ord_less_eq @ nat @ I @ K ) ) ) ).
% le_trans
thf(fact_128_le__refl,axiom,
! [N: nat] : ( ord_less_eq @ nat @ N @ N ) ).
% le_refl
thf(fact_129_bot__nat__def,axiom,
( ( bot_bot @ nat )
= ( zero_zero @ nat ) ) ).
% bot_nat_def
thf(fact_130_bot__empty__eq,axiom,
! [A: $tType] :
( ( bot_bot @ ( A > $o ) )
= ( ^ [X4: A] : ( member @ A @ X4 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).
% bot_empty_eq
thf(fact_131_bot__set__def,axiom,
! [A: $tType] :
( ( bot_bot @ ( set @ A ) )
= ( collect @ A @ ( bot_bot @ ( A > $o ) ) ) ) ).
% bot_set_def
thf(fact_132_edge__preserving,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( edge_preserving @ A @ B @ C )
= ( ^ [R4: set @ ( product_prod @ A @ B ),E4: set @ ( product_prod @ C @ ( product_prod @ A @ A ) )] : ( ord_less_eq @ ( set @ ( product_prod @ C @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( on_triple @ A @ B @ C @ R4 ) @ E4 ) ) ) ) ).
% edge_preserving
thf(fact_133_on__tripleD_I1_J,axiom,
! [B: $tType,C: $tType,A: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
=> ( L2 = L1 ) ) ).
% on_tripleD(1)
thf(fact_134_on__tripleD_I2_J,axiom,
! [A: $tType,C: $tType,B: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V1 @ V32 ) @ R2 ) ) ).
% on_tripleD(2)
thf(fact_135_on__tripleD_I3_J,axiom,
! [A: $tType,C: $tType,B: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V22 @ V4 ) @ R2 ) ) ).
% on_tripleD(3)
thf(fact_136_on__triple__dest,axiom,
! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B ),E3: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),G: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),L3: A,X3: C,Y: C,Xx: B,Yy: B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ R2 ) @ E3 ) @ G )
=> ( ( member @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L3 @ ( product_Pair @ C @ C @ X3 @ Y ) ) @ E3 )
=> ( ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ X3 @ Xx ) @ R2 )
=> ( ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y @ Yy ) @ R2 )
=> ( member @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L3 @ ( product_Pair @ B @ B @ Xx @ Yy ) ) @ G ) ) ) ) ) ).
% on_triple_dest
thf(fact_137_dual__order_Oantisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [B2: A,A2: A] :
( ( ord_less_eq @ A @ B2 @ A2 )
=> ( ( ord_less_eq @ A @ A2 @ B2 )
=> ( A2 = B2 ) ) ) ) ).
% dual_order.antisym
thf(fact_138_dual__order_Oeq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : ( Y5 = Z ) )
= ( ^ [A7: A,B5: A] :
( ( ord_less_eq @ A @ B5 @ A7 )
& ( ord_less_eq @ A @ A7 @ B5 ) ) ) ) ) ).
% dual_order.eq_iff
thf(fact_139_dual__order_Otrans,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [B2: A,A2: A,C3: A] :
( ( ord_less_eq @ A @ B2 @ A2 )
=> ( ( ord_less_eq @ A @ C3 @ B2 )
=> ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).
% dual_order.trans
thf(fact_140_linorder__wlog,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [P: A > A > $o,A2: A,B2: A] :
( ! [A6: A,B4: A] :
( ( ord_less_eq @ A @ A6 @ B4 )
=> ( P @ A6 @ B4 ) )
=> ( ! [A6: A,B4: A] :
( ( P @ B4 @ A6 )
=> ( P @ A6 @ B4 ) )
=> ( P @ A2 @ B2 ) ) ) ) ).
% linorder_wlog
thf(fact_141_dual__order_Orefl,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% dual_order.refl
thf(fact_142_order__trans,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X3: A,Y: A,Z2: A] :
( ( ord_less_eq @ A @ X3 @ Y )
=> ( ( ord_less_eq @ A @ Y @ Z2 )
=> ( ord_less_eq @ A @ X3 @ Z2 ) ) ) ) ).
% order_trans
thf(fact_143_order__class_Oorder_Oantisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A,B2: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ A @ B2 @ A2 )
=> ( A2 = B2 ) ) ) ) ).
% order_class.order.antisym
thf(fact_144_ord__le__eq__trans,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( B2 = C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% ord_le_eq_trans
thf(fact_145_ord__eq__le__trans,axiom,
! [A: $tType] :
( ( ord @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( A2 = B2 )
=> ( ( ord_less_eq @ A @ B2 @ C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% ord_eq_le_trans
thf(fact_146_order__class_Oorder_Oeq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : ( Y5 = Z ) )
= ( ^ [A7: A,B5: A] :
( ( ord_less_eq @ A @ A7 @ B5 )
& ( ord_less_eq @ A @ B5 @ A7 ) ) ) ) ) ).
% order_class.order.eq_iff
thf(fact_147_antisym__conv,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [Y: A,X3: A] :
( ( ord_less_eq @ A @ Y @ X3 )
=> ( ( ord_less_eq @ A @ X3 @ Y )
= ( X3 = Y ) ) ) ) ).
% antisym_conv
thf(fact_148_le__cases3,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X3: A,Y: A,Z2: A] :
( ( ( ord_less_eq @ A @ X3 @ Y )
=> ~ ( ord_less_eq @ A @ Y @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ Y @ X3 )
=> ~ ( ord_less_eq @ A @ X3 @ Z2 ) )
=> ( ( ( ord_less_eq @ A @ X3 @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ Y ) )
=> ( ( ( ord_less_eq @ A @ Z2 @ Y )
=> ~ ( ord_less_eq @ A @ Y @ X3 ) )
=> ( ( ( ord_less_eq @ A @ Y @ Z2 )
=> ~ ( ord_less_eq @ A @ Z2 @ X3 ) )
=> ~ ( ( ord_less_eq @ A @ Z2 @ X3 )
=> ~ ( ord_less_eq @ A @ X3 @ Y ) ) ) ) ) ) ) ) ).
% le_cases3
thf(fact_149_order_Otrans,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [A2: A,B2: A,C3: A] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ A @ B2 @ C3 )
=> ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% order.trans
thf(fact_150_le__cases,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X3: A,Y: A] :
( ~ ( ord_less_eq @ A @ X3 @ Y )
=> ( ord_less_eq @ A @ Y @ X3 ) ) ) ).
% le_cases
thf(fact_151_eq__refl,axiom,
! [A: $tType] :
( ( preorder @ A )
=> ! [X3: A,Y: A] :
( ( X3 = Y )
=> ( ord_less_eq @ A @ X3 @ Y ) ) ) ).
% eq_refl
thf(fact_152_linear,axiom,
! [A: $tType] :
( ( linorder @ A )
=> ! [X3: A,Y: A] :
( ( ord_less_eq @ A @ X3 @ Y )
| ( ord_less_eq @ A @ Y @ X3 ) ) ) ).
% linear
thf(fact_153_antisym,axiom,
! [A: $tType] :
( ( order @ A )
=> ! [X3: A,Y: A] :
( ( ord_less_eq @ A @ X3 @ Y )
=> ( ( ord_less_eq @ A @ Y @ X3 )
=> ( X3 = Y ) ) ) ) ).
% antisym
thf(fact_154_eq__iff,axiom,
! [A: $tType] :
( ( order @ A )
=> ( ( ^ [Y5: A,Z: A] : ( Y5 = Z ) )
= ( ^ [X4: A,Y3: A] :
( ( ord_less_eq @ A @ X4 @ Y3 )
& ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ) ) ).
% eq_iff
thf(fact_155_ord__le__eq__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B )
& ( ord @ A ) )
=> ! [A2: A,B2: A,F: A > B,C3: B] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ( F @ B2 )
= C3 )
=> ( ! [X5: A,Y4: A] :
( ( ord_less_eq @ A @ X5 @ Y4 )
=> ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y4 ) ) )
=> ( ord_less_eq @ B @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% ord_le_eq_subst
thf(fact_156_ord__eq__le__subst,axiom,
! [A: $tType,B: $tType] :
( ( ( ord @ B )
& ( ord @ A ) )
=> ! [A2: A,F: B > A,B2: B,C3: B] :
( ( A2
= ( F @ B2 ) )
=> ( ( ord_less_eq @ B @ B2 @ C3 )
=> ( ! [X5: B,Y4: B] :
( ( ord_less_eq @ B @ X5 @ Y4 )
=> ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
=> ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% ord_eq_le_subst
thf(fact_157_order__subst2,axiom,
! [A: $tType,C: $tType] :
( ( ( order @ C )
& ( order @ A ) )
=> ! [A2: A,B2: A,F: A > C,C3: C] :
( ( ord_less_eq @ A @ A2 @ B2 )
=> ( ( ord_less_eq @ C @ ( F @ B2 ) @ C3 )
=> ( ! [X5: A,Y4: A] :
( ( ord_less_eq @ A @ X5 @ Y4 )
=> ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y4 ) ) )
=> ( ord_less_eq @ C @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% order_subst2
thf(fact_158_order__subst1,axiom,
! [A: $tType,B: $tType] :
( ( ( order @ B )
& ( order @ A ) )
=> ! [A2: A,F: B > A,B2: B,C3: B] :
( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
=> ( ( ord_less_eq @ B @ B2 @ C3 )
=> ( ! [X5: B,Y4: B] :
( ( ord_less_eq @ B @ X5 @ Y4 )
=> ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
=> ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% order_subst1
thf(fact_159_le__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ( ( ord_less_eq @ ( A > B ) )
= ( ^ [F2: A > B,G3: A > B] :
! [X4: A] : ( ord_less_eq @ B @ ( F2 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) ).
% le_fun_def
thf(fact_160_le__funI,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F: A > B,G2: A > B] :
( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G2 @ X5 ) )
=> ( ord_less_eq @ ( A > B ) @ F @ G2 ) ) ) ).
% le_funI
thf(fact_161_le__funE,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F: A > B,G2: A > B,X3: A] :
( ( ord_less_eq @ ( A > B ) @ F @ G2 )
=> ( ord_less_eq @ B @ ( F @ X3 ) @ ( G2 @ X3 ) ) ) ) ).
% le_funE
thf(fact_162_le__funD,axiom,
! [B: $tType,A: $tType] :
( ( ord @ B )
=> ! [F: A > B,G2: A > B,X3: A] :
( ( ord_less_eq @ ( A > B ) @ F @ G2 )
=> ( ord_less_eq @ B @ ( F @ X3 ) @ ( G2 @ X3 ) ) ) ) ).
% le_funD
thf(fact_163_old_Oprod_Oinducts,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
( ! [A6: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B4 ) )
=> ( P @ Prod ) ) ).
% old.prod.inducts
thf(fact_164_old_Oprod_Oexhaust,axiom,
! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
~ ! [A6: A,B4: B] :
( Y
!= ( product_Pair @ A @ B @ A6 @ B4 ) ) ).
% old.prod.exhaust
thf(fact_165_Pair__inject,axiom,
! [A: $tType,B: $tType,A2: A,B2: B,A9: A,B9: B] :
( ( ( product_Pair @ A @ B @ A2 @ B2 )
= ( product_Pair @ A @ B @ A9 @ B9 ) )
=> ~ ( ( A2 = A9 )
=> ( B2 != B9 ) ) ) ).
% Pair_inject
thf(fact_166_prod__cases,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
( ! [A6: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B4 ) )
=> ( P @ P2 ) ) ).
% prod_cases
thf(fact_167_surj__pair,axiom,
! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
? [X5: A,Y4: B] :
( P2
= ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).
% surj_pair
thf(fact_168_bot__fun__def,axiom,
! [B: $tType,A: $tType] :
( ( bot @ B )
=> ( ( bot_bot @ ( A > B ) )
= ( ^ [X4: A] : ( bot_bot @ B ) ) ) ) ).
% bot_fun_def
thf(fact_169_bot__nat__0_Oextremum__uniqueI,axiom,
! [A2: nat] :
( ( ord_less_eq @ nat @ A2 @ ( zero_zero @ nat ) )
=> ( A2
= ( zero_zero @ nat ) ) ) ).
% bot_nat_0.extremum_uniqueI
thf(fact_170_bot__nat__0_Oextremum__unique,axiom,
! [A2: nat] :
( ( ord_less_eq @ nat @ A2 @ ( zero_zero @ nat ) )
= ( A2
= ( zero_zero @ nat ) ) ) ).
% bot_nat_0.extremum_unique
thf(fact_171_le__0__eq,axiom,
! [N: nat] :
( ( ord_less_eq @ nat @ N @ ( zero_zero @ nat ) )
= ( N
= ( zero_zero @ nat ) ) ) ).
% le_0_eq
thf(fact_172_less__eq__nat_Osimps_I1_J,axiom,
! [N: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ N ) ).
% less_eq_nat.simps(1)
thf(fact_173_bot_Oextremum__uniqueI,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
=> ( A2
= ( bot_bot @ A ) ) ) ) ).
% bot.extremum_uniqueI
thf(fact_174_bot_Oextremum__unique,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] :
( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
= ( A2
= ( bot_bot @ A ) ) ) ) ).
% bot.extremum_unique
thf(fact_175_bot_Oextremum,axiom,
! [A: $tType] :
( ( order_bot @ A )
=> ! [A2: A] : ( ord_less_eq @ A @ ( bot_bot @ A ) @ A2 ) ) ).
% bot.extremum
thf(fact_176_prod__induct7,axiom,
! [G4: $tType,F3: $tType,E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3,G5: G4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) @ D4 @ ( product_Pair @ E5 @ ( product_prod @ F3 @ G4 ) @ E6 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct7
thf(fact_177_prod__induct6,axiom,
! [F3: $tType,E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) )] :
( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ F3 ) @ D4 @ ( product_Pair @ E5 @ F3 @ E6 @ F4 ) ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct6
thf(fact_178_prod__induct5,axiom,
! [E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) )] :
( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ E5 ) @ C6 @ ( product_Pair @ D3 @ E5 @ D4 @ E6 ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct5
thf(fact_179_prod__induct4,axiom,
! [D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) )] :
( ! [A6: A,B4: B,C6: C,D4: D3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D3 ) @ B4 @ ( product_Pair @ C @ D3 @ C6 @ D4 ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct4
thf(fact_180_prod__induct3,axiom,
! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ C )] :
( ! [A6: A,B4: B,C6: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B4 @ C6 ) ) )
=> ( P @ X3 ) ) ).
% prod_induct3
thf(fact_181_prod__cases7,axiom,
! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,F3: $tType,G4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3,G5: G4] :
( Y
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) @ D4 @ ( product_Pair @ E5 @ ( product_prod @ F3 @ G4 ) @ E6 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) ) ).
% prod_cases7
thf(fact_182_prod__cases6,axiom,
! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) )] :
~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3] :
( Y
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ F3 ) @ D4 @ ( product_Pair @ E5 @ F3 @ E6 @ F4 ) ) ) ) ) ) ).
% prod_cases6
thf(fact_183_prod__cases5,axiom,
! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) )] :
~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5] :
( Y
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ E5 ) @ C6 @ ( product_Pair @ D3 @ E5 @ D4 @ E6 ) ) ) ) ) ).
% prod_cases5
thf(fact_184_prod__cases4,axiom,
! [A: $tType,B: $tType,C: $tType,D3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) )] :
~ ! [A6: A,B4: B,C6: C,D4: D3] :
( Y
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D3 ) @ B4 @ ( product_Pair @ C @ D3 @ C6 @ D4 ) ) ) ) ).
% prod_cases4
thf(fact_185_prod__cases3,axiom,
! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
~ ! [A6: A,B4: B,C6: C] :
( Y
!= ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B4 @ C6 ) ) ) ).
% prod_cases3
thf(fact_186_old_Oprod_Orec,axiom,
! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
= ( F1 @ A2 @ B2 ) ) ).
% old.prod.rec
thf(fact_187_is__singleton__the__elem,axiom,
! [A: $tType] :
( ( is_singleton @ A )
= ( ^ [A8: set @ A] :
( A8
= ( insert @ A @ ( the_elem @ A @ A8 ) @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% is_singleton_the_elem
thf(fact_188_top__rule__def,axiom,
! [L: $tType] :
( ( standa400804411p_rule @ L )
= ( ^ [T2: L] : ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( insert @ nat @ ( one_one @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) @ ( labeled_LG @ L @ nat @ ( insert @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ L @ ( product_prod @ nat @ nat ) @ T2 @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( one_one @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( insert @ nat @ ( one_one @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ) ) ).
% top_rule_def
thf(fact_189_map__graph__def,axiom,
! [A: $tType,B: $tType,C: $tType] :
( ( map_graph @ C @ B @ A )
= ( ^ [F2: set @ ( product_prod @ C @ B ),G6: labeled_graph @ A @ C] : ( labeled_LG @ A @ B @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ F2 ) @ ( labeled_edges @ A @ C @ G6 ) ) @ ( image @ C @ B @ F2 @ ( labeled_vertices @ A @ C @ G6 ) ) ) ) ) ).
% map_graph_def
thf(fact_190_map__graph__preserves__restricted,axiom,
! [C: $tType,B: $tType,A: $tType,G: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( map_graph @ B @ C @ A @ F @ G )
= ( restrict @ A @ C @ ( map_graph @ B @ C @ A @ F @ G ) ) ) ) ).
% map_graph_preserves_restricted
thf(fact_191_map__graph__selectors_I1_J,axiom,
! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ C @ A ),G: labeled_graph @ B @ C] :
( ( labeled_vertices @ B @ A @ ( map_graph @ C @ A @ B @ F @ G ) )
= ( image @ C @ A @ F @ ( labeled_vertices @ B @ C @ G ) ) ) ).
% map_graph_selectors(1)
thf(fact_192_is__singletonI,axiom,
! [A: $tType,X3: A] : ( is_singleton @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% is_singletonI
thf(fact_193_map__graph__edge__preserving,axiom,
! [B: $tType,A: $tType,C: $tType,F: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] : ( edge_preserving @ A @ B @ C @ F @ ( labeled_edges @ C @ A @ G ) @ ( labeled_edges @ C @ B @ ( map_graph @ A @ B @ C @ F @ G ) ) ) ).
% map_graph_edge_preserving
thf(fact_194_map__graph__selectors_I2_J,axiom,
! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ C @ A ),G: labeled_graph @ B @ C] :
( ( labeled_edges @ B @ A @ ( map_graph @ C @ A @ B @ F @ G ) )
= ( image @ ( product_prod @ B @ ( product_prod @ C @ C ) ) @ ( product_prod @ B @ ( product_prod @ A @ A ) ) @ ( on_triple @ C @ A @ B @ F ) @ ( labeled_edges @ B @ C @ G ) ) ) ).
% map_graph_selectors(2)
thf(fact_195_map__graph__homo,axiom,
! [C: $tType,B: $tType,A: $tType,F: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] :
( ( univalent @ A @ B @ F )
=> ( ( ( labeled_vertices @ C @ A @ G )
= ( domain @ A @ B @ F ) )
=> ( ( G
= ( restrict @ C @ A @ G ) )
=> ( graph_homomorphism @ C @ A @ B @ G @ ( map_graph @ A @ B @ C @ F @ G ) @ F ) ) ) ) ).
% map_graph_homo
thf(fact_196_one__reorient,axiom,
! [A: $tType] :
( ( one @ A )
=> ! [X3: A] :
( ( ( one_one @ A )
= X3 )
= ( X3
= ( one_one @ A ) ) ) ) ).
% one_reorient
thf(fact_197_is__singletonI_H,axiom,
! [A: $tType,A4: set @ A] :
( ( A4
!= ( bot_bot @ ( set @ A ) ) )
=> ( ! [X5: A,Y4: A] :
( ( member @ A @ X5 @ A4 )
=> ( ( member @ A @ Y4 @ A4 )
=> ( X5 = Y4 ) ) )
=> ( is_singleton @ A @ A4 ) ) ) ).
% is_singletonI'
thf(fact_198_map__graph__returns__restricted,axiom,
! [C: $tType,A: $tType,B: $tType,G: labeled_graph @ B @ A,F: set @ ( product_prod @ A @ C )] :
( ( ( labeled_vertices @ B @ A @ G )
= ( domain @ A @ C @ F ) )
=> ( ( map_graph @ A @ C @ B @ F @ G )
= ( restrict @ B @ C @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ).
% map_graph_returns_restricted
thf(fact_199_is__singletonE,axiom,
! [A: $tType,A4: set @ A] :
( ( is_singleton @ A @ A4 )
=> ~ ! [X5: A] :
( A4
!= ( insert @ A @ X5 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).
% is_singletonE
thf(fact_200_is__singleton__def,axiom,
! [A: $tType] :
( ( is_singleton @ A )
= ( ^ [A8: set @ A] :
? [X4: A] :
( A8
= ( insert @ A @ X4 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% is_singleton_def
thf(fact_201_map__graph__homo__simp,axiom,
! [C: $tType,B: $tType,A: $tType,G: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ G @ ( map_graph @ B @ C @ A @ F @ G ) @ F )
= ( ( univalent @ B @ C @ F )
& ( ( labeled_vertices @ A @ B @ G )
= ( domain @ B @ C @ F ) )
& ( G
= ( restrict @ A @ B @ G ) ) ) ) ).
% map_graph_homo_simp
thf(fact_202_not__one__le__zero,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ~ ( ord_less_eq @ A @ ( one_one @ A ) @ ( zero_zero @ A ) ) ) ).
% not_one_le_zero
thf(fact_203_zero__le__one,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( one_one @ A ) ) ) ).
% zero_le_one
thf(fact_204_zero__neq__one,axiom,
! [A: $tType] :
( ( zero_neq_one @ A )
=> ( ( zero_zero @ A )
!= ( one_one @ A ) ) ) ).
% zero_neq_one
thf(fact_205_graph__homomorphism__def2,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( graph_homomorphism @ A @ B @ C )
= ( ^ [G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ C,F2: set @ ( product_prod @ B @ C )] :
( ( ( labeled_vertices @ A @ B @ G_1 )
= ( domain @ B @ C @ F2 ) )
& ( univalent @ B @ C @ F2 )
& ( G_1
= ( restrict @ A @ B @ G_1 ) )
& ( G_2
= ( restrict @ A @ C @ G_2 ) )
& ( ( graph_union @ A @ C @ ( map_graph @ B @ C @ A @ F2 @ G_1 ) @ G_2 )
= G_2 ) ) ) ) ).
% graph_homomorphism_def2
thf(fact_206_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_207_graph__union__idemp_I3_J,axiom,
! [B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A4 @ ( graph_union @ A @ B @ B6 @ A4 ) )
= ( graph_union @ A @ B @ B6 @ A4 ) ) ).
% graph_union_idemp(3)
thf(fact_208_graph__union__idemp_I2_J,axiom,
! [B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A4 @ ( graph_union @ A @ B @ A4 @ B6 ) )
= ( graph_union @ A @ B @ A4 @ B6 ) ) ).
% graph_union_idemp(2)
thf(fact_209_graph__union__idemp_I1_J,axiom,
! [B: $tType,A: $tType,A4: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A4 @ A4 )
= A4 ) ).
% graph_union_idemp(1)
thf(fact_210_graph__union__preserves__restrict,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( G_12
= ( restrict @ A @ B @ G_12 ) )
=> ( ( G_22
= ( restrict @ A @ B @ G_22 ) )
=> ( ( graph_union @ A @ B @ G_12 @ G_22 )
= ( restrict @ A @ B @ ( graph_union @ A @ B @ G_12 @ G_22 ) ) ) ) ) ).
% graph_union_preserves_restrict
thf(fact_211_graph__unionI,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) )
=> ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) )
=> ( ( graph_union @ A @ B @ G_12 @ G_22 )
= G_22 ) ) ) ).
% graph_unionI
thf(fact_212_graph__union__iff,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( ( graph_union @ A @ B @ G_12 @ G_22 )
= G_22 )
= ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) )
& ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) ) ) ) ).
% graph_union_iff
thf(fact_213_less__by__empty,axiom,
! [A: $tType,A4: set @ ( product_prod @ A @ A ),B6: set @ ( product_prod @ A @ A )] :
( ( A4
= ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A4 @ B6 ) ) ).
% less_by_empty
thf(fact_214_on__triple__ID__restrict,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( image @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) ) @ ( labeled_edges @ A @ B @ G ) )
= ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) ) ).
% on_triple_ID_restrict
thf(fact_215_Id__onI,axiom,
! [A: $tType,A2: A,A4: set @ A] :
( ( member @ A @ A2 @ A4 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ ( id_on @ A @ A4 ) ) ) ).
% Id_onI
thf(fact_216_Domain__Id__on,axiom,
! [A: $tType,A4: set @ A] :
( ( domain @ A @ A @ ( id_on @ A @ A4 ) )
= A4 ) ).
% Domain_Id_on
thf(fact_217_id__univalent,axiom,
! [A: $tType,X3: set @ A] : ( univalent @ A @ A @ ( id_on @ A @ X3 ) ) ).
% id_univalent
thf(fact_218_edge__preserving__Id,axiom,
! [A: $tType,B: $tType,Y: set @ A,X3: set @ ( product_prod @ B @ ( product_prod @ A @ A ) )] : ( edge_preserving @ A @ A @ B @ ( id_on @ A @ Y ) @ X3 @ X3 ) ).
% edge_preserving_Id
thf(fact_219_Id__on__empty,axiom,
! [A: $tType] :
( ( id_on @ A @ ( bot_bot @ ( set @ A ) ) )
= ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).
% Id_on_empty
thf(fact_220_graph__homomorphism__Id,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A2 ) @ ( restrict @ A @ B @ A2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) ) ).
% graph_homomorphism_Id
thf(fact_221_subgraph__restrict,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G @ ( restrict @ A @ B @ G ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
= ( G
= ( restrict @ A @ B @ G ) ) ) ).
% subgraph_restrict
thf(fact_222_subgraph__refl,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G @ G @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
= ( G
= ( restrict @ A @ B @ G ) ) ) ).
% subgraph_refl
thf(fact_223_map__graph__preserves__subgraph,axiom,
! [C: $tType,B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ B @ A4 @ B6 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A4 ) ) )
=> ( graph_homomorphism @ A @ C @ C @ ( map_graph @ B @ C @ A @ F @ A4 ) @ ( map_graph @ B @ C @ A @ F @ B6 ) @ ( id_on @ C @ ( labeled_vertices @ A @ C @ ( map_graph @ B @ C @ A @ F @ A4 ) ) ) ) ) ).
% map_graph_preserves_subgraph
thf(fact_224_map__graph__fn__id_I2_J,axiom,
! [B: $tType,A: $tType,X2: labeled_graph @ A @ B] :
( ( map_graph @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ X2 ) ) @ X2 )
= ( restrict @ A @ B @ X2 ) ) ).
% map_graph_fn_id(2)
thf(fact_225_Id__on__iff,axiom,
! [A: $tType,X3: A,Y: A,A4: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ ( id_on @ A @ A4 ) )
= ( ( X3 = Y )
& ( member @ A @ X3 @ A4 ) ) ) ).
% Id_on_iff
thf(fact_226_Id__on__eqI,axiom,
! [A: $tType,A2: A,B2: A,A4: set @ A] :
( ( A2 = B2 )
=> ( ( member @ A @ A2 @ A4 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( id_on @ A @ A4 ) ) ) ) ).
% Id_on_eqI
thf(fact_227_Id__onE,axiom,
! [A: $tType,C3: product_prod @ A @ A,A4: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ C3 @ ( id_on @ A @ A4 ) )
=> ~ ! [X5: A] :
( ( member @ A @ X5 @ A4 )
=> ( C3
!= ( product_Pair @ A @ A @ X5 @ X5 ) ) ) ) ).
% Id_onE
thf(fact_228_subgraph__preserves__hom,axiom,
! [A: $tType,B: $tType,C: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
( ( graph_homomorphism @ A @ B @ B @ A4 @ B6 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A4 ) ) )
=> ( ( graph_homomorphism @ A @ C @ B @ X2 @ A4 @ H )
=> ( graph_homomorphism @ A @ C @ B @ X2 @ B6 @ H ) ) ) ).
% subgraph_preserves_hom
thf(fact_229_subgraph__trans,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_22 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_22 ) ) )
=> ( graph_homomorphism @ A @ B @ B @ G_12 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) ) ) ) ).
% subgraph_trans
thf(fact_230_subgraph__subset_I1_J,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
=> ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) ) ) ).
% subgraph_subset(1)
thf(fact_231_subgraph__def,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
= ( ( G_12
= ( restrict @ A @ B @ G_12 ) )
& ( G_22
= ( restrict @ A @ B @ G_22 ) )
& ( ( graph_union @ A @ B @ G_12 @ G_22 )
= G_22 ) ) ) ).
% subgraph_def
thf(fact_232_subgraph__subset_I2_J,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_12 ) ) @ ( labeled_edges @ A @ B @ G_22 ) ) ) ).
% subgraph_subset(2)
thf(fact_233_subgraph__def2,axiom,
! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
( ( G_12
= ( restrict @ A @ B @ G_12 ) )
=> ( ( G_22
= ( restrict @ A @ B @ G_22 ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
= ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) )
& ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) ) ) ) ) ) ).
% subgraph_def2
thf(fact_234_gr_I1_J,axiom,
( ( getRel @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ ( standard_S_Idt @ a ) @ g )
= ( id_on @ ( sum_sum @ a @ b ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).
% gr(1)
thf(fact_235_insert__subsetI,axiom,
! [A: $tType,X3: A,A4: set @ A,X2: set @ A] :
( ( member @ A @ X3 @ A4 )
=> ( ( ord_less_eq @ ( set @ A ) @ X2 @ A4 )
=> ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ X2 ) @ A4 ) ) ) ).
% insert_subsetI
thf(fact_236_ssubst__Pair__rhs,axiom,
! [B: $tType,A: $tType,R: A,S: B,R2: set @ ( product_prod @ A @ B ),S2: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S ) @ R2 )
=> ( ( S2 = S )
=> ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S2 ) @ R2 ) ) ) ).
% ssubst_Pair_rhs
thf(fact_237_subset__emptyI,axiom,
! [A: $tType,A4: set @ A] :
( ! [X5: A] :
~ ( member @ A @ X5 @ A4 )
=> ( ord_less_eq @ ( set @ A ) @ A4 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% subset_emptyI
thf(fact_238_getRel__subgraph,axiom,
! [A: $tType,B: $tType,Y: A,Z2: A,L3: B,G: labeled_graph @ B @ A,G7: labeled_graph @ B @ A] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( graph_homomorphism @ B @ A @ A @ G @ G7 @ ( id_on @ A @ ( labeled_vertices @ B @ A @ G ) ) )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G7 ) ) ) ) ).
% getRel_subgraph
thf(fact_239_gr_I2_J,axiom,
( ( getRel @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ ( standard_S_Bot @ a ) @ g )
= ( bot_bot @ ( set @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) ) ) ).
% gr(2)
thf(fact_240_Standard__Constant_Odistinct_I7_J,axiom,
! [V: $tType] :
( ( standard_S_Bot @ V )
!= ( standard_S_Idt @ V ) ) ).
% Standard_Constant.distinct(7)
thf(fact_241_getRel__homR,axiom,
! [C: $tType,A: $tType,B: $tType,Y: A,Z2: A,L3: B,G: labeled_graph @ B @ A,U: C,F: set @ ( product_prod @ A @ C ),V3: C] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Y @ U ) @ F )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Z2 @ V3 ) @ F )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ U @ V3 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ) ) ).
% getRel_homR
thf(fact_242_getRel__dom_I2_J,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A2: B,B2: B,L3: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( getRel @ A @ B @ L3 @ G ) )
=> ( member @ B @ B2 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).
% getRel_dom(2)
thf(fact_243_getRel__dom_I1_J,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A2: B,B2: B,L3: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( getRel @ A @ B @ L3 @ G ) )
=> ( member @ B @ A2 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).
% getRel_dom(1)
thf(fact_244_nonempty__rule,axiom,
! [A: $tType,B: $tType,G: labeled_graph @ A @ B] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( maintained @ A @ nat @ B @ ( standa244753842y_rule @ A ) @ G )
= ( ( labeled_vertices @ A @ B @ G )
!= ( bot_bot @ ( set @ B ) ) ) ) ) ).
% nonempty_rule
thf(fact_245_le__numeral__extra_I4_J,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ( ord_less_eq @ A @ ( one_one @ A ) @ ( one_one @ A ) ) ) ).
% le_numeral_extra(4)
thf(fact_246__092_060open_062maintained_A_Isymmetry__rule_AS__Idt_J_AG_092_060close_062,axiom,
maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa1805702094y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ g ).
% \<open>maintained (symmetry_rule S_Idt) G\<close>
thf(fact_247__092_060open_062maintained_A_Itransitive__rule_AS__Idt_J_AG_092_060close_062,axiom,
maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa2114124375e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ g ).
% \<open>maintained (transitive_rule S_Idt) G\<close>
thf(fact_248_le__numeral__extra_I3_J,axiom,
! [A: $tType] :
( ( linord1659791738miring @ A )
=> ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% le_numeral_extra(3)
thf(fact_249__092_060open_062maintained_A_Icongruence__rule_AS__Idt_Al_J_AG_092_060close_062,axiom,
maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa1068660421e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) @ l ) @ g ).
% \<open>maintained (congruence_rule S_Idt l) G\<close>
thf(fact_250_maintained__refl,axiom,
! [B: $tType,C: $tType,A: $tType,R2: labeled_graph @ A @ B,G: labeled_graph @ A @ C] : ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 @ R2 ) @ G ) ).
% maintained_refl
thf(fact_251_maintainedD2,axiom,
! [A: $tType,C: $tType,B: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A4 @ B6 ) @ G )
=> ( ( graph_homomorphism @ A @ B @ C @ A4 @ G @ F )
=> ~ ! [G5: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ B6 @ G @ G5 )
=> ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F @ G5 ) ) ) ) ).
% maintainedD2
thf(fact_252_equivalence,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,I2: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ! [X5: product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ X5 @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa245363227y_rule @ A @ I2 ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa2114124375e_rule @ A @ I2 ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa1805702094y_rule @ A @ I2 ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) ) ) ) ) ) )
=> ( maintained @ A @ nat @ B @ X5 @ G ) )
=> ( equiv_equiv @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ I2 @ G ) ) ) ) ).
% equivalence
% Type constructors (27)
thf(tcon_fun___Orderings_Oorder__bot,axiom,
! [A10: $tType,A11: $tType] :
( ( order_bot @ A11 )
=> ( order_bot @ ( A10 > A11 ) ) ) ).
thf(tcon_fun___Orderings_Opreorder,axiom,
! [A10: $tType,A11: $tType] :
( ( preorder @ A11 )
=> ( preorder @ ( A10 > A11 ) ) ) ).
thf(tcon_fun___Orderings_Oorder,axiom,
! [A10: $tType,A11: $tType] :
( ( order @ A11 )
=> ( order @ ( A10 > A11 ) ) ) ).
thf(tcon_fun___Orderings_Oord,axiom,
! [A10: $tType,A11: $tType] :
( ( ord @ A11 )
=> ( ord @ ( A10 > A11 ) ) ) ).
thf(tcon_fun___Orderings_Obot,axiom,
! [A10: $tType,A11: $tType] :
( ( bot @ A11 )
=> ( bot @ ( A10 > A11 ) ) ) ).
thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
canoni770627133id_add @ nat ).
thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring,axiom,
linord1659791738miring @ nat ).
thf(tcon_Nat_Onat___Orderings_Oorder__bot_1,axiom,
order_bot @ nat ).
thf(tcon_Nat_Onat___Rings_Ozero__neq__one,axiom,
zero_neq_one @ nat ).
thf(tcon_Nat_Onat___Orderings_Opreorder_2,axiom,
preorder @ nat ).
thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
linorder @ nat ).
thf(tcon_Nat_Onat___Orderings_Oorder_3,axiom,
order @ nat ).
thf(tcon_Nat_Onat___Orderings_Oord_4,axiom,
ord @ nat ).
thf(tcon_Nat_Onat___Orderings_Obot_5,axiom,
bot @ nat ).
thf(tcon_Nat_Onat___Groups_Ozero,axiom,
zero @ nat ).
thf(tcon_Nat_Onat___Groups_Oone,axiom,
one @ nat ).
thf(tcon_Set_Oset___Orderings_Oorder__bot_6,axiom,
! [A10: $tType] : ( order_bot @ ( set @ A10 ) ) ).
thf(tcon_Set_Oset___Orderings_Opreorder_7,axiom,
! [A10: $tType] : ( preorder @ ( set @ A10 ) ) ).
thf(tcon_Set_Oset___Orderings_Oorder_8,axiom,
! [A10: $tType] : ( order @ ( set @ A10 ) ) ).
thf(tcon_Set_Oset___Orderings_Oord_9,axiom,
! [A10: $tType] : ( ord @ ( set @ A10 ) ) ).
thf(tcon_Set_Oset___Orderings_Obot_10,axiom,
! [A10: $tType] : ( bot @ ( set @ A10 ) ) ).
thf(tcon_HOL_Obool___Orderings_Oorder__bot_11,axiom,
order_bot @ $o ).
thf(tcon_HOL_Obool___Orderings_Opreorder_12,axiom,
preorder @ $o ).
thf(tcon_HOL_Obool___Orderings_Olinorder_13,axiom,
linorder @ $o ).
thf(tcon_HOL_Obool___Orderings_Oorder_14,axiom,
order @ $o ).
thf(tcon_HOL_Obool___Orderings_Oord_15,axiom,
ord @ $o ).
thf(tcon_HOL_Obool___Orderings_Obot_16,axiom,
bot @ $o ).
% Conjectures (1)
thf(conj_0,conjecture,
( ( ( labeled_vertices @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) )
= ( domain @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) ) )
& ( ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) )
= ( restrict @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) )
& ( g
= ( restrict @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
& ( ord_less_eq @ ( set @ ( sum_sum @ a @ b ) ) @ ( image @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
& ( univalent @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) )
& ( edge_preserving @ nat @ ( sum_sum @ a @ b ) @ ( standard_Constant @ a ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).
%------------------------------------------------------------------------------