Step |
Hyp |
Ref |
Expression |
1 |
|
homdmcoa.o |
⊢ · = ( compa ‘ 𝐶 ) |
2 |
|
homdmcoa.h |
⊢ 𝐻 = ( Homa ‘ 𝐶 ) |
3 |
|
homdmcoa.f |
⊢ ( 𝜑 → 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) |
4 |
|
homdmcoa.g |
⊢ ( 𝜑 → 𝐺 ∈ ( 𝑌 𝐻 𝑍 ) ) |
5 |
|
coaval.x |
⊢ ∙ = ( comp ‘ 𝐶 ) |
6 |
|
eqid |
⊢ ( Arrow ‘ 𝐶 ) = ( Arrow ‘ 𝐶 ) |
7 |
1 6 5
|
coafval |
⊢ · = ( 𝑔 ∈ ( Arrow ‘ 𝐶 ) , 𝑓 ∈ { ℎ ∈ ( Arrow ‘ 𝐶 ) ∣ ( coda ‘ ℎ ) = ( doma ‘ 𝑔 ) } ↦ 〈 ( doma ‘ 𝑓 ) , ( coda ‘ 𝑔 ) , ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) 〉 ) |
8 |
6 2
|
homarw |
⊢ ( 𝑌 𝐻 𝑍 ) ⊆ ( Arrow ‘ 𝐶 ) |
9 |
8 4
|
sselid |
⊢ ( 𝜑 → 𝐺 ∈ ( Arrow ‘ 𝐶 ) ) |
10 |
|
fveqeq2 |
⊢ ( ℎ = 𝐹 → ( ( coda ‘ ℎ ) = ( doma ‘ 𝑔 ) ↔ ( coda ‘ 𝐹 ) = ( doma ‘ 𝑔 ) ) ) |
11 |
6 2
|
homarw |
⊢ ( 𝑋 𝐻 𝑌 ) ⊆ ( Arrow ‘ 𝐶 ) |
12 |
3
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) ) |
13 |
11 12
|
sselid |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → 𝐹 ∈ ( Arrow ‘ 𝐶 ) ) |
14 |
2
|
homacd |
⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( coda ‘ 𝐹 ) = 𝑌 ) |
15 |
12 14
|
syl |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( coda ‘ 𝐹 ) = 𝑌 ) |
16 |
|
simpr |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → 𝑔 = 𝐺 ) |
17 |
16
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( doma ‘ 𝑔 ) = ( doma ‘ 𝐺 ) ) |
18 |
4
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → 𝐺 ∈ ( 𝑌 𝐻 𝑍 ) ) |
19 |
2
|
homadm |
⊢ ( 𝐺 ∈ ( 𝑌 𝐻 𝑍 ) → ( doma ‘ 𝐺 ) = 𝑌 ) |
20 |
18 19
|
syl |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( doma ‘ 𝐺 ) = 𝑌 ) |
21 |
17 20
|
eqtrd |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( doma ‘ 𝑔 ) = 𝑌 ) |
22 |
15 21
|
eqtr4d |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( coda ‘ 𝐹 ) = ( doma ‘ 𝑔 ) ) |
23 |
10 13 22
|
elrabd |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → 𝐹 ∈ { ℎ ∈ ( Arrow ‘ 𝐶 ) ∣ ( coda ‘ ℎ ) = ( doma ‘ 𝑔 ) } ) |
24 |
|
otex |
⊢ 〈 ( doma ‘ 𝑓 ) , ( coda ‘ 𝑔 ) , ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) 〉 ∈ V |
25 |
24
|
a1i |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → 〈 ( doma ‘ 𝑓 ) , ( coda ‘ 𝑔 ) , ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) 〉 ∈ V ) |
26 |
|
simprr |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → 𝑓 = 𝐹 ) |
27 |
26
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( doma ‘ 𝑓 ) = ( doma ‘ 𝐹 ) ) |
28 |
2
|
homadm |
⊢ ( 𝐹 ∈ ( 𝑋 𝐻 𝑌 ) → ( doma ‘ 𝐹 ) = 𝑋 ) |
29 |
12 28
|
syl |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( doma ‘ 𝐹 ) = 𝑋 ) |
30 |
29
|
adantrr |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( doma ‘ 𝐹 ) = 𝑋 ) |
31 |
27 30
|
eqtrd |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( doma ‘ 𝑓 ) = 𝑋 ) |
32 |
16
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( coda ‘ 𝑔 ) = ( coda ‘ 𝐺 ) ) |
33 |
2
|
homacd |
⊢ ( 𝐺 ∈ ( 𝑌 𝐻 𝑍 ) → ( coda ‘ 𝐺 ) = 𝑍 ) |
34 |
18 33
|
syl |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( coda ‘ 𝐺 ) = 𝑍 ) |
35 |
32 34
|
eqtrd |
⊢ ( ( 𝜑 ∧ 𝑔 = 𝐺 ) → ( coda ‘ 𝑔 ) = 𝑍 ) |
36 |
35
|
adantrr |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( coda ‘ 𝑔 ) = 𝑍 ) |
37 |
21
|
adantrr |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( doma ‘ 𝑔 ) = 𝑌 ) |
38 |
31 37
|
opeq12d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 = 〈 𝑋 , 𝑌 〉 ) |
39 |
38 36
|
oveq12d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) = ( 〈 𝑋 , 𝑌 〉 ∙ 𝑍 ) ) |
40 |
|
simprl |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → 𝑔 = 𝐺 ) |
41 |
40
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( 2nd ‘ 𝑔 ) = ( 2nd ‘ 𝐺 ) ) |
42 |
26
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( 2nd ‘ 𝑓 ) = ( 2nd ‘ 𝐹 ) ) |
43 |
39 41 42
|
oveq123d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) = ( ( 2nd ‘ 𝐺 ) ( 〈 𝑋 , 𝑌 〉 ∙ 𝑍 ) ( 2nd ‘ 𝐹 ) ) ) |
44 |
31 36 43
|
oteq123d |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → 〈 ( doma ‘ 𝑓 ) , ( coda ‘ 𝑔 ) , ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) 〉 = 〈 𝑋 , 𝑍 , ( ( 2nd ‘ 𝐺 ) ( 〈 𝑋 , 𝑌 〉 ∙ 𝑍 ) ( 2nd ‘ 𝐹 ) ) 〉 ) |
45 |
9 23 25 44
|
ovmpodv2 |
⊢ ( 𝜑 → ( · = ( 𝑔 ∈ ( Arrow ‘ 𝐶 ) , 𝑓 ∈ { ℎ ∈ ( Arrow ‘ 𝐶 ) ∣ ( coda ‘ ℎ ) = ( doma ‘ 𝑔 ) } ↦ 〈 ( doma ‘ 𝑓 ) , ( coda ‘ 𝑔 ) , ( ( 2nd ‘ 𝑔 ) ( 〈 ( doma ‘ 𝑓 ) , ( doma ‘ 𝑔 ) 〉 ∙ ( coda ‘ 𝑔 ) ) ( 2nd ‘ 𝑓 ) ) 〉 ) → ( 𝐺 · 𝐹 ) = 〈 𝑋 , 𝑍 , ( ( 2nd ‘ 𝐺 ) ( 〈 𝑋 , 𝑌 〉 ∙ 𝑍 ) ( 2nd ‘ 𝐹 ) ) 〉 ) ) |
46 |
7 45
|
mpi |
⊢ ( 𝜑 → ( 𝐺 · 𝐹 ) = 〈 𝑋 , 𝑍 , ( ( 2nd ‘ 𝐺 ) ( 〈 𝑋 , 𝑌 〉 ∙ 𝑍 ) ( 2nd ‘ 𝐹 ) ) 〉 ) |