TPTP Problem File: ITP177^2.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP177^2 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer StandardRules problem prob_340__5390244_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_340__5390244_1 [Des21]
% Status : Theorem
% Rating : 0.00 v7.5.0
% Syntax : Number of formulae : 318 ( 126 unt; 58 typ; 0 def)
% Number of atoms : 655 ( 255 equ; 0 cnn)
% Maximal formula atoms : 6 ( 2 avg)
% Number of connectives : 6616 ( 64 ~; 8 |; 42 &;6248 @)
% ( 0 <=>; 254 =>; 0 <=; 0 <~>)
% Maximal formula depth : 28 ( 10 avg)
% Number of types : 4 ( 3 usr)
% Number of type conns : 158 ( 158 >; 0 *; 0 +; 0 <<)
% Number of symbols : 58 ( 55 usr; 7 con; 0-8 aty)
% Number of variables : 1337 ( 61 ^;1186 !; 9 ?;1337 :)
% ( 81 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:02.646
%------------------------------------------------------------------------------
% Could-be-implicit typings (9)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
standard_Constant: $tType > $tType ).
thf(ty_t_LabeledGraphSemantics_Oallegorical__term,type,
allegorical_term: $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_Set_Oset,type,
set: $tType > $tType ).
thf(ty_t_Nat_Onat,type,
nat: $tType ).
thf(ty_t_itself,type,
itself: $tType > $tType ).
thf(ty_tf_b,type,
b: $tType ).
thf(ty_tf_a,type,
a: $tType ).
% Explicit typings (49)
thf(sy_c_BNF__Def_OGr,type,
bNF_Gr:
!>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
thf(sy_c_Equiv__Relations_Ocongruent,type,
equiv_congruent:
!>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).
thf(sy_c_Equiv__Relations_Oequiv,type,
equiv_equiv:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).
thf(sy_c_Equiv__Relations_Oproj,type,
equiv_proj:
!>[B: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ A ) ) > B > ( set @ A ) ) ).
thf(sy_c_Hilbert__Choice_OEps,type,
hilbert_Eps:
!>[A: $tType] : ( ( A > $o ) > A ) ).
thf(sy_c_If,type,
if:
!>[A: $tType] : ( $o > A > A > A ) ).
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_LabeledGraphSemantics_Osemantics,type,
semantics:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( allegorical_term @ A ) > ( set @ ( product_prod @ B @ B ) ) ) ).
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_Ocase__labeled__graph,type,
labele1974067554_graph:
!>[L: $tType,V: $tType,A: $tType] : ( ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A ) > ( labeled_graph @ L @ V ) > A ) ).
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_Orestrict,type,
restrict:
!>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).
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_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_Relation_Orefl__on,type,
refl_on:
!>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).
thf(sy_c_Relation_Orelcomp,type,
relcomp:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ A @ C ) ) ) ).
thf(sy_c_RulesAndChains_Oagree__on,type,
agree_on:
!>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).
thf(sy_c_RulesAndChains_Oconsequence__graph,type,
consequence_graph:
!>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( labeled_graph @ A @ C ) > $o ) ).
thf(sy_c_RulesAndChains_Oextensible,type,
extensible:
!>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ X @ V ) ) > $o ) ).
thf(sy_c_RulesAndChains_Oleast,type,
least:
!>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).
thf(sy_c_RulesAndChains_Oleast__consequence__graph,type,
least_559130134_graph:
!>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).
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_Oimage,type,
image2:
!>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) ) ).
thf(sy_c_Set_Oinsert,type,
insert:
!>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).
thf(sy_c_Set_Othe__elem,type,
the_elem:
!>[A: $tType] : ( ( set @ A ) > A ) ).
thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oidentity__rules,type,
standa2002409347_rules:
!>[A: $tType] : ( ( set @ ( standard_Constant @ A ) ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ 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_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 ) @ b ).
thf(sy_v_L,type,
l: set @ ( standard_Constant @ a ) ).
thf(sy_v_P____,type,
p: b > b > $o ).
thf(sy_v_f____,type,
f: b > b ).
thf(sy_v_l____,type,
l2: standard_Constant @ a ).
thf(sy_v_x____,type,
x: b ).
thf(sy_v_y____,type,
y: b ).
% Relevant facts (256)
thf(fact_0__092_060open_062_092_060And_062xa_O_A_092_060lbrakk_062f_Axa_A_092_060in_062_Avertices_AG_059_Axa_A_092_060notin_062_Avertices_AG_092_060rbrakk_062_A_092_060Longrightarrow_062_AFalse_092_060close_062,axiom,
! [Xa: b] :
( ( member @ b @ ( f @ Xa ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( member @ b @ Xa @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ).
% \<open>\<And>xa. \<lbrakk>f xa \<in> vertices G; xa \<notin> vertices G\<rbrakk> \<Longrightarrow> False\<close>
thf(fact_1_fv_I2_J,axiom,
member @ b @ ( f @ y ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).
% fv(2)
thf(fact_2_fv_I1_J,axiom,
member @ b @ ( f @ x ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).
% fv(1)
thf(fact_3_gu2,axiom,
! [X2: b] :
( ( member @ b @ X2 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( member @ b @ ( f @ X2 ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ).
% gu2
thf(fact_4_assms_I1_J,axiom,
( g
= ( restrict @ ( standard_Constant @ a ) @ b @ g ) ) ).
% assms(1)
thf(fact_5_r1,axiom,
! [X3: b] :
( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
= ( p @ X3 @ X3 ) ) ).
% r1
thf(fact_6_assms_I2_J,axiom,
! [X4: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat )] :
( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ X4 @ ( standa2002409347_rules @ a @ l ) )
=> ( maintained @ ( standard_Constant @ a ) @ nat @ b @ X4 @ g ) ) ).
% assms(2)
thf(fact_7_gr,axiom,
member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ ( f @ x ) @ ( f @ y ) ) @ ( getRel @ ( standard_Constant @ a ) @ b @ l2 @ g ) ).
% gr
thf(fact_8_a,axiom,
member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ l2 @ ( product_Pair @ b @ b @ ( f @ x ) @ ( f @ y ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) ).
% a
thf(fact_9_local_Orefl,axiom,
refl_on @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ).
% local.refl
thf(fact_10_equiv,axiom,
equiv_equiv @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ).
% equiv
thf(fact_11__092_060open_062graph__union_A_Imap__graph__fn_AG_Af_J_AG_A_061_AG_092_060close_062,axiom,
( ( graph_union @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) @ g )
= g ) ).
% \<open>graph_union (map_graph_fn G f) G = G\<close>
thf(fact_12_gu1,axiom,
! [L2: standard_Constant @ a,X2: b,Y: b] :
( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ L2 @ ( product_Pair @ b @ b @ X2 @ Y ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) )
=> ( ( member @ b @ X2 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( ( member @ b @ Y @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ L2 @ ( product_Pair @ b @ b @ ( f @ X2 ) @ ( f @ Y ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) ) ) ) ) ).
% gu1
thf(fact_13__092_060open_062_092_060And_062x_O_Ax_A_092_060in_062_Avertices_AG_A_092_060Longrightarrow_062_A_Ix_M_Ax_J_A_092_060in_062_AgetRel_AS__Idt_AG_092_060close_062,axiom,
! [X3: b] :
( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X3 @ X3 ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ) ) ).
% \<open>\<And>x. x \<in> vertices G \<Longrightarrow> (x, x) \<in> getRel S_Idt G\<close>
thf(fact_14_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_15_subg,axiom,
graph_homomorphism @ ( standard_Constant @ a ) @ b @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) @ g @ ( id_on @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) ) ) ).
% subg
thf(fact_16_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_17_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_18_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_19_graph__union__idemp_I3_J,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A2 @ ( graph_union @ A @ B @ B2 @ A2 ) )
= ( graph_union @ A @ B @ B2 @ A2 ) ) ).
% graph_union_idemp(3)
thf(fact_20_graph__union__idemp_I2_J,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A2 @ ( graph_union @ A @ B @ A2 @ B2 ) )
= ( graph_union @ A @ B @ A2 @ B2 ) ) ).
% graph_union_idemp(2)
thf(fact_21_graph__union__idemp_I1_J,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] :
( ( graph_union @ A @ B @ A2 @ A2 )
= A2 ) ).
% graph_union_idemp(1)
thf(fact_22_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_23_graph__union__preserves__restrict,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( G_1
= ( restrict @ A @ B @ G_1 ) )
=> ( ( G_2
= ( restrict @ A @ B @ G_2 ) )
=> ( ( graph_union @ A @ B @ G_1 @ G_2 )
= ( restrict @ A @ B @ ( graph_union @ A @ B @ G_1 @ G_2 ) ) ) ) ) ).
% graph_union_preserves_restrict
thf(fact_24_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_25_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_26_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_27_graph__homomorphism__Id,axiom,
! [B: $tType,A: $tType,A3: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A3 ) @ ( restrict @ A @ B @ A3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A3 ) ) ) ).
% graph_homomorphism_Id
thf(fact_28_map__graph__preserves__subgraph,axiom,
! [C: $tType,B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
=> ( graph_homomorphism @ A @ C @ C @ ( map_graph @ B @ C @ A @ F @ A2 ) @ ( map_graph @ B @ C @ A @ F @ B2 ) @ ( id_on @ C @ ( labeled_vertices @ A @ C @ ( map_graph @ B @ C @ A @ F @ A2 ) ) ) ) ) ).
% map_graph_preserves_subgraph
thf(fact_29_map__graph__fn__id_I2_J,axiom,
! [B: $tType,A: $tType,X5: labeled_graph @ A @ B] :
( ( map_graph @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ X5 ) ) @ X5 )
= ( restrict @ A @ B @ X5 ) ) ).
% map_graph_fn_id(2)
thf(fact_30_map__graph__fn__graphI,axiom,
! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F: C > B] :
( ( map_graph @ C @ B @ A @ ( bNF_Gr @ C @ B @ ( labeled_vertices @ A @ C @ G ) @ F ) @ G )
= ( restrict @ A @ B @ ( map_graph @ C @ B @ A @ ( bNF_Gr @ C @ B @ ( labeled_vertices @ A @ C @ G ) @ F ) @ G ) ) ) ).
% map_graph_fn_graphI
thf(fact_31_graph__homo,axiom,
! [A: $tType,C: $tType,B: $tType,G: labeled_graph @ A @ B,F: B > C] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( graph_homomorphism @ A @ B @ C @ G @ ( map_graph @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) @ G ) @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) ) ) ).
% graph_homo
thf(fact_32_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_33_subgraph__def,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
= ( ( G_1
= ( restrict @ A @ B @ G_1 ) )
& ( G_2
= ( restrict @ A @ B @ G_2 ) )
& ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 ) ) ) ).
% subgraph_def
thf(fact_34_subgraph__trans,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_2 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_2 ) ) )
=> ( graph_homomorphism @ A @ B @ B @ G_1 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) ) ) ) ).
% subgraph_trans
thf(fact_35_map__graph__fn__eqI,axiom,
! [C: $tType,A: $tType,B: $tType,G: labeled_graph @ B @ A,F: A > C,G2: A > C] :
( ! [X6: A] :
( ( member @ A @ X6 @ ( labeled_vertices @ B @ A @ G ) )
=> ( ( F @ X6 )
= ( G2 @ X6 ) ) )
=> ( ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G )
= ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ G2 ) @ G ) ) ) ).
% map_graph_fn_eqI
thf(fact_36_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_37_labeled__graph_Oexhaust,axiom,
! [L: $tType,V: $tType,Y3: labeled_graph @ L @ V] :
~ ! [X12: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
( Y3
!= ( labeled_LG @ L @ V @ X12 @ X23 ) ) ).
% labeled_graph.exhaust
thf(fact_38_subgraph__preserves__hom,axiom,
! [A: $tType,B: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,X5: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
=> ( ( graph_homomorphism @ A @ C @ B @ X5 @ A2 @ H )
=> ( graph_homomorphism @ A @ C @ B @ X5 @ B2 @ H ) ) ) ).
% subgraph_preserves_hom
thf(fact_39_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_40_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_41_getRel__hom,axiom,
! [C: $tType,A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,F: A > C] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( member @ A @ Y3 @ ( labeled_vertices @ B @ A @ G ) )
=> ( ( member @ A @ Z @ ( labeled_vertices @ B @ A @ G ) )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ ( F @ Y3 ) @ ( F @ Z ) ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G ) ) ) ) ) ) ).
% getRel_hom
thf(fact_42_getRel__map__fn,axiom,
! [C: $tType,A: $tType,B: $tType,A22: A,G: labeled_graph @ B @ A,B22: A,L3: B,F: A > C,A3: C,B3: C] :
( ( member @ A @ A22 @ ( labeled_vertices @ B @ A @ G ) )
=> ( ( member @ A @ B22 @ ( labeled_vertices @ B @ A @ G ) )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A22 @ B22 ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( ( F @ A22 )
= A3 )
=> ( ( ( F @ B22 )
= B3 )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A3 @ B3 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G ) ) ) ) ) ) ) ) ).
% getRel_map_fn
thf(fact_43_idt__eq,axiom,
! [X2: b,Y: b] :
( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ b @ b @ X2 @ Y ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) )
=> ( ( hilbert_Eps @ b @ ( p @ X2 ) )
= ( hilbert_Eps @ b @ ( p @ Y ) ) ) ) ).
% idt_eq
thf(fact_44_vert__P,axiom,
! [X3: b] :
( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
=> ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X3 @ ( hilbert_Eps @ b @ ( p @ X3 ) ) ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ) ) ).
% vert_P
thf(fact_45_mem__Collect__eq,axiom,
! [A: $tType,A3: A,P: A > $o] :
( ( member @ A @ A3 @ ( collect @ A @ P ) )
= ( P @ A3 ) ) ).
% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
! [A: $tType,A2: set @ A] :
( ( collect @ A
@ ^ [X7: A] : ( member @ A @ X7 @ A2 ) )
= A2 ) ).
% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X6: A] :
( ( P @ X6 )
= ( Q @ X6 ) )
=> ( ( collect @ A @ P )
= ( collect @ A @ Q ) ) ) ).
% Collect_cong
thf(fact_48_getRel__subgraph,axiom,
! [A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,G3: labeled_graph @ B @ A] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( graph_homomorphism @ B @ A @ A @ G @ G3 @ ( id_on @ A @ ( labeled_vertices @ B @ A @ G ) ) )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G3 ) ) ) ) ).
% getRel_subgraph
thf(fact_49_in__Gr,axiom,
! [A: $tType,B: $tType,X3: A,Y3: B,A2: set @ A,F: A > B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
= ( ( member @ A @ X3 @ A2 )
& ( ( F @ X3 )
= Y3 ) ) ) ).
% in_Gr
thf(fact_50_Gr__not__in,axiom,
! [B: $tType,A: $tType,X3: A,F2: set @ A,F: A > B,Y3: B] :
( ( ~ ( member @ A @ X3 @ F2 )
| ( ( F @ X3 )
!= Y3 ) )
=> ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ ( bNF_Gr @ A @ B @ F2 @ F ) ) ) ).
% Gr_not_in
thf(fact_51_Id__onI,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( id_on @ A @ A2 ) ) ) ).
% Id_onI
thf(fact_52_getRel__dom_I2_J,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,L3: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( getRel @ A @ B @ L3 @ G ) )
=> ( member @ B @ B3 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).
% getRel_dom(2)
thf(fact_53_getRel__dom_I1_J,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,L3: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( getRel @ A @ B @ L3 @ G ) )
=> ( member @ B @ A3 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).
% getRel_dom(1)
thf(fact_54_Id__on__iff,axiom,
! [A: $tType,X3: A,Y3: A,A2: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ ( id_on @ A @ A2 ) )
= ( ( X3 = Y3 )
& ( member @ A @ X3 @ A2 ) ) ) ).
% Id_on_iff
thf(fact_55_Id__on__eqI,axiom,
! [A: $tType,A3: A,B3: A,A2: set @ A] :
( ( A3 = B3 )
=> ( ( member @ A @ A3 @ A2 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( id_on @ A @ A2 ) ) ) ) ).
% Id_on_eqI
thf(fact_56_Id__onE,axiom,
! [A: $tType,C2: product_prod @ A @ A,A2: set @ A] :
( ( member @ ( product_prod @ A @ A ) @ C2 @ ( id_on @ A @ A2 ) )
=> ~ ! [X6: A] :
( ( member @ A @ X6 @ A2 )
=> ( C2
!= ( product_Pair @ A @ A @ X6 @ X6 ) ) ) ) ).
% Id_onE
thf(fact_57_refl__onD2,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
( ( refl_on @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
=> ( member @ A @ Y3 @ A2 ) ) ) ).
% refl_onD2
thf(fact_58_refl__onD1,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
( ( refl_on @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
=> ( member @ A @ X3 @ A2 ) ) ) ).
% refl_onD1
thf(fact_59_refl__onD,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A] :
( ( refl_on @ A @ A2 @ R )
=> ( ( member @ A @ A3 @ A2 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R ) ) ) ).
% refl_onD
thf(fact_60_refl__on__Id__on,axiom,
! [A: $tType,A2: set @ A] : ( refl_on @ A @ A2 @ ( id_on @ A @ A2 ) ) ).
% refl_on_Id_on
thf(fact_61_getRel__homR,axiom,
! [C: $tType,A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,U: C,F: set @ ( product_prod @ A @ C ),V2: C] :
( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Y3 @ U ) @ F )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Z @ V2 ) @ F )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ U @ V2 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ) ) ).
% getRel_homR
thf(fact_62_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_63_edge__preserving__on__graphI,axiom,
! [B: $tType,C: $tType,A: $tType,X5: labeled_graph @ A @ B,F: B > C,Y4: set @ ( product_prod @ A @ ( product_prod @ C @ C ) )] :
( ! [L4: A,X6: B,Y5: B] :
( ( member @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L4 @ ( product_Pair @ B @ B @ X6 @ Y5 ) ) @ ( labeled_edges @ A @ B @ X5 ) )
=> ( ( member @ B @ X6 @ ( labeled_vertices @ A @ B @ X5 ) )
=> ( ( member @ B @ Y5 @ ( labeled_vertices @ A @ B @ X5 ) )
=> ( member @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L4 @ ( product_Pair @ C @ C @ ( F @ X6 ) @ ( F @ Y5 ) ) ) @ Y4 ) ) ) )
=> ( edge_preserving @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ X5 ) @ F ) @ ( labeled_edges @ A @ B @ X5 ) @ Y4 ) ) ).
% edge_preserving_on_graphI
thf(fact_64_reflexivity__rule,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,L3: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( maintained @ A @ nat @ B @ ( standa245363227y_rule @ A @ L3 ) @ G )
=> ( refl_on @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ L3 @ G ) ) ) ) ).
% reflexivity_rule
thf(fact_65_old_Oprod_Oinject,axiom,
! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
( ( ( product_Pair @ A @ B @ A3 @ B3 )
= ( product_Pair @ A @ B @ A4 @ B4 ) )
= ( ( A3 = A4 )
& ( B3 = B4 ) ) ) ).
% old.prod.inject
thf(fact_66_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_67_refl__on__domain,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
( ( refl_on @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
=> ( ( member @ A @ A3 @ A2 )
& ( member @ A @ B3 @ A2 ) ) ) ) ).
% refl_on_domain
thf(fact_68_GrD2,axiom,
! [A: $tType,B: $tType,X3: A,Fx: B,A2: set @ A,F: A > B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
=> ( ( F @ X3 )
= Fx ) ) ).
% GrD2
thf(fact_69_GrD1,axiom,
! [B: $tType,A: $tType,X3: A,Fx: B,A2: set @ A,F: A > B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
=> ( member @ A @ X3 @ A2 ) ) ).
% GrD1
thf(fact_70_edge__preserving__Id,axiom,
! [A: $tType,B: $tType,Y3: set @ A,X3: set @ ( product_prod @ B @ ( product_prod @ A @ A ) )] : ( edge_preserving @ A @ A @ B @ ( id_on @ A @ Y3 ) @ X3 @ X3 ) ).
% edge_preserving_Id
thf(fact_71_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_72_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_73_surj__pair,axiom,
! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
? [X6: A,Y5: B] :
( P2
= ( product_Pair @ A @ B @ X6 @ Y5 ) ) ).
% surj_pair
thf(fact_74_prod__cases,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
=> ( P @ P2 ) ) ).
% prod_cases
thf(fact_75_Pair__inject,axiom,
! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
( ( ( product_Pair @ A @ B @ A3 @ B3 )
= ( product_Pair @ A @ B @ A4 @ B4 ) )
=> ~ ( ( A3 = A4 )
=> ( B3 != B4 ) ) ) ).
% Pair_inject
thf(fact_76_old_Oprod_Oexhaust,axiom,
! [A: $tType,B: $tType,Y3: product_prod @ A @ B] :
~ ! [A5: A,B5: B] :
( Y3
!= ( product_Pair @ A @ B @ A5 @ B5 ) ) ).
% old.prod.exhaust
thf(fact_77_old_Oprod_Oinducts,axiom,
! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
=> ( P @ Prod ) ) ).
% old.prod.inducts
thf(fact_78_prod__cases3,axiom,
! [A: $tType,B: $tType,C: $tType,Y3: product_prod @ A @ ( product_prod @ B @ C )] :
~ ! [A5: A,B5: B,C3: C] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) ) ).
% prod_cases3
thf(fact_79_prod__cases4,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
~ ! [A5: A,B5: B,C3: C,D2: D] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% prod_cases4
thf(fact_80_prod__cases5,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
~ ! [A5: A,B5: B,C3: C,D2: D,E3: E] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E3 ) ) ) ) ) ).
% prod_cases5
thf(fact_81_prod__cases6,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
~ ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D2 @ ( product_Pair @ E @ F3 @ E3 @ F4 ) ) ) ) ) ) ).
% prod_cases6
thf(fact_82_prod__cases7,axiom,
! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,G4: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
~ ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3,G5: G4] :
( Y3
!= ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F3 @ G4 ) @ E3 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) ) ).
% prod_cases7
thf(fact_83_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 )] :
( ! [A5: A,B5: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) )
=> ( P @ X3 ) ) ).
% prod_induct3
thf(fact_84_prod__induct4,axiom,
! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
( ! [A5: A,B5: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct4
thf(fact_85_prod__induct5,axiom,
! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
( ! [A5: A,B5: B,C3: C,D2: D,E3: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E3 ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct5
thf(fact_86_prod__induct6,axiom,
! [F3: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
( ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D2 @ ( product_Pair @ E @ F3 @ E3 @ F4 ) ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct6
thf(fact_87_prod__induct7,axiom,
! [G4: $tType,F3: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
( ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3,G5: G4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F3 @ G4 ) @ E3 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) )
=> ( P @ X3 ) ) ).
% prod_induct7
thf(fact_88_old_Oprod_Orec,axiom,
! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
= ( F1 @ A3 @ B3 ) ) ).
% old.prod.rec
thf(fact_89_least__consequence__graphI,axiom,
! [X: $tType,A: $tType,C: $tType,L: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),G: labeled_graph @ L @ C,S: labeled_graph @ L @ C,T2: itself @ X] :
( ( consequence_graph @ L @ A @ C @ Rs @ G )
=> ( ( graph_homomorphism @ L @ C @ C @ S @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S ) ) )
=> ( ! [C4: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ A @ X @ Rs @ C4 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S @ G ) @ C4 ) )
=> ( least_559130134_graph @ X @ L @ A @ C @ T2 @ Rs @ S @ G ) ) ) ) ).
% least_consequence_graphI
thf(fact_90_leastI,axiom,
! [X: $tType,A: $tType,C: $tType,L: $tType,S: labeled_graph @ L @ C,G: labeled_graph @ L @ C,Rs: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),T2: itself @ X] :
( ( graph_homomorphism @ L @ C @ C @ S @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S ) ) )
=> ( ! [C4: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ A @ X @ Rs @ C4 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S @ G ) @ C4 ) )
=> ( least @ X @ L @ A @ C @ T2 @ Rs @ S @ G ) ) ) ).
% leastI
thf(fact_91_map__graph__in,axiom,
! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A,F: B > C] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ G @ E4 ) )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ ( F @ A3 ) @ ( F @ B3 ) ) @ ( semantics @ A @ C @ ( map_graph @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) @ G ) @ E4 ) ) ) ) ).
% map_graph_in
thf(fact_92_maintainedI,axiom,
! [A: $tType,B: $tType,C: $tType,A2: labeled_graph @ C @ A,G: labeled_graph @ C @ B,B2: labeled_graph @ C @ A] :
( ! [F4: set @ ( product_prod @ A @ B )] :
( ( graph_homomorphism @ C @ A @ B @ A2 @ G @ F4 )
=> ( extensible @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A2 @ B2 ) @ G @ F4 ) )
=> ( maintained @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A2 @ B2 ) @ G ) ) ).
% maintainedI
thf(fact_93_extensible__refl__concr,axiom,
! [A: $tType,C: $tType,B: $tType,E_1: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),V2: set @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),E_2: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_1 @ V2 ) @ G @ F )
=> ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ ( labeled_LG @ A @ B @ E_1 @ V2 ) @ ( labeled_LG @ A @ B @ E_2 @ V2 ) ) @ G @ F )
= ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_2 @ V2 ) @ G @ F ) ) ) ).
% extensible_refl_concr
thf(fact_94_labeled__graph_Osplit__sel,axiom,
! [A: $tType,V: $tType,L: $tType,P: A > $o,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
( ( P @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
= ( ( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
=> ( P @ ( F @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ).
% labeled_graph.split_sel
thf(fact_95_extensible__refl,axiom,
! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ R2 @ G @ F )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 @ R2 ) @ G @ F ) ) ).
% extensible_refl
thf(fact_96_least__consequence__graph__def,axiom,
! [L: $tType,V: $tType,C: $tType,X: $tType] :
( ( least_559130134_graph @ X @ L @ V @ C )
= ( ^ [T3: itself @ X,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S2: labeled_graph @ L @ C,G6: labeled_graph @ L @ C] :
( ( consequence_graph @ L @ V @ C @ Rs2 @ G6 )
& ( least @ X @ L @ V @ C @ T3 @ Rs2 @ S2 @ G6 ) ) ) ) ).
% least_consequence_graph_def
thf(fact_97_consequence__graphD_I3_J,axiom,
! [B: $tType,C: $tType,A: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
( ( consequence_graph @ A @ B @ C @ Rs @ G )
=> ( G
= ( restrict @ A @ C @ G ) ) ) ).
% consequence_graphD(3)
thf(fact_98_graph__homomorphism__semantics,axiom,
! [B: $tType,C: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),A3: B,B3: B,E4: allegorical_term @ A,A4: C,B4: C] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ A3 @ A4 ) @ F )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B3 @ B4 ) @ F )
=> ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A4 @ B4 ) @ ( semantics @ A @ C @ B2 @ E4 ) ) ) ) ) ) ).
% graph_homomorphism_semantics
thf(fact_99_consequence__graphD_I1_J,axiom,
! [B: $tType,C: $tType,A: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R2: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
( ( consequence_graph @ A @ B @ C @ Rs @ G )
=> ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R2 @ Rs )
=> ( maintained @ A @ B @ C @ R2 @ G ) ) ) ).
% consequence_graphD(1)
thf(fact_100_labeled__graph_Ocase,axiom,
! [L: $tType,A: $tType,V: $tType,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
( ( labele1974067554_graph @ L @ V @ A @ F @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
= ( F @ X1 @ X22 ) ) ).
% labeled_graph.case
thf(fact_101_semantics__in__vertices_I1_J,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
( ( A2
= ( restrict @ A @ B @ A2 ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
=> ( member @ B @ A3 @ ( labeled_vertices @ A @ B @ A2 ) ) ) ) ).
% semantics_in_vertices(1)
thf(fact_102_semantics__in__vertices_I2_J,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
( ( A2
= ( restrict @ A @ B @ A2 ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
=> ( member @ B @ B3 @ ( labeled_vertices @ A @ B @ A2 ) ) ) ) ).
% semantics_in_vertices(2)
thf(fact_103_labeled__graph_Ocase__eq__if,axiom,
! [A: $tType,V: $tType,L: $tType] :
( ( labele1974067554_graph @ L @ V @ A )
= ( ^ [F5: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph3: labeled_graph @ L @ V] : ( F5 @ ( labeled_edges @ L @ V @ Labeled_graph3 ) @ ( labeled_vertices @ L @ V @ Labeled_graph3 ) ) ) ) ).
% labeled_graph.case_eq_if
thf(fact_104_subgraph__semantics,axiom,
! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
=> ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
=> ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ B2 @ E4 ) ) ) ) ).
% subgraph_semantics
thf(fact_105_maintainedD,axiom,
! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: 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 ) @ A2 @ B2 ) @ G )
=> ( ( graph_homomorphism @ A @ B @ C @ A2 @ G @ F )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A2 @ B2 ) @ G @ F ) ) ) ).
% maintainedD
thf(fact_106_least__def,axiom,
! [L: $tType,V: $tType,C: $tType,X: $tType] :
( ( least @ X @ L @ V @ C )
= ( ^ [Uu: itself @ X,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S2: labeled_graph @ L @ C,G6: labeled_graph @ L @ C] :
( ( graph_homomorphism @ L @ C @ C @ S2 @ G6 @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
& ! [C5: labeled_graph @ L @ X] :
( ( consequence_graph @ L @ V @ X @ Rs2 @ C5 )
=> ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G6 ) @ C5 ) ) ) ) ) ).
% least_def
thf(fact_107_labeled__graph_Osplit__sel__asm,axiom,
! [A: $tType,V: $tType,L: $tType,P: A > $o,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
( ( P @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
= ( ~ ( ( Labeled_graph
= ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
& ~ ( P @ ( F @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ) ).
% labeled_graph.split_sel_asm
thf(fact_108_extensibleI,axiom,
! [A: $tType,C: $tType,B: $tType,R22: labeled_graph @ A @ B,G: labeled_graph @ A @ C,G2: set @ ( product_prod @ B @ C ),R1: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ R22 @ G @ G2 )
=> ( ( agree_on @ A @ B @ C @ R1 @ F @ G2 )
=> ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R1 @ R22 ) @ G @ F ) ) ) ).
% extensibleI
thf(fact_109_subgraph__subset_I2_J,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_1 ) ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ).
% subgraph_subset(2)
thf(fact_110_graph__homo__union__id_I1_J,axiom,
! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A2 @ B2 ) @ G @ F )
=> ( ( A2
= ( restrict @ A @ B @ A2 ) )
=> ( graph_homomorphism @ A @ B @ C @ A2 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) @ F ) ) ) ) ).
% graph_homo_union_id(1)
thf(fact_111_graph__homo__union__id_I2_J,axiom,
! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A2 @ B2 ) @ G @ F )
=> ( ( B2
= ( restrict @ A @ B @ B2 ) )
=> ( graph_homomorphism @ A @ B @ C @ B2 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ B2 ) ) @ F ) ) ) ) ).
% graph_homo_union_id(2)
thf(fact_112__092_060open_062f_A_092_060equiv_062_A_092_060lambda_062x_O_Aif_AgetRel_AS__Idt_AG_A_096_096_A_123x_125_A_061_A_123_125_Athen_Ax_Aelse_AEps_A_IP_Ax_J_092_060close_062,axiom,
( f
= ( ^ [X7: b] :
( if @ b
@ ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) )
= ( bot_bot @ ( set @ b ) ) )
@ X7
@ ( hilbert_Eps @ b @ ( p @ X7 ) ) ) ) ) ).
% \<open>f \<equiv> \<lambda>x. if getRel S_Idt G `` {x} = {} then x else Eps (P x)\<close>
thf(fact_113_agree__on__refl,axiom,
! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ R2 @ F @ F ) ).
% agree_on_refl
thf(fact_114_agree__on__comm,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( agree_on @ A @ B @ C )
= ( ^ [X8: labeled_graph @ A @ B,F5: set @ ( product_prod @ B @ C ),G7: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ X8 @ G7 @ F5 ) ) ) ).
% agree_on_comm
thf(fact_115_ImageI,axiom,
! [B: $tType,A: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),A2: set @ A] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
=> ( ( member @ A @ A3 @ A2 )
=> ( member @ B @ B3 @ ( image @ A @ B @ R @ A2 ) ) ) ) ).
% ImageI
thf(fact_116_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_117_Image__empty1,axiom,
! [B: $tType,A: $tType,X5: set @ B] :
( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X5 )
= ( bot_bot @ ( set @ A ) ) ) ).
% Image_empty1
thf(fact_118_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_119_Gr__empty,axiom,
! [B: $tType,A: $tType,F: A > B] :
( ( bNF_Gr @ A @ B @ ( bot_bot @ ( set @ A ) ) @ F )
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% Gr_empty
thf(fact_120_graph__homomorphism__composes,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,X3: set @ ( product_prod @ B @ C ),C2: labeled_graph @ A @ D,Y3: set @ ( product_prod @ C @ D )] :
( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ X3 )
=> ( ( graph_homomorphism @ A @ C @ D @ B3 @ C2 @ Y3 )
=> ( graph_homomorphism @ A @ B @ D @ A3 @ C2 @ ( relcomp @ B @ C @ D @ X3 @ Y3 ) ) ) ) ).
% graph_homomorphism_composes
thf(fact_121_P__eq,axiom,
! [X2: b] :
( ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X2 @ ( bot_bot @ ( set @ b ) ) ) )
!= ( bot_bot @ ( set @ b ) ) )
=> ( ( hilbert_Eps @ b @ ( p @ ( hilbert_Eps @ b @ ( p @ X2 ) ) ) )
= ( hilbert_Eps @ b @ ( p @ X2 ) ) ) ) ).
% P_eq
thf(fact_122_Gr__insert,axiom,
! [B: $tType,A: $tType,X3: A,F2: set @ A,F: A > B] :
( ( bNF_Gr @ A @ B @ ( insert @ A @ X3 @ F2 ) @ F )
= ( insert @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ ( F @ X3 ) ) @ ( bNF_Gr @ A @ B @ F2 @ F ) ) ) ).
% Gr_insert
thf(fact_123_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_124_agree__on__empty,axiom,
! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ F @ G2 ) ).
% agree_on_empty
thf(fact_125_Image__singleton__iff,axiom,
! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A3: B] :
( ( member @ A @ B3 @ ( image @ B @ A @ R @ ( insert @ B @ A3 @ ( bot_bot @ ( set @ B ) ) ) ) )
= ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A3 @ B3 ) @ R ) ) ).
% Image_singleton_iff
thf(fact_126_in__on__graph,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,X3: A,G: labeled_graph @ B @ A,A3: A > C,Y3: D,B3: set @ ( product_prod @ C @ D )] :
( ( member @ A @ X3 @ ( labeled_vertices @ B @ A @ G ) )
=> ( ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ ( A3 @ X3 ) @ Y3 ) @ B3 )
=> ( member @ ( product_prod @ A @ D ) @ ( product_Pair @ A @ D @ X3 @ Y3 ) @ ( relcomp @ A @ C @ D @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ A3 ) @ B3 ) ) ) ) ).
% in_on_graph
thf(fact_127_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_128_graph__unionI,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
=> ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
=> ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 ) ) ) ).
% graph_unionI
thf(fact_129_graph__single,axiom,
! [A: $tType,B: $tType,A3: A,B3: B,C2: B] :
( ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A3 @ ( product_Pair @ B @ B @ B3 @ C2 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B3 @ ( insert @ B @ C2 @ ( 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 ) @ A3 @ ( product_Pair @ B @ B @ B3 @ C2 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B3 @ ( insert @ B @ C2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).
% graph_single
thf(fact_130_r2,axiom,
! [X3: b] :
( ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X3 @ ( bot_bot @ ( set @ b ) ) ) )
= ( bot_bot @ ( set @ b ) ) )
= ( ~ ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ) ).
% r2
thf(fact_131_refl__on__singleton,axiom,
! [A: $tType,X3: A] : ( refl_on @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) @ ( insert @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ) ).
% refl_on_singleton
thf(fact_132_rev__ImageI,axiom,
! [B: $tType,A: $tType,A3: A,A2: set @ A,B3: B,R: set @ ( product_prod @ A @ B )] :
( ( member @ A @ A3 @ A2 )
=> ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
=> ( member @ B @ B3 @ ( image @ A @ B @ R @ A2 ) ) ) ) ).
% rev_ImageI
thf(fact_133_Image__iff,axiom,
! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A2: set @ B] :
( ( member @ A @ B3 @ ( image @ B @ A @ R @ A2 ) )
= ( ? [X7: B] :
( ( member @ B @ X7 @ A2 )
& ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X7 @ B3 ) @ R ) ) ) ) ).
% Image_iff
thf(fact_134_ImageE,axiom,
! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A2: set @ B] :
( ( member @ A @ B3 @ ( image @ B @ A @ R @ A2 ) )
=> ~ ! [X6: B] :
( ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X6 @ B3 ) @ R )
=> ~ ( member @ B @ X6 @ A2 ) ) ) ).
% ImageE
thf(fact_135_relcomp_OrelcompI,axiom,
! [A: $tType,C: $tType,B: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),C2: C,S3: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B3 @ C2 ) @ S3 )
=> ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A3 @ C2 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) ) ) ) ).
% relcomp.relcompI
thf(fact_136_relcomp_Oinducts,axiom,
! [B: $tType,A: $tType,C: $tType,X1: A,X22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C ),P: A > C > $o] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X1 @ X22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
=> ( ! [A5: A,B5: B,C3: C] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A5 @ B5 ) @ R )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B5 @ C3 ) @ S3 )
=> ( P @ A5 @ C3 ) ) )
=> ( P @ X1 @ X22 ) ) ) ).
% relcomp.inducts
thf(fact_137_relcomp_Osimps,axiom,
! [B: $tType,C: $tType,A: $tType,A1: A,A22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
= ( ? [A6: A,B6: B,C6: C] :
( ( A1 = A6 )
& ( A22 = C6 )
& ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A6 @ B6 ) @ R )
& ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B6 @ C6 ) @ S3 ) ) ) ) ).
% relcomp.simps
thf(fact_138_relcomp_Ocases,axiom,
! [A: $tType,C: $tType,B: $tType,A1: A,A22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C )] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
=> ~ ! [B5: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A1 @ B5 ) @ R )
=> ~ ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B5 @ A22 ) @ S3 ) ) ) ).
% relcomp.cases
thf(fact_139_relcompEpair,axiom,
! [A: $tType,B: $tType,C: $tType,A3: A,C2: B,R: set @ ( product_prod @ A @ C ),S3: set @ ( product_prod @ C @ B )] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ C2 ) @ ( relcomp @ A @ C @ B @ R @ S3 ) )
=> ~ ! [B5: C] :
( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A3 @ B5 ) @ R )
=> ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ B5 @ C2 ) @ S3 ) ) ) ).
% relcompEpair
thf(fact_140_relcompE,axiom,
! [A: $tType,B: $tType,C: $tType,Xz: product_prod @ A @ B,R: set @ ( product_prod @ A @ C ),S3: set @ ( product_prod @ C @ B )] :
( ( member @ ( product_prod @ A @ B ) @ Xz @ ( relcomp @ A @ C @ B @ R @ S3 ) )
=> ~ ! [X6: A,Y5: C,Z2: B] :
( ( Xz
= ( product_Pair @ A @ B @ X6 @ Z2 ) )
=> ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X6 @ Y5 ) @ R )
=> ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y5 @ Z2 ) @ S3 ) ) ) ) ).
% relcompE
thf(fact_141_relcomp__Image,axiom,
! [A: $tType,C: $tType,B: $tType,X5: set @ ( product_prod @ B @ C ),Y4: set @ ( product_prod @ C @ A ),Z3: set @ B] :
( ( image @ B @ A @ ( relcomp @ B @ C @ A @ X5 @ Y4 ) @ Z3 )
= ( image @ C @ A @ Y4 @ ( image @ B @ C @ X5 @ Z3 ) ) ) ).
% relcomp_Image
thf(fact_142_relcomp__mono,axiom,
! [A: $tType,C: $tType,B: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C ),S3: set @ ( product_prod @ B @ C )] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
=> ( ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ S4 @ S3 )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ C ) ) @ ( relcomp @ A @ B @ C @ R3 @ S4 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) ) ) ) ).
% relcomp_mono
thf(fact_143_Image__mono,axiom,
! [B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),A7: set @ A,A2: set @ A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
=> ( ( ord_less_eq @ ( set @ A ) @ A7 @ A2 )
=> ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R3 @ A7 ) @ ( image @ A @ B @ R @ A2 ) ) ) ) ).
% Image_mono
thf(fact_144_O__assoc,axiom,
! [A: $tType,D: $tType,B: $tType,C: $tType,R2: set @ ( product_prod @ A @ D ),S: set @ ( product_prod @ D @ C ),T4: set @ ( product_prod @ C @ B )] :
( ( relcomp @ A @ C @ B @ ( relcomp @ A @ D @ C @ R2 @ S ) @ T4 )
= ( relcomp @ A @ D @ B @ R2 @ ( relcomp @ D @ C @ B @ S @ T4 ) ) ) ).
% O_assoc
thf(fact_145_agree__on__def,axiom,
! [C: $tType,B: $tType,A: $tType] :
( ( agree_on @ A @ B @ C )
= ( ^ [G6: labeled_graph @ A @ B,F_1: set @ ( product_prod @ B @ C ),F_2: set @ ( product_prod @ B @ C )] :
! [X7: B] :
( ( member @ B @ X7 @ ( labeled_vertices @ A @ B @ G6 ) )
=> ( ( image @ B @ C @ F_1 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) )
= ( image @ B @ C @ F_2 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ) ).
% agree_on_def
thf(fact_146_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_12: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E_22: 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_12 @ E_22 )
=> ( ( edge_preserving @ A @ B @ C @ R_2 @ E_22 @ G )
=> ( edge_preserving @ A @ B @ C @ R_1 @ E_12 @ G ) ) ) ) ).
% edge_preserving_subset
thf(fact_147_agree__on__trans,axiom,
! [A: $tType,C: $tType,B: $tType,X5: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C )] :
( ( agree_on @ A @ B @ C @ X5 @ F @ G2 )
=> ( ( agree_on @ A @ B @ C @ X5 @ G2 @ H )
=> ( agree_on @ A @ B @ C @ X5 @ F @ H ) ) ) ).
% agree_on_trans
thf(fact_148_agree__on__ext,axiom,
! [A: $tType,B: $tType,D: $tType,C: $tType,G: labeled_graph @ A @ B,F_12: set @ ( product_prod @ B @ C ),F_22: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ C @ D )] :
( ( agree_on @ A @ B @ C @ G @ F_12 @ F_22 )
=> ( agree_on @ A @ B @ D @ G @ ( relcomp @ B @ C @ D @ F_12 @ G2 ) @ ( relcomp @ B @ C @ D @ F_22 @ G2 ) ) ) ).
% agree_on_ext
thf(fact_149_refl__on__empty,axiom,
! [A: $tType] : ( refl_on @ A @ ( bot_bot @ ( set @ A ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).
% refl_on_empty
thf(fact_150_subrelI,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ A @ B )] :
( ! [X6: A,Y5: B] :
( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y5 ) @ R )
=> ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y5 ) @ S3 ) )
=> ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S3 ) ) ).
% subrelI
thf(fact_151_compose__preserves__edge__preserving,axiom,
! [A: $tType,B: $tType,D: $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 ) ),H2: set @ ( product_prod @ B @ D ),E32: set @ ( product_prod @ C @ ( product_prod @ D @ D ) )] :
( ( edge_preserving @ A @ B @ C @ H1 @ E1 @ E2 )
=> ( ( edge_preserving @ B @ D @ C @ H2 @ E2 @ E32 )
=> ( edge_preserving @ A @ D @ C @ ( relcomp @ A @ B @ D @ H1 @ H2 ) @ E1 @ E32 ) ) ) ).
% compose_preserves_edge_preserving
thf(fact_152_graph__union__iff,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( ( graph_union @ A @ B @ G_1 @ G_2 )
= G_2 )
= ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
& ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ) ).
% graph_union_iff
thf(fact_153_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_154_subgraph__def2,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( G_1
= ( restrict @ A @ B @ G_1 ) )
=> ( ( G_2
= ( restrict @ A @ B @ G_2 ) )
=> ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
= ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
& ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ) ) ) ).
% subgraph_def2
thf(fact_155_subgraph__subset_I1_J,axiom,
! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
=> ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ).
% subgraph_subset(1)
thf(fact_156_maintainedD2,axiom,
! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: 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 ) @ A2 @ B2 ) @ G )
=> ( ( graph_homomorphism @ A @ B @ C @ A2 @ G @ F )
=> ~ ! [G5: set @ ( product_prod @ B @ C )] :
( ( graph_homomorphism @ A @ B @ C @ B2 @ G @ G5 )
=> ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F @ G5 ) ) ) ) ).
% maintainedD2
thf(fact_157_Id__on__vertices__identity_I2_J,axiom,
! [B: $tType,C: $tType,A: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),Aa: B,Ba: C] :
( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ F )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ F )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ ( relcomp @ B @ C @ C @ F @ ( id_on @ C @ ( labeled_vertices @ A @ C @ B3 ) ) ) ) ) ) ).
% Id_on_vertices_identity(2)
thf(fact_158_Id__on__vertices__identity_I1_J,axiom,
! [A: $tType,C: $tType,B: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),Aa: B,Ba: C] :
( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ F )
=> ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ F )
=> ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A3 ) ) @ F ) ) ) ) ).
% Id_on_vertices_identity(1)
thf(fact_159_graph__homomorphism__on__graph,axiom,
! [B: $tType,A: $tType,D: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,R2: set @ ( product_prod @ B @ C ),F: C > D] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ R2 )
=> ( graph_homomorphism @ A @ B @ D @ A2 @ ( map_graph @ C @ D @ A @ ( bNF_Gr @ C @ D @ ( labeled_vertices @ A @ C @ B2 ) @ F ) @ B2 ) @ ( relcomp @ B @ C @ D @ R2 @ ( bNF_Gr @ C @ D @ ( labeled_vertices @ A @ C @ B2 ) @ F ) ) ) ) ).
% graph_homomorphism_on_graph
thf(fact_160_agree__on__subg__compose,axiom,
! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,G2: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C ),F2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
( ( agree_on @ A @ B @ C @ R2 @ G2 @ H )
=> ( ( agree_on @ A @ B @ C @ F2 @ F @ G2 )
=> ( ( graph_homomorphism @ A @ B @ B @ F2 @ R2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F2 ) ) )
=> ( agree_on @ A @ B @ C @ F2 @ F @ H ) ) ) ) ).
% agree_on_subg_compose
thf(fact_161_singleton__insert__inj__eq,axiom,
! [A: $tType,B3: A,A3: A,A2: set @ A] :
( ( ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) )
= ( insert @ A @ A3 @ A2 ) )
= ( ( A3 = B3 )
& ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% singleton_insert_inj_eq
thf(fact_162_singleton__insert__inj__eq_H,axiom,
! [A: $tType,A3: A,A2: set @ A,B3: A] :
( ( ( insert @ A @ A3 @ A2 )
= ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( ( A3 = B3 )
& ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% singleton_insert_inj_eq'
thf(fact_163_equiv__class__subset,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
=> ( ord_less_eq @ ( set @ A ) @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) @ ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).
% equiv_class_subset
thf(fact_164_subset__equiv__class,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),B3: A,A3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( ord_less_eq @ ( set @ A ) @ ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
=> ( ( member @ A @ B3 @ A2 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R ) ) ) ) ).
% subset_equiv_class
thf(fact_165_refines__equiv__class__eq2,axiom,
! [A: $tType,R2: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A ),A2: set @ A,A3: A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R2 @ S )
=> ( ( equiv_equiv @ A @ A2 @ R2 )
=> ( ( equiv_equiv @ A @ A2 @ S )
=> ( ( image @ A @ A @ S @ ( image @ A @ A @ R2 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
= ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ) ).
% refines_equiv_class_eq2
thf(fact_166_empty__Collect__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( bot_bot @ ( set @ A ) )
= ( collect @ A @ P ) )
= ( ! [X7: A] :
~ ( P @ X7 ) ) ) ).
% empty_Collect_eq
thf(fact_167_Collect__empty__eq,axiom,
! [A: $tType,P: A > $o] :
( ( ( collect @ A @ P )
= ( bot_bot @ ( set @ A ) ) )
= ( ! [X7: A] :
~ ( P @ X7 ) ) ) ).
% Collect_empty_eq
thf(fact_168_all__not__in__conv,axiom,
! [A: $tType,A2: set @ A] :
( ( ! [X7: A] :
~ ( member @ A @ X7 @ A2 ) )
= ( A2
= ( bot_bot @ ( set @ A ) ) ) ) ).
% all_not_in_conv
thf(fact_169_empty__iff,axiom,
! [A: $tType,C2: A] :
~ ( member @ A @ C2 @ ( bot_bot @ ( set @ A ) ) ) ).
% empty_iff
thf(fact_170_subset__antisym,axiom,
! [A: $tType,A2: set @ A,B2: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
=> ( A2 = B2 ) ) ) ).
% subset_antisym
thf(fact_171_subsetI,axiom,
! [A: $tType,A2: set @ A,B2: set @ A] :
( ! [X6: A] :
( ( member @ A @ X6 @ A2 )
=> ( member @ A @ X6 @ B2 ) )
=> ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ).
% subsetI
thf(fact_172_insert__absorb2,axiom,
! [A: $tType,X3: A,A2: set @ A] :
( ( insert @ A @ X3 @ ( insert @ A @ X3 @ A2 ) )
= ( insert @ A @ X3 @ A2 ) ) ).
% insert_absorb2
thf(fact_173_insert__iff,axiom,
! [A: $tType,A3: A,B3: A,A2: set @ A] :
( ( member @ A @ A3 @ ( insert @ A @ B3 @ A2 ) )
= ( ( A3 = B3 )
| ( member @ A @ A3 @ A2 ) ) ) ).
% insert_iff
thf(fact_174_insertCI,axiom,
! [A: $tType,A3: A,B2: set @ A,B3: A] :
( ( ~ ( member @ A @ A3 @ B2 )
=> ( A3 = B3 ) )
=> ( member @ A @ A3 @ ( insert @ A @ B3 @ B2 ) ) ) ).
% insertCI
thf(fact_175_empty__subsetI,axiom,
! [A: $tType,A2: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A2 ) ).
% empty_subsetI
thf(fact_176_subset__empty,axiom,
! [A: $tType,A2: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ ( bot_bot @ ( set @ A ) ) )
= ( A2
= ( bot_bot @ ( set @ A ) ) ) ) ).
% subset_empty
thf(fact_177_singletonI,axiom,
! [A: $tType,A3: A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% singletonI
thf(fact_178_insert__subset,axiom,
! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ A2 ) @ B2 )
= ( ( member @ A @ X3 @ B2 )
& ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ) ).
% insert_subset
thf(fact_179_relcomp__empty1,axiom,
! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B )] :
( ( relcomp @ A @ C @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ C ) ) ) @ R2 )
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% relcomp_empty1
thf(fact_180_relcomp__empty2,axiom,
! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ A @ C )] :
( ( relcomp @ A @ C @ B @ R2 @ ( bot_bot @ ( set @ ( product_prod @ C @ B ) ) ) )
= ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% relcomp_empty2
thf(fact_181_graph__empty__e,axiom,
! [A: $tType,B: $tType,V2: set @ B] :
( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V2 )
= ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V2 ) ) ) ).
% graph_empty_e
thf(fact_182_graph__homomorphism__nonempty,axiom,
! [B: $tType,A: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),E4: allegorical_term @ A] :
( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F )
=> ( ( ( semantics @ A @ B @ A2 @ E4 )
!= ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) )
=> ( ( semantics @ A @ C @ B2 @ E4 )
!= ( bot_bot @ ( set @ ( product_prod @ C @ C ) ) ) ) ) ) ).
% graph_homomorphism_nonempty
thf(fact_183_ex__in__conv,axiom,
! [A: $tType,A2: set @ A] :
( ( ? [X7: A] : ( member @ A @ X7 @ A2 ) )
= ( A2
!= ( bot_bot @ ( set @ A ) ) ) ) ).
% ex_in_conv
thf(fact_184_equals0I,axiom,
! [A: $tType,A2: set @ A] :
( ! [Y5: A] :
~ ( member @ A @ Y5 @ A2 )
=> ( A2
= ( bot_bot @ ( set @ A ) ) ) ) ).
% equals0I
thf(fact_185_equals0D,axiom,
! [A: $tType,A2: set @ A,A3: A] :
( ( A2
= ( bot_bot @ ( set @ A ) ) )
=> ~ ( member @ A @ A3 @ A2 ) ) ).
% equals0D
thf(fact_186_emptyE,axiom,
! [A: $tType,A3: A] :
~ ( member @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).
% emptyE
thf(fact_187_Collect__mono__iff,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
= ( ! [X7: A] :
( ( P @ X7 )
=> ( Q @ X7 ) ) ) ) ).
% Collect_mono_iff
thf(fact_188_set__eq__subset,axiom,
! [A: $tType] :
( ( ^ [Y6: set @ A,Z4: set @ A] : ( Y6 = Z4 ) )
= ( ^ [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_189_subset__trans,axiom,
! [A: $tType,A2: set @ A,B2: set @ A,C7: set @ A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ( ( ord_less_eq @ ( set @ A ) @ B2 @ C7 )
=> ( ord_less_eq @ ( set @ A ) @ A2 @ C7 ) ) ) ).
% subset_trans
thf(fact_190_Collect__mono,axiom,
! [A: $tType,P: A > $o,Q: A > $o] :
( ! [X6: A] :
( ( P @ X6 )
=> ( Q @ X6 ) )
=> ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% Collect_mono
thf(fact_191_subset__refl,axiom,
! [A: $tType,A2: set @ A] : ( ord_less_eq @ ( set @ A ) @ A2 @ A2 ) ).
% subset_refl
thf(fact_192_subset__iff,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A8: set @ A,B7: set @ A] :
! [T3: A] :
( ( member @ A @ T3 @ A8 )
=> ( member @ A @ T3 @ B7 ) ) ) ) ).
% subset_iff
thf(fact_193_equalityD2,axiom,
! [A: $tType,A2: set @ A,B2: set @ A] :
( ( A2 = B2 )
=> ( ord_less_eq @ ( set @ A ) @ B2 @ A2 ) ) ).
% equalityD2
thf(fact_194_equalityD1,axiom,
! [A: $tType,A2: set @ A,B2: set @ A] :
( ( A2 = B2 )
=> ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ).
% equalityD1
thf(fact_195_subset__eq,axiom,
! [A: $tType] :
( ( ord_less_eq @ ( set @ A ) )
= ( ^ [A8: set @ A,B7: set @ A] :
! [X7: A] :
( ( member @ A @ X7 @ A8 )
=> ( member @ A @ X7 @ B7 ) ) ) ) ).
% subset_eq
thf(fact_196_equalityE,axiom,
! [A: $tType,A2: set @ A,B2: set @ A] :
( ( A2 = B2 )
=> ~ ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ~ ( ord_less_eq @ ( set @ A ) @ B2 @ A2 ) ) ) ).
% equalityE
thf(fact_197_subsetD,axiom,
! [A: $tType,A2: set @ A,B2: set @ A,C2: A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ( ( member @ A @ C2 @ A2 )
=> ( member @ A @ C2 @ B2 ) ) ) ).
% subsetD
thf(fact_198_in__mono,axiom,
! [A: $tType,A2: set @ A,B2: set @ A,X3: A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ( ( member @ A @ X3 @ A2 )
=> ( member @ A @ X3 @ B2 ) ) ) ).
% in_mono
thf(fact_199_mk__disjoint__insert,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ? [B8: set @ A] :
( ( A2
= ( insert @ A @ A3 @ B8 ) )
& ~ ( member @ A @ A3 @ B8 ) ) ) ).
% mk_disjoint_insert
thf(fact_200_insert__commute,axiom,
! [A: $tType,X3: A,Y3: A,A2: set @ A] :
( ( insert @ A @ X3 @ ( insert @ A @ Y3 @ A2 ) )
= ( insert @ A @ Y3 @ ( insert @ A @ X3 @ A2 ) ) ) ).
% insert_commute
thf(fact_201_insert__eq__iff,axiom,
! [A: $tType,A3: A,A2: set @ A,B3: A,B2: set @ A] :
( ~ ( member @ A @ A3 @ A2 )
=> ( ~ ( member @ A @ B3 @ B2 )
=> ( ( ( insert @ A @ A3 @ A2 )
= ( insert @ A @ B3 @ B2 ) )
= ( ( ( A3 = B3 )
=> ( A2 = B2 ) )
& ( ( A3 != B3 )
=> ? [C5: set @ A] :
( ( A2
= ( insert @ A @ B3 @ C5 ) )
& ~ ( member @ A @ B3 @ C5 )
& ( B2
= ( insert @ A @ A3 @ C5 ) )
& ~ ( member @ A @ A3 @ C5 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_202_insert__absorb,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( member @ A @ A3 @ A2 )
=> ( ( insert @ A @ A3 @ A2 )
= A2 ) ) ).
% insert_absorb
thf(fact_203_insert__ident,axiom,
! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
( ~ ( member @ A @ X3 @ A2 )
=> ( ~ ( member @ A @ X3 @ B2 )
=> ( ( ( insert @ A @ X3 @ A2 )
= ( insert @ A @ X3 @ B2 ) )
= ( A2 = B2 ) ) ) ) ).
% insert_ident
thf(fact_204_Set_Oset__insert,axiom,
! [A: $tType,X3: A,A2: set @ A] :
( ( member @ A @ X3 @ A2 )
=> ~ ! [B8: set @ A] :
( ( A2
= ( insert @ A @ X3 @ B8 ) )
=> ( member @ A @ X3 @ B8 ) ) ) ).
% Set.set_insert
thf(fact_205_insertI2,axiom,
! [A: $tType,A3: A,B2: set @ A,B3: A] :
( ( member @ A @ A3 @ B2 )
=> ( member @ A @ A3 @ ( insert @ A @ B3 @ B2 ) ) ) ).
% insertI2
thf(fact_206_insertI1,axiom,
! [A: $tType,A3: A,B2: set @ A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ B2 ) ) ).
% insertI1
thf(fact_207_insertE,axiom,
! [A: $tType,A3: A,B3: A,A2: set @ A] :
( ( member @ A @ A3 @ ( insert @ A @ B3 @ A2 ) )
=> ( ( A3 != B3 )
=> ( member @ A @ A3 @ A2 ) ) ) ).
% insertE
thf(fact_208_singleton__inject,axiom,
! [A: $tType,A3: A,B3: A] :
( ( ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) )
= ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( A3 = B3 ) ) ).
% singleton_inject
thf(fact_209_insert__not__empty,axiom,
! [A: $tType,A3: A,A2: set @ A] :
( ( insert @ A @ A3 @ A2 )
!= ( bot_bot @ ( set @ A ) ) ) ).
% insert_not_empty
thf(fact_210_doubleton__eq__iff,axiom,
! [A: $tType,A3: A,B3: A,C2: A,D3: A] :
( ( ( insert @ A @ A3 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( insert @ A @ C2 @ ( insert @ A @ D3 @ ( bot_bot @ ( set @ A ) ) ) ) )
= ( ( ( A3 = C2 )
& ( B3 = D3 ) )
| ( ( A3 = D3 )
& ( B3 = C2 ) ) ) ) ).
% doubleton_eq_iff
thf(fact_211_singleton__iff,axiom,
! [A: $tType,B3: A,A3: A] :
( ( member @ A @ B3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( B3 = A3 ) ) ).
% singleton_iff
thf(fact_212_singletonD,axiom,
! [A: $tType,B3: A,A3: A] :
( ( member @ A @ B3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( B3 = A3 ) ) ).
% singletonD
thf(fact_213_subset__insertI2,axiom,
! [A: $tType,A2: set @ A,B2: set @ A,B3: A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
=> ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ B2 ) ) ) ).
% subset_insertI2
thf(fact_214_subset__insertI,axiom,
! [A: $tType,B2: set @ A,A3: A] : ( ord_less_eq @ ( set @ A ) @ B2 @ ( insert @ A @ A3 @ B2 ) ) ).
% subset_insertI
thf(fact_215_subset__insert,axiom,
! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
( ~ ( member @ A @ X3 @ A2 )
=> ( ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ X3 @ B2 ) )
= ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ) ).
% subset_insert
thf(fact_216_insert__mono,axiom,
! [A: $tType,C7: set @ A,D4: set @ A,A3: A] :
( ( ord_less_eq @ ( set @ A ) @ C7 @ D4 )
=> ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ A3 @ C7 ) @ ( insert @ A @ A3 @ D4 ) ) ) ).
% insert_mono
thf(fact_217_subset__singleton__iff,axiom,
! [A: $tType,X5: set @ A,A3: A] :
( ( ord_less_eq @ ( set @ A ) @ X5 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( ( X5
= ( bot_bot @ ( set @ A ) ) )
| ( X5
= ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% subset_singleton_iff
thf(fact_218_subset__singletonD,axiom,
! [A: $tType,A2: set @ A,X3: A] :
( ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
=> ( ( A2
= ( bot_bot @ ( set @ A ) ) )
| ( A2
= ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).
% subset_singletonD
thf(fact_219_equiv__class__self,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ A @ A3 @ A2 )
=> ( member @ A @ A3 @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).
% equiv_class_self
thf(fact_220_equiv__class__eq__iff,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
= ( ( ( image @ A @ A @ R @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( image @ A @ A @ R @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) )
& ( member @ A @ X3 @ A2 )
& ( member @ A @ Y3 @ A2 ) ) ) ) ).
% equiv_class_eq_iff
thf(fact_221_eq__equiv__class__iff,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ A @ X3 @ A2 )
=> ( ( member @ A @ Y3 @ A2 )
=> ( ( ( image @ A @ A @ R @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( image @ A @ A @ R @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) )
= ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R ) ) ) ) ) ).
% eq_equiv_class_iff
thf(fact_222_equiv__class__eq,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
=> ( ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).
% equiv_class_eq
thf(fact_223_eq__equiv__class,axiom,
! [A: $tType,R: set @ ( product_prod @ A @ A ),A3: A,B3: A,A2: set @ A] :
( ( ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
= ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) )
=> ( ( equiv_equiv @ A @ A2 @ R )
=> ( ( member @ A @ B3 @ A2 )
=> ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R ) ) ) ) ).
% eq_equiv_class
thf(fact_224_refines__equiv__class__eq,axiom,
! [A: $tType,R2: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A ),A2: set @ A,A3: A] :
( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R2 @ S )
=> ( ( equiv_equiv @ A @ A2 @ R2 )
=> ( ( equiv_equiv @ A @ A2 @ S )
=> ( ( image @ A @ A @ R2 @ ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
= ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ) ).
% refines_equiv_class_eq
thf(fact_225_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_226_ma,axiom,
! [X4: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat )] :
( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ X4 @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa245363227y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa2114124375e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa1805702094y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) ) ) ) ) ) )
=> ( maintained @ ( standard_Constant @ a ) @ nat @ b @ X4 @ g ) ) ).
% ma
thf(fact_227_proj__iff,axiom,
! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
( ( equiv_equiv @ A @ A2 @ R )
=> ( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) @ A2 )
=> ( ( ( equiv_proj @ A @ A @ R @ X3 )
= ( equiv_proj @ A @ A @ R @ Y3 ) )
= ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R ) ) ) ) ).
% proj_iff
thf(fact_228_proj__def,axiom,
! [A: $tType,B: $tType] :
( ( equiv_proj @ B @ A )
= ( ^ [R4: set @ ( product_prod @ B @ A ),X7: B] : ( image @ B @ A @ R4 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ).
% proj_def
thf(fact_229_equivalence,axiom,
! [B: $tType,A: $tType,G: labeled_graph @ A @ B,I: A] :
( ( G
= ( restrict @ A @ B @ G ) )
=> ( ! [X6: product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat )] :
( ( member @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ X6 @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa245363227y_rule @ A @ I ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa2114124375e_rule @ A @ I ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa1805702094y_rule @ A @ I ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) ) ) ) ) ) )
=> ( maintained @ A @ nat @ B @ X6 @ G ) )
=> ( equiv_equiv @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ I @ G ) ) ) ) ).
% equivalence
thf(fact_230_f,axiom,
( f
= ( ^ [X7: b] :
( if @ b
@ ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) )
= ( bot_bot @ ( set @ b ) ) )
@ X7
@ ( hilbert_Eps @ b @ ( p @ X7 ) ) ) ) ) ).
% f
thf(fact_231_the__elem__eq,axiom,
! [A: $tType,X3: A] :
( ( the_elem @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
= X3 ) ).
% the_elem_eq
thf(fact_232_tuple__disj,axiom,
! [A: $tType,X3: A,Z: A] :
( ( collect @ A
@ ^ [Y7: A] :
( ( Y7 = X3 )
| ( Y7 = Z ) ) )
= ( insert @ A @ X3 @ ( insert @ A @ Z @ ( bot_bot @ ( set @ A ) ) ) ) ) ).
% tuple_disj
thf(fact_233_singleton__conv,axiom,
! [A: $tType,A3: A] :
( ( collect @ A
@ ^ [X7: A] : ( X7 = A3 ) )
= ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% singleton_conv
thf(fact_234_singleton__conv2,axiom,
! [A: $tType,A3: A] :
( ( collect @ A
@ ( ^ [Y6: A,Z4: A] : ( Y6 = Z4 )
@ A3 ) )
= ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% singleton_conv2
thf(fact_235_P,axiom,
( p
= ( ^ [X7: b,Y7: b] : ( member @ b @ Y7 @ ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) ) ) ) ) ).
% P
thf(fact_236_empty__def,axiom,
! [A: $tType] :
( ( bot_bot @ ( set @ A ) )
= ( collect @ A
@ ^ [X7: A] : $false ) ) ).
% empty_def
thf(fact_237_insert__compr,axiom,
! [A: $tType] :
( ( insert @ A )
= ( ^ [A6: A,B7: set @ A] :
( collect @ A
@ ^ [X7: A] :
( ( X7 = A6 )
| ( member @ A @ X7 @ B7 ) ) ) ) ) ).
% insert_compr
thf(fact_238_insert__Collect,axiom,
! [A: $tType,A3: A,P: A > $o] :
( ( insert @ A @ A3 @ ( collect @ A @ P ) )
= ( collect @ A
@ ^ [U2: A] :
( ( U2 != A3 )
=> ( P @ U2 ) ) ) ) ).
% insert_Collect
thf(fact_239_Collect__conv__if,axiom,
! [A: $tType,P: A > $o,A3: A] :
( ( ( P @ A3 )
=> ( ( collect @ A
@ ^ [X7: A] :
( ( X7 = A3 )
& ( P @ X7 ) ) )
= ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
& ( ~ ( P @ A3 )
=> ( ( collect @ A
@ ^ [X7: A] :
( ( X7 = A3 )
& ( P @ X7 ) ) )
= ( bot_bot @ ( set @ A ) ) ) ) ) ).
% Collect_conv_if
thf(fact_240_Collect__conv__if2,axiom,
! [A: $tType,P: A > $o,A3: A] :
( ( ( P @ A3 )
=> ( ( collect @ A
@ ^ [X7: A] :
( ( A3 = X7 )
& ( P @ X7 ) ) )
= ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
& ( ~ ( P @ A3 )
=> ( ( collect @ A
@ ^ [X7: A] :
( ( A3 = X7 )
& ( P @ X7 ) ) )
= ( bot_bot @ ( set @ A ) ) ) ) ) ).
% Collect_conv_if2
thf(fact_241_Image__singleton,axiom,
! [B: $tType,A: $tType,R: set @ ( product_prod @ B @ A ),A3: B] :
( ( image @ B @ A @ R @ ( insert @ B @ A3 @ ( bot_bot @ ( set @ B ) ) ) )
= ( collect @ A
@ ^ [B6: A] : ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A3 @ B6 ) @ R ) ) ) ).
% Image_singleton
thf(fact_242_edges__def,axiom,
! [V: $tType,L: $tType] :
( ( labeled_edges @ L @ V )
= ( labele1974067554_graph @ L @ V @ ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) )
@ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : X13 ) ) ).
% edges_def
thf(fact_243_vertices__def,axiom,
! [V: $tType,L: $tType] :
( ( labeled_vertices @ L @ V )
= ( labele1974067554_graph @ L @ V @ ( set @ V )
@ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : X24 ) ) ).
% vertices_def
thf(fact_244_labeled__graph_Ocase__distrib,axiom,
! [A: $tType,B: $tType,V: $tType,L: $tType,H: A > B,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
( ( H @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
= ( labele1974067554_graph @ L @ V @ B
@ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : ( H @ ( F @ X13 @ X24 ) )
@ Labeled_graph ) ) ).
% labeled_graph.case_distrib
thf(fact_245_pred__equals__eq2,axiom,
! [B: $tType,A: $tType,R2: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
( ( ( ^ [X7: A,Y7: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X7 @ Y7 ) @ R2 ) )
= ( ^ [X7: A,Y7: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X7 @ Y7 ) @ S ) ) )
= ( R2 = S ) ) ).
% pred_equals_eq2
thf(fact_246_subset__CollectI,axiom,
! [A: $tType,B2: set @ A,A2: set @ A,Q: A > $o,P: A > $o] :
( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
=> ( ! [X6: A] :
( ( member @ A @ X6 @ B2 )
=> ( ( Q @ X6 )
=> ( P @ X6 ) ) )
=> ( ord_less_eq @ ( set @ A )
@ ( collect @ A
@ ^ [X7: A] :
( ( member @ A @ X7 @ B2 )
& ( Q @ X7 ) ) )
@ ( collect @ A
@ ^ [X7: A] :
( ( member @ A @ X7 @ A2 )
& ( P @ X7 ) ) ) ) ) ) ).
% subset_CollectI
thf(fact_247_subset__Collect__iff,axiom,
! [A: $tType,B2: set @ A,A2: set @ A,P: A > $o] :
( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
=> ( ( ord_less_eq @ ( set @ A ) @ B2
@ ( collect @ A
@ ^ [X7: A] :
( ( member @ A @ X7 @ A2 )
& ( P @ X7 ) ) ) )
= ( ! [X7: A] :
( ( member @ A @ X7 @ B2 )
=> ( P @ X7 ) ) ) ) ) ).
% subset_Collect_iff
thf(fact_248_Collect__subset,axiom,
! [A: $tType,A2: set @ A,P: A > $o] :
( ord_less_eq @ ( set @ A )
@ ( collect @ A
@ ^ [X7: A] :
( ( member @ A @ X7 @ A2 )
& ( P @ X7 ) ) )
@ A2 ) ).
% Collect_subset
thf(fact_249_congr_I1_J,axiom,
! [X2: b,Y: b,L2: standard_Constant @ a] :
( ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X2 @ Y ) @ ( getRel @ ( standard_Constant @ a ) @ b @ L2 @ g ) )
=> ( equiv_congruent @ b @ ( set @ b ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g )
@ ^ [V3: b] : ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ L2 @ g ) @ ( insert @ b @ V3 @ ( bot_bot @ ( set @ b ) ) ) ) ) ) ).
% congr(1)
thf(fact_250_ident,axiom,
( ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) )
= ( image2 @ b @ ( product_prod @ b @ b )
@ ^ [X7: b] : ( product_Pair @ b @ b @ X7 @ X7 )
@ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) ) ) ) ).
% ident
thf(fact_251_image__empty,axiom,
! [B: $tType,A: $tType,F: B > A] :
( ( image2 @ B @ A @ F @ ( bot_bot @ ( set @ B ) ) )
= ( bot_bot @ ( set @ A ) ) ) ).
% image_empty
thf(fact_252_empty__is__image,axiom,
! [A: $tType,B: $tType,F: B > A,A2: set @ B] :
( ( ( bot_bot @ ( set @ A ) )
= ( image2 @ B @ A @ F @ A2 ) )
= ( A2
= ( bot_bot @ ( set @ B ) ) ) ) ).
% empty_is_image
thf(fact_253_image__is__empty,axiom,
! [A: $tType,B: $tType,F: B > A,A2: set @ B] :
( ( ( image2 @ B @ A @ F @ A2 )
= ( bot_bot @ ( set @ A ) ) )
= ( A2
= ( bot_bot @ ( set @ B ) ) ) ) ).
% image_is_empty
thf(fact_254_image__insert,axiom,
! [A: $tType,B: $tType,F: B > A,A3: B,B2: set @ B] :
( ( image2 @ B @ A @ F @ ( insert @ B @ A3 @ B2 ) )
= ( insert @ A @ ( F @ A3 ) @ ( image2 @ B @ A @ F @ B2 ) ) ) ).
% image_insert
thf(fact_255_insert__image,axiom,
! [B: $tType,A: $tType,X3: A,A2: set @ A,F: A > B] :
( ( member @ A @ X3 @ A2 )
=> ( ( insert @ B @ ( F @ X3 ) @ ( image2 @ A @ B @ F @ A2 ) )
= ( image2 @ A @ B @ F @ A2 ) ) ) ).
% insert_image
% 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,X3: A,Y3: A] :
( ( if @ A @ $false @ X3 @ Y3 )
= Y3 ) ).
thf(help_If_1_1_T,axiom,
! [A: $tType,X3: A,Y3: A] :
( ( if @ A @ $true @ X3 @ Y3 )
= X3 ) ).
% Conjectures (1)
thf(conj_0,conjecture,
member @ b @ x @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).
%------------------------------------------------------------------------------