Metamath Proof Explorer


Theorem ismon2

Description: Write out the monomorphism property directly. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses ismon.b 𝐵 = ( Base ‘ 𝐶 )
ismon.h 𝐻 = ( Hom ‘ 𝐶 )
ismon.o · = ( comp ‘ 𝐶 )
ismon.s 𝑀 = ( Mono ‘ 𝐶 )
ismon.c ( 𝜑𝐶 ∈ Cat )
ismon.x ( 𝜑𝑋𝐵 )
ismon.y ( 𝜑𝑌𝐵 )
Assertion ismon2 ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝑀 𝑌 ) ↔ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ∧ ∀ 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) ) )

Proof

Step Hyp Ref Expression
1 ismon.b 𝐵 = ( Base ‘ 𝐶 )
2 ismon.h 𝐻 = ( Hom ‘ 𝐶 )
3 ismon.o · = ( comp ‘ 𝐶 )
4 ismon.s 𝑀 = ( Mono ‘ 𝐶 )
5 ismon.c ( 𝜑𝐶 ∈ Cat )
6 ismon.x ( 𝜑𝑋𝐵 )
7 ismon.y ( 𝜑𝑌𝐵 )
8 1 2 3 4 5 6 7 ismon ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝑀 𝑌 ) ↔ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ∧ ∀ 𝑧𝐵 Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ) ) )
9 5 ad2antrr ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝐶 ∈ Cat )
10 simprl ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝑧𝐵 )
11 6 ad2antrr ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝑋𝐵 )
12 7 ad2antrr ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝑌𝐵 )
13 simprr ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) )
14 simplr ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) )
15 1 2 3 9 10 11 12 13 14 catcocl ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ ( 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) ) → ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) )
16 15 anassrs ( ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ 𝑧𝐵 ) ∧ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ) → ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) )
17 16 ralrimiva ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ 𝑧𝐵 ) → ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) )
18 eqid ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) = ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) )
19 18 fmpt ( ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) ↔ ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) ⟶ ( 𝑧 𝐻 𝑌 ) )
20 df-f1 ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) –1-1→ ( 𝑧 𝐻 𝑌 ) ↔ ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) ⟶ ( 𝑧 𝐻 𝑌 ) ∧ Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ) )
21 20 baib ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) ⟶ ( 𝑧 𝐻 𝑌 ) → ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) –1-1→ ( 𝑧 𝐻 𝑌 ) ↔ Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ) )
22 19 21 sylbi ( ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) → ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) –1-1→ ( 𝑧 𝐻 𝑌 ) ↔ Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ) )
23 oveq2 ( 𝑔 = → ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) )
24 18 23 f1mpt ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) –1-1→ ( 𝑧 𝐻 𝑌 ) ↔ ( ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) ∧ ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) )
25 24 baib ( ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) → ( ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) : ( 𝑧 𝐻 𝑋 ) –1-1→ ( 𝑧 𝐻 𝑌 ) ↔ ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) )
26 22 25 bitr3d ( ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ∈ ( 𝑧 𝐻 𝑌 ) → ( Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ↔ ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) )
27 17 26 syl ( ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) ∧ 𝑧𝐵 ) → ( Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ↔ ∀ 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) )
28 27 ralbidva ( ( 𝜑𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) → ( ∀ 𝑧𝐵 Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ↔ ∀ 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) )
29 28 pm5.32da ( 𝜑 → ( ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ∧ ∀ 𝑧𝐵 Fun ( 𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ↦ ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) ) ) ↔ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ∧ ∀ 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) ) )
30 8 29 bitrd ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝑀 𝑌 ) ↔ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ∧ ∀ 𝑧𝐵𝑔 ∈ ( 𝑧 𝐻 𝑋 ) ∀ ∈ ( 𝑧 𝐻 𝑋 ) ( ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) 𝑔 ) = ( 𝐹 ( ⟨ 𝑧 , 𝑋· 𝑌 ) ) → 𝑔 = ) ) ) )