Metamath Proof Explorer


Theorem fthsetcestrc

Description: The "embedding functor" from the category of sets into the category of extensible structures which sends each set to an extensible structure consisting of the base set slot only is faithful. (Contributed by AV, 31-Mar-2020)

Ref Expression
Hypotheses funcsetcestrc.s 𝑆 = ( SetCat ‘ 𝑈 )
funcsetcestrc.c 𝐶 = ( Base ‘ 𝑆 )
funcsetcestrc.f ( 𝜑𝐹 = ( 𝑥𝐶 ↦ { ⟨ ( Base ‘ ndx ) , 𝑥 ⟩ } ) )
funcsetcestrc.u ( 𝜑𝑈 ∈ WUni )
funcsetcestrc.o ( 𝜑 → ω ∈ 𝑈 )
funcsetcestrc.g ( 𝜑𝐺 = ( 𝑥𝐶 , 𝑦𝐶 ↦ ( I ↾ ( 𝑦m 𝑥 ) ) ) )
funcsetcestrc.e 𝐸 = ( ExtStrCat ‘ 𝑈 )
Assertion fthsetcestrc ( 𝜑𝐹 ( 𝑆 Faith 𝐸 ) 𝐺 )

Proof

Step Hyp Ref Expression
1 funcsetcestrc.s 𝑆 = ( SetCat ‘ 𝑈 )
2 funcsetcestrc.c 𝐶 = ( Base ‘ 𝑆 )
3 funcsetcestrc.f ( 𝜑𝐹 = ( 𝑥𝐶 ↦ { ⟨ ( Base ‘ ndx ) , 𝑥 ⟩ } ) )
4 funcsetcestrc.u ( 𝜑𝑈 ∈ WUni )
5 funcsetcestrc.o ( 𝜑 → ω ∈ 𝑈 )
6 funcsetcestrc.g ( 𝜑𝐺 = ( 𝑥𝐶 , 𝑦𝐶 ↦ ( I ↾ ( 𝑦m 𝑥 ) ) ) )
7 funcsetcestrc.e 𝐸 = ( ExtStrCat ‘ 𝑈 )
8 1 2 3 4 5 6 7 funcsetcestrc ( 𝜑𝐹 ( 𝑆 Func 𝐸 ) 𝐺 )
9 1 2 3 4 5 6 7 funcsetcestrclem8 ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ⟶ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) )
10 4 adantr ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → 𝑈 ∈ WUni )
11 eqid ( Hom ‘ 𝑆 ) = ( Hom ‘ 𝑆 )
12 1 4 setcbas ( 𝜑𝑈 = ( Base ‘ 𝑆 ) )
13 2 12 eqtr4id ( 𝜑𝐶 = 𝑈 )
14 13 eleq2d ( 𝜑 → ( 𝑎𝐶𝑎𝑈 ) )
15 14 biimpcd ( 𝑎𝐶 → ( 𝜑𝑎𝑈 ) )
16 15 adantr ( ( 𝑎𝐶𝑏𝐶 ) → ( 𝜑𝑎𝑈 ) )
17 16 impcom ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → 𝑎𝑈 )
18 13 eleq2d ( 𝜑 → ( 𝑏𝐶𝑏𝑈 ) )
19 18 biimpcd ( 𝑏𝐶 → ( 𝜑𝑏𝑈 ) )
20 19 adantl ( ( 𝑎𝐶𝑏𝐶 ) → ( 𝜑𝑏𝑈 ) )
21 20 impcom ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → 𝑏𝑈 )
22 1 10 11 17 21 setchom ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) = ( 𝑏m 𝑎 ) )
23 22 eleq2d ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ↔ ∈ ( 𝑏m 𝑎 ) ) )
24 1 2 3 4 5 6 funcsetcestrclem6 ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ∧ ∈ ( 𝑏m 𝑎 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = )
25 24 3expia ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ∈ ( 𝑏m 𝑎 ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ) )
26 23 25 sylbid ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ) )
27 26 com12 ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) → ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ) )
28 27 adantr ( ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) → ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ) )
29 28 impcom ( ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) ∧ ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ ) = )
30 22 eleq2d ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ↔ 𝑘 ∈ ( 𝑏m 𝑎 ) ) )
31 1 2 3 4 5 6 funcsetcestrclem6 ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ∧ 𝑘 ∈ ( 𝑏m 𝑎 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 )
32 31 3expia ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑘 ∈ ( 𝑏m 𝑎 ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 ) )
33 30 32 sylbid ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 ) )
34 33 com12 ( 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) → ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 ) )
35 34 adantl ( ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) → ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 ) )
36 35 impcom ( ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) ∧ ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) ) → ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) = 𝑘 )
37 29 36 eqeq12d ( ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) ∧ ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) ) → ( ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) ↔ = 𝑘 ) )
38 37 biimpd ( ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) ∧ ( ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∧ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ) ) → ( ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) → = 𝑘 ) )
39 38 ralrimivva ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ∀ ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∀ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ( ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) → = 𝑘 ) )
40 dff13 ( ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) –1-1→ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) ↔ ( ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ⟶ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) ∧ ∀ ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ∀ 𝑘 ∈ ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) ( ( ( 𝑎 𝐺 𝑏 ) ‘ ) = ( ( 𝑎 𝐺 𝑏 ) ‘ 𝑘 ) → = 𝑘 ) ) )
41 9 39 40 sylanbrc ( ( 𝜑 ∧ ( 𝑎𝐶𝑏𝐶 ) ) → ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) –1-1→ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) )
42 41 ralrimivva ( 𝜑 → ∀ 𝑎𝐶𝑏𝐶 ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) –1-1→ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) )
43 eqid ( Hom ‘ 𝐸 ) = ( Hom ‘ 𝐸 )
44 2 11 43 isfth2 ( 𝐹 ( 𝑆 Faith 𝐸 ) 𝐺 ↔ ( 𝐹 ( 𝑆 Func 𝐸 ) 𝐺 ∧ ∀ 𝑎𝐶𝑏𝐶 ( 𝑎 𝐺 𝑏 ) : ( 𝑎 ( Hom ‘ 𝑆 ) 𝑏 ) –1-1→ ( ( 𝐹𝑎 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑏 ) ) ) )
45 8 42 44 sylanbrc ( 𝜑𝐹 ( 𝑆 Faith 𝐸 ) 𝐺 )