This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Condition for the range of a relation to be the range of one its restrictions. (Contributed by AV, 4-Oct-2025)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | imadifssran | |- ( ( Rel F /\ A C_ dom F ) -> ( ( F " ( dom F \ A ) ) C_ ran ( F |` A ) -> ran F = ran ( F |` A ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-ima | |- ( F " ( dom F \ A ) ) = ran ( F |` ( dom F \ A ) ) |
|
| 2 | 1 | sseq1i | |- ( ( F " ( dom F \ A ) ) C_ ran ( F |` A ) <-> ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) ) |
| 3 | ssel | |- ( ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) -> ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) ) |
|
| 4 | resdm | |- ( Rel F -> ( F |` dom F ) = F ) |
|
| 5 | 4 | eqcomd | |- ( Rel F -> F = ( F |` dom F ) ) |
| 6 | 5 | adantr | |- ( ( Rel F /\ A C_ dom F ) -> F = ( F |` dom F ) ) |
| 7 | 6 | rneqd | |- ( ( Rel F /\ A C_ dom F ) -> ran F = ran ( F |` dom F ) ) |
| 8 | 7 | eleq2d | |- ( ( Rel F /\ A C_ dom F ) -> ( y e. ran F <-> y e. ran ( F |` dom F ) ) ) |
| 9 | undif | |- ( A C_ dom F <-> ( A u. ( dom F \ A ) ) = dom F ) |
|
| 10 | 9 | biimpi | |- ( A C_ dom F -> ( A u. ( dom F \ A ) ) = dom F ) |
| 11 | 10 | eqcomd | |- ( A C_ dom F -> dom F = ( A u. ( dom F \ A ) ) ) |
| 12 | 11 | reseq2d | |- ( A C_ dom F -> ( F |` dom F ) = ( F |` ( A u. ( dom F \ A ) ) ) ) |
| 13 | resundi | |- ( F |` ( A u. ( dom F \ A ) ) ) = ( ( F |` A ) u. ( F |` ( dom F \ A ) ) ) |
|
| 14 | 12 13 | eqtrdi | |- ( A C_ dom F -> ( F |` dom F ) = ( ( F |` A ) u. ( F |` ( dom F \ A ) ) ) ) |
| 15 | 14 | rneqd | |- ( A C_ dom F -> ran ( F |` dom F ) = ran ( ( F |` A ) u. ( F |` ( dom F \ A ) ) ) ) |
| 16 | rnun | |- ran ( ( F |` A ) u. ( F |` ( dom F \ A ) ) ) = ( ran ( F |` A ) u. ran ( F |` ( dom F \ A ) ) ) |
|
| 17 | 15 16 | eqtrdi | |- ( A C_ dom F -> ran ( F |` dom F ) = ( ran ( F |` A ) u. ran ( F |` ( dom F \ A ) ) ) ) |
| 18 | 17 | eleq2d | |- ( A C_ dom F -> ( y e. ran ( F |` dom F ) <-> y e. ( ran ( F |` A ) u. ran ( F |` ( dom F \ A ) ) ) ) ) |
| 19 | elun | |- ( y e. ( ran ( F |` A ) u. ran ( F |` ( dom F \ A ) ) ) <-> ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) ) |
|
| 20 | 18 19 | bitrdi | |- ( A C_ dom F -> ( y e. ran ( F |` dom F ) <-> ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) ) ) |
| 21 | 20 | adantl | |- ( ( Rel F /\ A C_ dom F ) -> ( y e. ran ( F |` dom F ) <-> ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) ) ) |
| 22 | 8 21 | bitrd | |- ( ( Rel F /\ A C_ dom F ) -> ( y e. ran F <-> ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) ) ) |
| 23 | 22 | adantl | |- ( ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) /\ ( Rel F /\ A C_ dom F ) ) -> ( y e. ran F <-> ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) ) ) |
| 24 | pm2.27 | |- ( y e. ran ( F |` ( dom F \ A ) ) -> ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) -> y e. ran ( F |` A ) ) ) |
|
| 25 | 24 | jao1i | |- ( ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) -> ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) -> y e. ran ( F |` A ) ) ) |
| 26 | 25 | com12 | |- ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) -> ( ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) -> y e. ran ( F |` A ) ) ) |
| 27 | 26 | adantr | |- ( ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) /\ ( Rel F /\ A C_ dom F ) ) -> ( ( y e. ran ( F |` A ) \/ y e. ran ( F |` ( dom F \ A ) ) ) -> y e. ran ( F |` A ) ) ) |
| 28 | 23 27 | sylbid | |- ( ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) /\ ( Rel F /\ A C_ dom F ) ) -> ( y e. ran F -> y e. ran ( F |` A ) ) ) |
| 29 | 28 | ex | |- ( ( y e. ran ( F |` ( dom F \ A ) ) -> y e. ran ( F |` A ) ) -> ( ( Rel F /\ A C_ dom F ) -> ( y e. ran F -> y e. ran ( F |` A ) ) ) ) |
| 30 | 3 29 | syl | |- ( ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) -> ( ( Rel F /\ A C_ dom F ) -> ( y e. ran F -> y e. ran ( F |` A ) ) ) ) |
| 31 | 30 | impcom | |- ( ( ( Rel F /\ A C_ dom F ) /\ ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) ) -> ( y e. ran F -> y e. ran ( F |` A ) ) ) |
| 32 | 31 | ssrdv | |- ( ( ( Rel F /\ A C_ dom F ) /\ ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) ) -> ran F C_ ran ( F |` A ) ) |
| 33 | rnresss | |- ran ( F |` A ) C_ ran F |
|
| 34 | 33 | a1i | |- ( ( ( Rel F /\ A C_ dom F ) /\ ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) ) -> ran ( F |` A ) C_ ran F ) |
| 35 | 32 34 | eqssd | |- ( ( ( Rel F /\ A C_ dom F ) /\ ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) ) -> ran F = ran ( F |` A ) ) |
| 36 | 35 | ex | |- ( ( Rel F /\ A C_ dom F ) -> ( ran ( F |` ( dom F \ A ) ) C_ ran ( F |` A ) -> ran F = ran ( F |` A ) ) ) |
| 37 | 2 36 | biimtrid | |- ( ( Rel F /\ A C_ dom F ) -> ( ( F " ( dom F \ A ) ) C_ ran ( F |` A ) -> ran F = ran ( F |` A ) ) ) |