Metamath Proof Explorer


Theorem 1stf2

Description: Value of the first projection on a morphism. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses 1stfval.t 𝑇 = ( 𝐶 ×c 𝐷 )
1stfval.b 𝐵 = ( Base ‘ 𝑇 )
1stfval.h 𝐻 = ( Hom ‘ 𝑇 )
1stfval.c ( 𝜑𝐶 ∈ Cat )
1stfval.d ( 𝜑𝐷 ∈ Cat )
1stfval.p 𝑃 = ( 𝐶 1stF 𝐷 )
1stf1.p ( 𝜑𝑅𝐵 )
1stf2.p ( 𝜑𝑆𝐵 )
Assertion 1stf2 ( 𝜑 → ( 𝑅 ( 2nd𝑃 ) 𝑆 ) = ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) )

Proof

Step Hyp Ref Expression
1 1stfval.t 𝑇 = ( 𝐶 ×c 𝐷 )
2 1stfval.b 𝐵 = ( Base ‘ 𝑇 )
3 1stfval.h 𝐻 = ( Hom ‘ 𝑇 )
4 1stfval.c ( 𝜑𝐶 ∈ Cat )
5 1stfval.d ( 𝜑𝐷 ∈ Cat )
6 1stfval.p 𝑃 = ( 𝐶 1stF 𝐷 )
7 1stf1.p ( 𝜑𝑅𝐵 )
8 1stf2.p ( 𝜑𝑆𝐵 )
9 1 2 3 4 5 6 1stfval ( 𝜑𝑃 = ⟨ ( 1st𝐵 ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) ⟩ )
10 fo1st 1st : V –onto→ V
11 fofun ( 1st : V –onto→ V → Fun 1st )
12 10 11 ax-mp Fun 1st
13 2 fvexi 𝐵 ∈ V
14 resfunexg ( ( Fun 1st𝐵 ∈ V ) → ( 1st𝐵 ) ∈ V )
15 12 13 14 mp2an ( 1st𝐵 ) ∈ V
16 13 13 mpoex ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) ∈ V
17 15 16 op2ndd ( 𝑃 = ⟨ ( 1st𝐵 ) , ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) ⟩ → ( 2nd𝑃 ) = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) )
18 9 17 syl ( 𝜑 → ( 2nd𝑃 ) = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) )
19 simprl ( ( 𝜑 ∧ ( 𝑥 = 𝑅𝑦 = 𝑆 ) ) → 𝑥 = 𝑅 )
20 simprr ( ( 𝜑 ∧ ( 𝑥 = 𝑅𝑦 = 𝑆 ) ) → 𝑦 = 𝑆 )
21 19 20 oveq12d ( ( 𝜑 ∧ ( 𝑥 = 𝑅𝑦 = 𝑆 ) ) → ( 𝑥 𝐻 𝑦 ) = ( 𝑅 𝐻 𝑆 ) )
22 21 reseq2d ( ( 𝜑 ∧ ( 𝑥 = 𝑅𝑦 = 𝑆 ) ) → ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) = ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) )
23 ovex ( 𝑅 𝐻 𝑆 ) ∈ V
24 resfunexg ( ( Fun 1st ∧ ( 𝑅 𝐻 𝑆 ) ∈ V ) → ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) ∈ V )
25 12 23 24 mp2an ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) ∈ V
26 25 a1i ( 𝜑 → ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) ∈ V )
27 18 22 7 8 26 ovmpod ( 𝜑 → ( 𝑅 ( 2nd𝑃 ) 𝑆 ) = ( 1st ↾ ( 𝑅 𝐻 𝑆 ) ) )