| Step |
Hyp |
Ref |
Expression |
| 1 |
|
relfunc |
⊢ Rel ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) |
| 2 |
1
|
a1i |
⊢ ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) → Rel ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) ) |
| 3 |
|
simpr |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) |
| 4 |
|
eqid |
⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) |
| 5 |
|
eqid |
⊢ ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 ) |
| 6 |
|
simpl |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑅 ∈ ( Subcat ‘ 𝐷 ) ) |
| 7 |
|
eqidd |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → dom dom 𝑅 = dom dom 𝑅 ) |
| 8 |
6 7
|
subcfn |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑅 Fn ( dom dom 𝑅 × dom dom 𝑅 ) ) |
| 9 |
|
eqid |
⊢ ( Base ‘ ( 𝐷 ↾cat 𝑅 ) ) = ( Base ‘ ( 𝐷 ↾cat 𝑅 ) ) |
| 10 |
4 9 3
|
funcf1 |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑓 : ( Base ‘ 𝐶 ) ⟶ ( Base ‘ ( 𝐷 ↾cat 𝑅 ) ) ) |
| 11 |
|
eqid |
⊢ ( 𝐷 ↾cat 𝑅 ) = ( 𝐷 ↾cat 𝑅 ) |
| 12 |
|
eqid |
⊢ ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 ) |
| 13 |
|
subcrcl |
⊢ ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) → 𝐷 ∈ Cat ) |
| 14 |
13
|
adantr |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝐷 ∈ Cat ) |
| 15 |
6 8 12
|
subcss1 |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → dom dom 𝑅 ⊆ ( Base ‘ 𝐷 ) ) |
| 16 |
11 12 14 8 15
|
rescbas |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → dom dom 𝑅 = ( Base ‘ ( 𝐷 ↾cat 𝑅 ) ) ) |
| 17 |
16
|
feq3d |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → ( 𝑓 : ( Base ‘ 𝐶 ) ⟶ dom dom 𝑅 ↔ 𝑓 : ( Base ‘ 𝐶 ) ⟶ ( Base ‘ ( 𝐷 ↾cat 𝑅 ) ) ) ) |
| 18 |
10 17
|
mpbird |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑓 : ( Base ‘ 𝐶 ) ⟶ dom dom 𝑅 ) |
| 19 |
|
eqid |
⊢ ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) = ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) |
| 20 |
|
simplr |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) |
| 21 |
|
simprl |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) |
| 22 |
|
simprr |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑦 ∈ ( Base ‘ 𝐶 ) ) |
| 23 |
4 5 19 20 21 22
|
funcf2 |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 𝑔 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( 𝑓 ‘ 𝑥 ) ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) ( 𝑓 ‘ 𝑦 ) ) ) |
| 24 |
11 12 14 8 15
|
reschom |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑅 = ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) ) |
| 25 |
24
|
adantr |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑅 = ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) ) |
| 26 |
25
|
oveqd |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( ( 𝑓 ‘ 𝑥 ) 𝑅 ( 𝑓 ‘ 𝑦 ) ) = ( ( 𝑓 ‘ 𝑥 ) ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) ( 𝑓 ‘ 𝑦 ) ) ) |
| 27 |
26
|
feq3d |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( ( 𝑥 𝑔 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( 𝑓 ‘ 𝑥 ) 𝑅 ( 𝑓 ‘ 𝑦 ) ) ↔ ( 𝑥 𝑔 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( 𝑓 ‘ 𝑥 ) ( Hom ‘ ( 𝐷 ↾cat 𝑅 ) ) ( 𝑓 ‘ 𝑦 ) ) ) ) |
| 28 |
23 27
|
mpbird |
⊢ ( ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 𝑔 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( 𝑓 ‘ 𝑥 ) 𝑅 ( 𝑓 ‘ 𝑦 ) ) ) |
| 29 |
4 5 6 8 18 28
|
funcres2b |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → ( 𝑓 ( 𝐶 Func 𝐷 ) 𝑔 ↔ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) ) |
| 30 |
3 29
|
mpbird |
⊢ ( ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) ∧ 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ) → 𝑓 ( 𝐶 Func 𝐷 ) 𝑔 ) |
| 31 |
30
|
ex |
⊢ ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) → ( 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 → 𝑓 ( 𝐶 Func 𝐷 ) 𝑔 ) ) |
| 32 |
|
df-br |
⊢ ( 𝑓 ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) 𝑔 ↔ 〈 𝑓 , 𝑔 〉 ∈ ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) ) |
| 33 |
|
df-br |
⊢ ( 𝑓 ( 𝐶 Func 𝐷 ) 𝑔 ↔ 〈 𝑓 , 𝑔 〉 ∈ ( 𝐶 Func 𝐷 ) ) |
| 34 |
31 32 33
|
3imtr3g |
⊢ ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) → ( 〈 𝑓 , 𝑔 〉 ∈ ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) → 〈 𝑓 , 𝑔 〉 ∈ ( 𝐶 Func 𝐷 ) ) ) |
| 35 |
2 34
|
relssdv |
⊢ ( 𝑅 ∈ ( Subcat ‘ 𝐷 ) → ( 𝐶 Func ( 𝐷 ↾cat 𝑅 ) ) ⊆ ( 𝐶 Func 𝐷 ) ) |