Metamath Proof Explorer


Theorem monsect

Description: If F is a monomorphism and G is a section of F , then G is an inverse of F and they are both isomorphisms. This is also stated as "a monomorphism which is also a split epimorphism is an isomorphism". (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses sectmon.b 𝐵 = ( Base ‘ 𝐶 )
sectmon.m 𝑀 = ( Mono ‘ 𝐶 )
sectmon.s 𝑆 = ( Sect ‘ 𝐶 )
sectmon.c ( 𝜑𝐶 ∈ Cat )
sectmon.x ( 𝜑𝑋𝐵 )
sectmon.y ( 𝜑𝑌𝐵 )
monsect.n 𝑁 = ( Inv ‘ 𝐶 )
monsect.1 ( 𝜑𝐹 ∈ ( 𝑋 𝑀 𝑌 ) )
monsect.2 ( 𝜑𝐺 ( 𝑌 𝑆 𝑋 ) 𝐹 )
Assertion monsect ( 𝜑𝐹 ( 𝑋 𝑁 𝑌 ) 𝐺 )

Proof

Step Hyp Ref Expression
1 sectmon.b 𝐵 = ( Base ‘ 𝐶 )
2 sectmon.m 𝑀 = ( Mono ‘ 𝐶 )
3 sectmon.s 𝑆 = ( Sect ‘ 𝐶 )
4 sectmon.c ( 𝜑𝐶 ∈ Cat )
5 sectmon.x ( 𝜑𝑋𝐵 )
6 sectmon.y ( 𝜑𝑌𝐵 )
7 monsect.n 𝑁 = ( Inv ‘ 𝐶 )
8 monsect.1 ( 𝜑𝐹 ∈ ( 𝑋 𝑀 𝑌 ) )
9 monsect.2 ( 𝜑𝐺 ( 𝑌 𝑆 𝑋 ) 𝐹 )
10 eqid ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 )
11 eqid ( comp ‘ 𝐶 ) = ( comp ‘ 𝐶 )
12 eqid ( Id ‘ 𝐶 ) = ( Id ‘ 𝐶 )
13 1 10 11 12 3 4 6 5 issect ( 𝜑 → ( 𝐺 ( 𝑌 𝑆 𝑋 ) 𝐹 ↔ ( 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ∧ 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ ( 𝐹 ( ⟨ 𝑌 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) ) ) )
14 9 13 mpbid ( 𝜑 → ( 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ∧ 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ ( 𝐹 ( ⟨ 𝑌 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) ) )
15 14 simp3d ( 𝜑 → ( 𝐹 ( ⟨ 𝑌 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) )
16 15 oveq1d ( 𝜑 → ( ( 𝐹 ( ⟨ 𝑌 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐺 ) ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐹 ) = ( ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐹 ) )
17 14 simp2d ( 𝜑𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) )
18 14 simp1d ( 𝜑𝐺 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) )
19 1 10 11 4 5 6 5 17 18 6 17 catass ( 𝜑 → ( ( 𝐹 ( ⟨ 𝑌 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐺 ) ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐹 ) = ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) ) )
20 1 10 12 4 5 11 6 17 catlid ( 𝜑 → ( ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐹 ) = 𝐹 )
21 1 10 12 4 5 11 6 17 catrid ( 𝜑 → ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) = 𝐹 )
22 20 21 eqtr4d ( 𝜑 → ( ( ( Id ‘ 𝐶 ) ‘ 𝑌 ) ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) 𝐹 ) = ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
23 16 19 22 3eqtr3d ( 𝜑 → ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) ) = ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
24 1 10 11 4 5 6 5 17 18 catcocl ( 𝜑 → ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑋 ) )
25 1 10 12 4 5 catidcl ( 𝜑 → ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑋 ) )
26 1 10 11 2 4 5 6 5 8 24 25 moni ( 𝜑 → ( ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) ) = ( 𝐹 ( ⟨ 𝑋 , 𝑋 ⟩ ( comp ‘ 𝐶 ) 𝑌 ) ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) ↔ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
27 23 26 mpbid ( 𝜑 → ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) )
28 1 10 11 12 3 4 5 6 17 18 issect2 ( 𝜑 → ( 𝐹 ( 𝑋 𝑆 𝑌 ) 𝐺 ↔ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
29 27 28 mpbird ( 𝜑𝐹 ( 𝑋 𝑆 𝑌 ) 𝐺 )
30 1 7 4 5 6 3 isinv ( 𝜑 → ( 𝐹 ( 𝑋 𝑁 𝑌 ) 𝐺 ↔ ( 𝐹 ( 𝑋 𝑆 𝑌 ) 𝐺𝐺 ( 𝑌 𝑆 𝑋 ) 𝐹 ) ) )
31 29 9 30 mpbir2and ( 𝜑𝐹 ( 𝑋 𝑁 𝑌 ) 𝐺 )