Metamath Proof Explorer


Theorem ressupprn

Description: The range of a function restricted to its support. (Contributed by Thierry Arnoux, 25-Jun-2024)

Ref Expression
Assertion ressupprn ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ran ( 𝐹 ↾ ( 𝐹 supp 0 ) ) = ( ran 𝐹 ∖ { 0 } ) )

Proof

Step Hyp Ref Expression
1 funfn ( Fun 𝐹𝐹 Fn dom 𝐹 )
2 1 biimpi ( Fun 𝐹𝐹 Fn dom 𝐹 )
3 2 3ad2ant1 ( ( Fun 𝐹𝐹𝑉0𝑊 ) → 𝐹 Fn dom 𝐹 )
4 dmexg ( 𝐹𝑉 → dom 𝐹 ∈ V )
5 4 3ad2ant2 ( ( Fun 𝐹𝐹𝑉0𝑊 ) → dom 𝐹 ∈ V )
6 simp3 ( ( Fun 𝐹𝐹𝑉0𝑊 ) → 0𝑊 )
7 elsuppfn ( ( 𝐹 Fn dom 𝐹 ∧ dom 𝐹 ∈ V ∧ 0𝑊 ) → ( 𝑥 ∈ ( 𝐹 supp 0 ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) ) )
8 3 5 6 7 syl3anc ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( 𝑥 ∈ ( 𝐹 supp 0 ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) ) )
9 8 anbi1d ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ( 𝑥 ∈ ( 𝐹 supp 0 ) ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ) )
10 anass ( ( ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( ( 𝐹𝑥 ) ≠ 0 ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ) )
11 10 a1i ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ( ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( ( 𝐹𝑥 ) ≠ 0 ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ) ) )
12 8 biimprd ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ( 𝑥 ∈ dom 𝐹 ∧ ( 𝐹𝑥 ) ≠ 0 ) → 𝑥 ∈ ( 𝐹 supp 0 ) ) )
13 12 impl ( ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) ∧ ( 𝐹𝑥 ) ≠ 0 ) → 𝑥 ∈ ( 𝐹 supp 0 ) )
14 13 fvresd ( ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) ∧ ( 𝐹𝑥 ) ≠ 0 ) → ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = ( 𝐹𝑥 ) )
15 14 eqeq1d ( ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) ∧ ( 𝐹𝑥 ) ≠ 0 ) → ( ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ↔ ( 𝐹𝑥 ) = 𝑦 ) )
16 15 pm5.32da ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) → ( ( ( 𝐹𝑥 ) ≠ 0 ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( ( 𝐹𝑥 ) ≠ 0 ∧ ( 𝐹𝑥 ) = 𝑦 ) ) )
17 ancom ( ( ( 𝐹𝑥 ) ≠ 0 ∧ ( 𝐹𝑥 ) = 𝑦 ) ↔ ( ( 𝐹𝑥 ) = 𝑦 ∧ ( 𝐹𝑥 ) ≠ 0 ) )
18 simpr ( ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( 𝐹𝑥 ) = 𝑦 )
19 18 neeq1d ( ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( ( 𝐹𝑥 ) ≠ 0𝑦0 ) )
20 19 pm5.32da ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) → ( ( ( 𝐹𝑥 ) = 𝑦 ∧ ( 𝐹𝑥 ) ≠ 0 ) ↔ ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
21 17 20 syl5bb ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) → ( ( ( 𝐹𝑥 ) ≠ 0 ∧ ( 𝐹𝑥 ) = 𝑦 ) ↔ ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
22 16 21 bitrd ( ( ( Fun 𝐹𝐹𝑉0𝑊 ) ∧ 𝑥 ∈ dom 𝐹 ) → ( ( ( 𝐹𝑥 ) ≠ 0 ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
23 22 pm5.32da ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ( 𝑥 ∈ dom 𝐹 ∧ ( ( 𝐹𝑥 ) ≠ 0 ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) ) )
24 9 11 23 3bitrd ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ( 𝑥 ∈ ( 𝐹 supp 0 ) ∧ ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) ↔ ( 𝑥 ∈ dom 𝐹 ∧ ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) ) )
25 24 rexbidv2 ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( ∃ 𝑥 ∈ ( 𝐹 supp 0 ) ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ↔ ∃ 𝑥 ∈ dom 𝐹 ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
26 suppssdm ( 𝐹 supp 0 ) ⊆ dom 𝐹
27 fnssres ( ( 𝐹 Fn dom 𝐹 ∧ ( 𝐹 supp 0 ) ⊆ dom 𝐹 ) → ( 𝐹 ↾ ( 𝐹 supp 0 ) ) Fn ( 𝐹 supp 0 ) )
28 3 26 27 sylancl ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( 𝐹 ↾ ( 𝐹 supp 0 ) ) Fn ( 𝐹 supp 0 ) )
29 fvelrnb ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) Fn ( 𝐹 supp 0 ) → ( 𝑦 ∈ ran ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ↔ ∃ 𝑥 ∈ ( 𝐹 supp 0 ) ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) )
30 28 29 syl ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( 𝑦 ∈ ran ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ↔ ∃ 𝑥 ∈ ( 𝐹 supp 0 ) ( ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ‘ 𝑥 ) = 𝑦 ) )
31 fvelrnb ( 𝐹 Fn dom 𝐹 → ( 𝑦 ∈ ran 𝐹 ↔ ∃ 𝑥 ∈ dom 𝐹 ( 𝐹𝑥 ) = 𝑦 ) )
32 31 anbi1d ( 𝐹 Fn dom 𝐹 → ( ( 𝑦 ∈ ran 𝐹𝑦0 ) ↔ ( ∃ 𝑥 ∈ dom 𝐹 ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
33 eldifsn ( 𝑦 ∈ ( ran 𝐹 ∖ { 0 } ) ↔ ( 𝑦 ∈ ran 𝐹𝑦0 ) )
34 r19.41v ( ∃ 𝑥 ∈ dom 𝐹 ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ↔ ( ∃ 𝑥 ∈ dom 𝐹 ( 𝐹𝑥 ) = 𝑦𝑦0 ) )
35 32 33 34 3bitr4g ( 𝐹 Fn dom 𝐹 → ( 𝑦 ∈ ( ran 𝐹 ∖ { 0 } ) ↔ ∃ 𝑥 ∈ dom 𝐹 ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
36 3 35 syl ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( 𝑦 ∈ ( ran 𝐹 ∖ { 0 } ) ↔ ∃ 𝑥 ∈ dom 𝐹 ( ( 𝐹𝑥 ) = 𝑦𝑦0 ) ) )
37 25 30 36 3bitr4d ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ( 𝑦 ∈ ran ( 𝐹 ↾ ( 𝐹 supp 0 ) ) ↔ 𝑦 ∈ ( ran 𝐹 ∖ { 0 } ) ) )
38 37 eqrdv ( ( Fun 𝐹𝐹𝑉0𝑊 ) → ran ( 𝐹 ↾ ( 𝐹 supp 0 ) ) = ( ran 𝐹 ∖ { 0 } ) )