Metamath Proof Explorer


Theorem fressupp

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

Ref Expression
Assertion fressupp ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) = ( 𝐹 ∖ ( V × { 𝑍 } ) ) )

Proof

Step Hyp Ref Expression
1 funrel ( Fun 𝐹 → Rel 𝐹 )
2 1 3ad2ant1 ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → Rel 𝐹 )
3 suppssdm ( 𝐹 supp 𝑍 ) ⊆ dom 𝐹
4 undif ( ( 𝐹 supp 𝑍 ) ⊆ dom 𝐹 ↔ ( ( 𝐹 supp 𝑍 ) ∪ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) = dom 𝐹 )
5 4 biimpi ( ( 𝐹 supp 𝑍 ) ⊆ dom 𝐹 → ( ( 𝐹 supp 𝑍 ) ∪ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) = dom 𝐹 )
6 5 eqcomd ( ( 𝐹 supp 𝑍 ) ⊆ dom 𝐹 → dom 𝐹 = ( ( 𝐹 supp 𝑍 ) ∪ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) )
7 3 6 mp1i ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → dom 𝐹 = ( ( 𝐹 supp 𝑍 ) ∪ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) )
8 reldmun ( ( Rel 𝐹 ∧ dom 𝐹 = ( ( 𝐹 supp 𝑍 ) ∪ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) → 𝐹 = ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∪ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) )
9 2 7 8 syl2anc ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → 𝐹 = ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∪ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) )
10 9 difeq1d ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∪ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) )
11 resss ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ⊆ 𝐹
12 sseqin2 ( ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ⊆ 𝐹 ↔ ( 𝐹 ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) )
13 11 12 mpbi ( 𝐹 ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) )
14 suppiniseg ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) = ( 𝐹 “ { 𝑍 } ) )
15 14 reseq2d ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) = ( 𝐹 ↾ ( 𝐹 “ { 𝑍 } ) ) )
16 cnvrescnv ( 𝐹 ↾ { 𝑍 } ) = ( 𝐹 ∩ ( V × { 𝑍 } ) )
17 funcnvres2 ( Fun 𝐹 ( 𝐹 ↾ { 𝑍 } ) = ( 𝐹 ↾ ( 𝐹 “ { 𝑍 } ) ) )
18 16 17 eqtr3id ( Fun 𝐹 → ( 𝐹 ∩ ( V × { 𝑍 } ) ) = ( 𝐹 ↾ ( 𝐹 “ { 𝑍 } ) ) )
19 18 3ad2ant1 ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ∩ ( V × { 𝑍 } ) ) = ( 𝐹 ↾ ( 𝐹 “ { 𝑍 } ) ) )
20 15 19 eqtr4d ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) = ( 𝐹 ∩ ( V × { 𝑍 } ) ) )
21 13 20 eqtrid ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ∩ ( V × { 𝑍 } ) ) )
22 indifbi ( ( 𝐹 ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ∩ ( V × { 𝑍 } ) ) ↔ ( 𝐹 ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ∖ ( V × { 𝑍 } ) ) )
23 21 22 sylib ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ∖ ( V × { 𝑍 } ) ) )
24 disjdif ( ( 𝐹 supp 𝑍 ) ∩ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) = ∅
25 24 reseq2i ( 𝐹 ↾ ( ( 𝐹 supp 𝑍 ) ∩ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ↾ ∅ )
26 resindi ( 𝐹 ↾ ( ( 𝐹 supp 𝑍 ) ∩ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) )
27 res0 ( 𝐹 ↾ ∅ ) = ∅
28 25 26 27 3eqtr3i ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ∅
29 undif5 ( ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∩ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ∅ → ( ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∪ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) )
30 28 29 mp1i ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( ( ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) ∪ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) ∖ ( 𝐹 ↾ ( dom 𝐹 ∖ ( 𝐹 supp 𝑍 ) ) ) ) = ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) )
31 10 23 30 3eqtr3rd ( ( Fun 𝐹𝐹𝑉𝑍𝑊 ) → ( 𝐹 ↾ ( 𝐹 supp 𝑍 ) ) = ( 𝐹 ∖ ( V × { 𝑍 } ) ) )