Metamath Proof Explorer


Theorem oppcsect

Description: A section in the opposite category. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses oppcsect.b 𝐵 = ( Base ‘ 𝐶 )
oppcsect.o 𝑂 = ( oppCat ‘ 𝐶 )
oppcsect.c ( 𝜑𝐶 ∈ Cat )
oppcsect.x ( 𝜑𝑋𝐵 )
oppcsect.y ( 𝜑𝑌𝐵 )
oppcsect.s 𝑆 = ( Sect ‘ 𝐶 )
oppcsect.t 𝑇 = ( Sect ‘ 𝑂 )
Assertion oppcsect ( 𝜑 → ( 𝐹 ( 𝑋 𝑇 𝑌 ) 𝐺𝐺 ( 𝑋 𝑆 𝑌 ) 𝐹 ) )

Proof

Step Hyp Ref Expression
1 oppcsect.b 𝐵 = ( Base ‘ 𝐶 )
2 oppcsect.o 𝑂 = ( oppCat ‘ 𝐶 )
3 oppcsect.c ( 𝜑𝐶 ∈ Cat )
4 oppcsect.x ( 𝜑𝑋𝐵 )
5 oppcsect.y ( 𝜑𝑌𝐵 )
6 oppcsect.s 𝑆 = ( Sect ‘ 𝐶 )
7 oppcsect.t 𝑇 = ( Sect ‘ 𝑂 )
8 eqid ( comp ‘ 𝐶 ) = ( comp ‘ 𝐶 )
9 4 adantr ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → 𝑋𝐵 )
10 5 adantr ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → 𝑌𝐵 )
11 1 8 2 9 10 9 oppcco ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) )
12 3 adantr ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → 𝐶 ∈ Cat )
13 eqid ( Id ‘ 𝐶 ) = ( Id ‘ 𝐶 )
14 2 13 oppcid ( 𝐶 ∈ Cat → ( Id ‘ 𝑂 ) = ( Id ‘ 𝐶 ) )
15 12 14 syl ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → ( Id ‘ 𝑂 ) = ( Id ‘ 𝐶 ) )
16 15 fveq1d ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) )
17 11 16 eqeq12d ( ( 𝜑 ∧ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) → ( ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ↔ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
18 17 pm5.32da ( 𝜑 → ( ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ↔ ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ∧ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) ) )
19 df-3an ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ↔ ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) )
20 eqid ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 )
21 20 2 oppchom ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) = ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 )
22 21 eleq2i ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ↔ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) )
23 20 2 oppchom ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) = ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 )
24 23 eleq2i ( 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ↔ 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) )
25 22 24 anbi12ci ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ) ↔ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) )
26 25 anbi1i ( ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ↔ ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) )
27 19 26 bitri ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ↔ ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) )
28 df-3an ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ∧ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) ↔ ( ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ∧ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) )
29 18 27 28 3bitr4g ( 𝜑 → ( ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ↔ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ∧ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) ) )
30 2 1 oppcbas 𝐵 = ( Base ‘ 𝑂 )
31 eqid ( Hom ‘ 𝑂 ) = ( Hom ‘ 𝑂 )
32 eqid ( comp ‘ 𝑂 ) = ( comp ‘ 𝑂 )
33 eqid ( Id ‘ 𝑂 ) = ( Id ‘ 𝑂 )
34 2 oppccat ( 𝐶 ∈ Cat → 𝑂 ∈ Cat )
35 3 34 syl ( 𝜑𝑂 ∈ Cat )
36 30 31 32 33 7 35 4 5 issect ( 𝜑 → ( 𝐹 ( 𝑋 𝑇 𝑌 ) 𝐺 ↔ ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑌 ) ∧ 𝐺 ∈ ( 𝑌 ( Hom ‘ 𝑂 ) 𝑋 ) ∧ ( 𝐺 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝑂 ) 𝑋 ) 𝐹 ) = ( ( Id ‘ 𝑂 ) ‘ 𝑋 ) ) ) )
37 1 20 8 13 6 3 4 5 issect ( 𝜑 → ( 𝐺 ( 𝑋 𝑆 𝑌 ) 𝐹 ↔ ( 𝐺 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ 𝐹 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ∧ ( 𝐹 ( ⟨ 𝑋 , 𝑌 ⟩ ( comp ‘ 𝐶 ) 𝑋 ) 𝐺 ) = ( ( Id ‘ 𝐶 ) ‘ 𝑋 ) ) ) )
38 29 36 37 3bitr4d ( 𝜑 → ( 𝐹 ( 𝑋 𝑇 𝑌 ) 𝐺𝐺 ( 𝑋 𝑆 𝑌 ) 𝐹 ) )