| Step | Hyp | Ref
| Expression |
| 1 | | fullfunc 17953 |
. . 3
⊢ (𝐶 Full 𝐷) ⊆ (𝐶 Func 𝐷) |
| 2 | 1 | ssbri 5188 |
. 2
⊢ (𝐹(𝐶 Full 𝐷)𝐺 → 𝐹(𝐶 Func 𝐷)𝐺) |
| 3 | | df-br 5144 |
. . . . . . 7
⊢ (𝐹(𝐶 Func 𝐷)𝐺 ↔ 〈𝐹, 𝐺〉 ∈ (𝐶 Func 𝐷)) |
| 4 | | funcrcl 17908 |
. . . . . . 7
⊢
(〈𝐹, 𝐺〉 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) |
| 5 | 3, 4 | sylbi 217 |
. . . . . 6
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) |
| 6 | | oveq12 7440 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (𝑐 Func 𝑑) = (𝐶 Func 𝐷)) |
| 7 | 6 | breqd 5154 |
. . . . . . . . 9
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (𝑓(𝑐 Func 𝑑)𝑔 ↔ 𝑓(𝐶 Func 𝐷)𝑔)) |
| 8 | | simpl 482 |
. . . . . . . . . . . 12
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → 𝑐 = 𝐶) |
| 9 | 8 | fveq2d 6910 |
. . . . . . . . . . 11
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Base‘𝑐) = (Base‘𝐶)) |
| 10 | | isfull.b |
. . . . . . . . . . 11
⊢ 𝐵 = (Base‘𝐶) |
| 11 | 9, 10 | eqtr4di 2795 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Base‘𝑐) = 𝐵) |
| 12 | | simpr 484 |
. . . . . . . . . . . . . . 15
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → 𝑑 = 𝐷) |
| 13 | 12 | fveq2d 6910 |
. . . . . . . . . . . . . 14
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Hom ‘𝑑) = (Hom ‘𝐷)) |
| 14 | | isfull.j |
. . . . . . . . . . . . . 14
⊢ 𝐽 = (Hom ‘𝐷) |
| 15 | 13, 14 | eqtr4di 2795 |
. . . . . . . . . . . . 13
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (Hom ‘𝑑) = 𝐽) |
| 16 | 15 | oveqd 7448 |
. . . . . . . . . . . 12
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) |
| 17 | 16 | eqeq2d 2748 |
. . . . . . . . . . 11
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
| 18 | 11, 17 | raleqbidv 3346 |
. . . . . . . . . 10
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
| 19 | 11, 18 | raleqbidv 3346 |
. . . . . . . . 9
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → (∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)) ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))) |
| 20 | 7, 19 | anbi12d 632 |
. . . . . . . 8
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → ((𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦))) ↔ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))))) |
| 21 | 20 | opabbidv 5209 |
. . . . . . 7
⊢ ((𝑐 = 𝐶 ∧ 𝑑 = 𝐷) → {〈𝑓, 𝑔〉 ∣ (𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)))} = {〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
| 22 | | df-full 17951 |
. . . . . . 7
⊢ Full =
(𝑐 ∈ Cat, 𝑑 ∈ Cat ↦ {〈𝑓, 𝑔〉 ∣ (𝑓(𝑐 Func 𝑑)𝑔 ∧ ∀𝑥 ∈ (Base‘𝑐)∀𝑦 ∈ (Base‘𝑐)ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)(Hom ‘𝑑)(𝑓‘𝑦)))}) |
| 23 | | ovex 7464 |
. . . . . . . 8
⊢ (𝐶 Func 𝐷) ∈ V |
| 24 | | simpl 482 |
. . . . . . . . . 10
⊢ ((𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) → 𝑓(𝐶 Func 𝐷)𝑔) |
| 25 | 24 | ssopab2i 5555 |
. . . . . . . . 9
⊢
{〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ⊆ {〈𝑓, 𝑔〉 ∣ 𝑓(𝐶 Func 𝐷)𝑔} |
| 26 | | opabss 5207 |
. . . . . . . . 9
⊢
{〈𝑓, 𝑔〉 ∣ 𝑓(𝐶 Func 𝐷)𝑔} ⊆ (𝐶 Func 𝐷) |
| 27 | 25, 26 | sstri 3993 |
. . . . . . . 8
⊢
{〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ⊆ (𝐶 Func 𝐷) |
| 28 | 23, 27 | ssexi 5322 |
. . . . . . 7
⊢
{〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} ∈ V |
| 29 | 21, 22, 28 | ovmpoa 7588 |
. . . . . 6
⊢ ((𝐶 ∈ Cat ∧ 𝐷 ∈ Cat) → (𝐶 Full 𝐷) = {〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
| 30 | 5, 29 | syl 17 |
. . . . 5
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐶 Full 𝐷) = {〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}) |
| 31 | 30 | breqd 5154 |
. . . 4
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ 𝐹{〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))}𝐺)) |
| 32 | | relfunc 17907 |
. . . . . 6
⊢ Rel
(𝐶 Func 𝐷) |
| 33 | 32 | brrelex12i 5740 |
. . . . 5
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹 ∈ V ∧ 𝐺 ∈ V)) |
| 34 | | breq12 5148 |
. . . . . . 7
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓(𝐶 Func 𝐷)𝑔 ↔ 𝐹(𝐶 Func 𝐷)𝐺)) |
| 35 | | simpr 484 |
. . . . . . . . . . 11
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺) |
| 36 | 35 | oveqd 7448 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑥𝑔𝑦) = (𝑥𝐺𝑦)) |
| 37 | 36 | rneqd 5949 |
. . . . . . . . 9
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ran (𝑥𝑔𝑦) = ran (𝑥𝐺𝑦)) |
| 38 | | simpl 482 |
. . . . . . . . . . 11
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → 𝑓 = 𝐹) |
| 39 | 38 | fveq1d 6908 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓‘𝑥) = (𝐹‘𝑥)) |
| 40 | 38 | fveq1d 6908 |
. . . . . . . . . 10
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (𝑓‘𝑦) = (𝐹‘𝑦)) |
| 41 | 39, 40 | oveq12d 7449 |
. . . . . . . . 9
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))) |
| 42 | 37, 41 | eqeq12d 2753 |
. . . . . . . 8
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) ↔ ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
| 43 | 42 | 2ralbidv 3221 |
. . . . . . 7
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → (∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)) ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
| 44 | 34, 43 | anbi12d 632 |
. . . . . 6
⊢ ((𝑓 = 𝐹 ∧ 𝑔 = 𝐺) → ((𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦))) ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦))))) |
| 45 | | eqid 2737 |
. . . . . 6
⊢
{〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} = {〈𝑓, 𝑔〉 ∣ (𝑓(𝐶 Func 𝐷)𝑔 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝑔𝑦) = ((𝑓‘𝑥)𝐽(𝑓‘𝑦)))} |
| 46 | 44, 45 | brabga 5539 |
. . . . 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 541 |
. 2
⊢ (𝐹(𝐶 Func 𝐷)𝐺 → (𝐹(𝐶 Full 𝐷)𝐺 ↔ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |
| 50 | 2, 49 | biadanii 822 |
1
⊢ (𝐹(𝐶 Full 𝐷)𝐺 ↔ (𝐹(𝐶 Func 𝐷)𝐺 ∧ ∀𝑥 ∈ 𝐵 ∀𝑦 ∈ 𝐵 ran (𝑥𝐺𝑦) = ((𝐹‘𝑥)𝐽(𝐹‘𝑦)))) |