Proof of Theorem funcoressn
| Step | Hyp | Ref
| Expression |
| 1 | | dmressnsn 5438 |
. . . . . . . 8
⊢ ((𝐺‘𝑋) ∈ dom 𝐹 → dom (𝐹 ↾ {(𝐺‘𝑋)}) = {(𝐺‘𝑋)}) |
| 2 | | df-fn 5891 |
. . . . . . . . 9
⊢ ((𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)} ↔ (Fun (𝐹 ↾ {(𝐺‘𝑋)}) ∧ dom (𝐹 ↾ {(𝐺‘𝑋)}) = {(𝐺‘𝑋)})) |
| 3 | 2 | simplbi2com 657 |
. . . . . . . 8
⊢ (dom
(𝐹 ↾ {(𝐺‘𝑋)}) = {(𝐺‘𝑋)} → (Fun (𝐹 ↾ {(𝐺‘𝑋)}) → (𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)})) |
| 4 | 1, 3 | syl 17 |
. . . . . . 7
⊢ ((𝐺‘𝑋) ∈ dom 𝐹 → (Fun (𝐹 ↾ {(𝐺‘𝑋)}) → (𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)})) |
| 5 | 4 | imp 445 |
. . . . . 6
⊢ (((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) → (𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)}) |
| 6 | 5 | adantr 481 |
. . . . 5
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → (𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)}) |
| 7 | | fnsnfv 6258 |
. . . . . . . . 9
⊢ ((𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴) → {(𝐺‘𝑋)} = (𝐺 “ {𝑋})) |
| 8 | 7 | adantl 482 |
. . . . . . . 8
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → {(𝐺‘𝑋)} = (𝐺 “ {𝑋})) |
| 9 | | df-ima 5127 |
. . . . . . . 8
⊢ (𝐺 “ {𝑋}) = ran (𝐺 ↾ {𝑋}) |
| 10 | 8, 9 | syl6eq 2672 |
. . . . . . 7
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → {(𝐺‘𝑋)} = ran (𝐺 ↾ {𝑋})) |
| 11 | 10 | reseq2d 5396 |
. . . . . 6
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → (𝐹 ↾ {(𝐺‘𝑋)}) = (𝐹 ↾ ran (𝐺 ↾ {𝑋}))) |
| 12 | 11, 10 | fneq12d 5983 |
. . . . 5
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → ((𝐹 ↾ {(𝐺‘𝑋)}) Fn {(𝐺‘𝑋)} ↔ (𝐹 ↾ ran (𝐺 ↾ {𝑋})) Fn ran (𝐺 ↾ {𝑋}))) |
| 13 | 6, 12 | mpbid 222 |
. . . 4
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → (𝐹 ↾ ran (𝐺 ↾ {𝑋})) Fn ran (𝐺 ↾ {𝑋})) |
| 14 | | fnfun 5988 |
. . . . . . 7
⊢ (𝐺 Fn 𝐴 → Fun 𝐺) |
| 15 | | funres 5929 |
. . . . . . . 8
⊢ (Fun
𝐺 → Fun (𝐺 ↾ {𝑋})) |
| 16 | | funfn 5918 |
. . . . . . . 8
⊢ (Fun
(𝐺 ↾ {𝑋}) ↔ (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) |
| 17 | 15, 16 | sylib 208 |
. . . . . . 7
⊢ (Fun
𝐺 → (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) |
| 18 | 14, 17 | syl 17 |
. . . . . 6
⊢ (𝐺 Fn 𝐴 → (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) |
| 19 | 18 | adantr 481 |
. . . . 5
⊢ ((𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴) → (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) |
| 20 | 19 | adantl 482 |
. . . 4
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) |
| 21 | | fnresfnco 41206 |
. . . 4
⊢ (((𝐹 ↾ ran (𝐺 ↾ {𝑋})) Fn ran (𝐺 ↾ {𝑋}) ∧ (𝐺 ↾ {𝑋}) Fn dom (𝐺 ↾ {𝑋})) → (𝐹 ∘ (𝐺 ↾ {𝑋})) Fn dom (𝐺 ↾ {𝑋})) |
| 22 | 13, 20, 21 | syl2anc 693 |
. . 3
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → (𝐹 ∘ (𝐺 ↾ {𝑋})) Fn dom (𝐺 ↾ {𝑋})) |
| 23 | | fnfun 5988 |
. . 3
⊢ ((𝐹 ∘ (𝐺 ↾ {𝑋})) Fn dom (𝐺 ↾ {𝑋}) → Fun (𝐹 ∘ (𝐺 ↾ {𝑋}))) |
| 24 | 22, 23 | syl 17 |
. 2
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → Fun (𝐹 ∘ (𝐺 ↾ {𝑋}))) |
| 25 | | resco 5639 |
. . 3
⊢ ((𝐹 ∘ 𝐺) ↾ {𝑋}) = (𝐹 ∘ (𝐺 ↾ {𝑋})) |
| 26 | 25 | funeqi 5909 |
. 2
⊢ (Fun
((𝐹 ∘ 𝐺) ↾ {𝑋}) ↔ Fun (𝐹 ∘ (𝐺 ↾ {𝑋}))) |
| 27 | 24, 26 | sylibr 224 |
1
⊢ ((((𝐺‘𝑋) ∈ dom 𝐹 ∧ Fun (𝐹 ↾ {(𝐺‘𝑋)})) ∧ (𝐺 Fn 𝐴 ∧ 𝑋 ∈ 𝐴)) → Fun ((𝐹 ∘ 𝐺) ↾ {𝑋})) |