| 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 ‘ 𝐹 ) ) 〉 ) |