Step | Hyp | Ref
| Expression |
1 | | fullfunc 17798 |
. . 3
⊢ (𝐶 Full 𝐷) ⊆ (𝐶 Func 𝐷) |
2 | 1 | ssbri 5151 |
. 2
⊢ (𝐹(𝐶 Full 𝐷)𝐺 → 𝐹(𝐶 Func 𝐷)𝐺) |
3 | | df-br 5107 |
. . . . . . 7
⊢ (𝐹(𝐶 Func 𝐷)𝐺 ↔ ⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷)) |
4 | | funcrcl 17754 |
. . . . . . 7
⊢
(⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) |
5 | 3, 4 | sylbi 216 |
. . . . . 6
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) |
6 | | oveq12 7367 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (𝑐 Func 𝑑) = (𝐶 Func 𝐷)) |
7 | 6 | breqd 5117 |
. . . . . . . . 9
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (𝑓(𝑐 Func 𝑑)𝑔 ↔ 𝑓(𝐶 Func 𝐷)𝑔)) |
8 | | simpl 484 |
. . . . . . . . . . . 12
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → 𝑐 = 𝐶) |
9 | 8 | fveq2d 6847 |
. . . . . . . . . . 11
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Base‘𝑐) = (Base‘𝐶)) |
10 | | isfull.b |
. . . . . . . . . . 11
⊢ 𝐵 = (Base‘𝐶) |
11 | 9, 10 | eqtr4di 2791 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Base‘𝑐) = 𝐵) |
12 | | simpr 486 |
. . . . . . . . . . . . . . 15
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → 𝑑 = 𝐷) |
13 | 12 | fveq2d 6847 |
. . . . . . . . . . . . . 14
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Hom ‘𝑑) = (Hom ‘𝐷)) |
14 | | isfull.j |
. . . . . . . . . . . . . 14
⊢ 𝐽 = (Hom ‘𝐷) |
15 | 13, 14 | eqtr4di 2791 |
. . . . . . . . . . . . 13
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Hom ‘𝑑) = 𝐽) |
16 | 15 | oveqd 7375 |
. . . . . . . . . . . 12
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) |
17 | 16 | eqeq2d 2744 |
. . . . . . . . . . 11
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
18 | 11, 17 | raleqbidv 3318 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
19 | 11, 18 | raleqbidv 3318 |
. . . . . . . . 9
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
20 | 7, 19 | anbi12d 632 |
. . . . . . . 8
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → ((𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦))) ↔ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))))) |
21 | 20 | opabbidv 5172 |
. . . . . . 7
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)))} = {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
22 | | df-full 17796 |
. . . . . . 7
⊢ Full =
(𝑐 ∈ Cat, 𝑑 ∈ Cat ↦ {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)))}) |
23 | | ovex 7391 |
. . . . . . . 8
⊢ (𝐶 Func 𝐷) ∈ V |
24 | | simpl 484 |
. . . . . . . . . 10
⊢ ((𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) → 𝑓(𝐶 Func 𝐷)𝑔) |
25 | 24 | ssopab2i 5508 |
. . . . . . . . 9
⊢
{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ⊆ {⟨𝑓, 𝑔⟩ ∣ 𝑓(𝐶 Func 𝐷)𝑔} |
26 | | opabss 5170 |
. . . . . . . . 9
⊢
{⟨𝑓, 𝑔⟩ ∣ 𝑓(𝐶 Func 𝐷)𝑔} ⊆ (𝐶 Func 𝐷) |
27 | 25, 26 | sstri 3954 |
. . . . . . . 8
⊢
{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ⊆ (𝐶 Func 𝐷) |
28 | 23, 27 | ssexi 5280 |
. . . . . . 7
⊢
{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ∈ V |
29 | 21, 22, 28 | ovmpoa 7511 |
. . . . . 6
⊢ ((𝐶 ∈ Cat ∧ 𝐷 ∈ Cat) → (𝐶 Full 𝐷) = {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
30 | 5, 29 | syl 17 |
. . . . 5
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐶 Full 𝐷) = {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
31 | 30 | breqd 5117 |
. . . 4
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ 𝐹{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}𝐺)) |
32 | | relfunc 17753 |
. . . . . 6
⊢ Rel
(𝐶 Func 𝐷) |
33 | 32 | brrelex12i 5688 |
. . . . 5
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹 ∈ V ∧ 𝐺 ∈ V)) |
34 | | breq12 5111 |
. . . . . . 7
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓(𝐶 Func 𝐷)𝑔 ↔ 𝐹(𝐶 Func 𝐷)𝐺)) |
35 | | simpr 486 |
. . . . . . . . . . 11
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺) |
36 | 35 | oveqd 7375 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑥𝑔𝑦) = (𝑥𝐺𝑦)) |
37 | 36 | rneqd 5894 |
. . . . . . . . 9
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ran (𝑥𝑔𝑦) = ran (𝑥𝐺𝑦)) |
38 | | simpl 484 |
. . . . . . . . . . 11
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → 𝑓 = 𝐹) |
39 | 38 | fveq1d 6845 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓‘𝑥) = (𝐹‘𝑥)) |
40 | 38 | fveq1d 6845 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓‘𝑦) = (𝐹‘𝑦)) |
41 | 39, 40 | oveq12d 7376 |
. . . . . . . . 9
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))) |
42 | 37, 41 | eqeq12d 2749 |
. . . . . . . 8
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) ↔ ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
43 | 42 | 2ralbidv 3209 |
. . . . . . 7
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
44 | 34, 43 | anbi12d 632 |
. . . . . 6
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ((𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))))) |
45 | | eqid 2733 |
. . . . . 6
⊢
{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} = {⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} |
46 | 44, 45 | brabga 5492 |
. . . . 5
⊢ ((𝐹 ∈ V ∧ 𝐺 ∈ V) → (𝐹{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}𝐺 ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))))) |
47 | 33, 46 | syl 17 |
. . . 4
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹{⟨𝑓, 𝑔⟩ ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}𝐺 ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))))) |
48 | 31, 47 | bitrd 279 |
. . 3
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))))) |
49 | 48 | bianabs 543 |
. 2
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
50 | 2, 49 | biadanii 821 |
1
⊢ (𝐹(𝐶 Full 𝐷)𝐺 ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |