Metamath Proof Explorer


Theorem fnsuppres

Description: Two ways to express restriction of a support set. (Contributed by Stefan O'Rear, 5-Feb-2015) (Revised by AV, 28-May-2019)

Ref Expression
Assertion fnsuppres ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( ( 𝐹 supp 𝑍 ) ⊆ 𝐴 ↔ ( 𝐹𝐵 ) = ( 𝐵 × { 𝑍 } ) ) )

Proof

Step Hyp Ref Expression
1 fndm ( 𝐹 Fn ( 𝐴𝐵 ) → dom 𝐹 = ( 𝐴𝐵 ) )
2 1 rabeqdv ( 𝐹 Fn ( 𝐴𝐵 ) → { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } = { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
3 2 3ad2ant1 ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } = { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
4 3 sseq1d ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ) )
5 unss ( ( { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ∧ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ) ↔ ( { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ∪ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ) ⊆ 𝐴 )
6 ssrab2 { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴
7 6 biantrur ( { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ( { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ∧ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ) )
8 rabun2 { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } = ( { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ∪ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
9 8 sseq1i ( { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ( { 𝑎𝐴 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ∪ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ) ⊆ 𝐴 )
10 5 7 9 3bitr4ri ( { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 )
11 rabss ( { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ∀ 𝑎𝐵 ( ( 𝐹𝑎 ) ≠ 𝑍𝑎𝐴 ) )
12 fvres ( 𝑎𝐵 → ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( 𝐹𝑎 ) )
13 12 adantl ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( 𝐹𝑎 ) )
14 simp2r ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → 𝑍𝑉 )
15 fvconst2g ( ( 𝑍𝑉𝑎𝐵 ) → ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) = 𝑍 )
16 14 15 sylan ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) = 𝑍 )
17 13 16 eqeq12d ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ↔ ( 𝐹𝑎 ) = 𝑍 ) )
18 nne ( ¬ ( 𝐹𝑎 ) ≠ 𝑍 ↔ ( 𝐹𝑎 ) = 𝑍 )
19 18 a1i ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ¬ ( 𝐹𝑎 ) ≠ 𝑍 ↔ ( 𝐹𝑎 ) = 𝑍 ) )
20 id ( 𝑎𝐵𝑎𝐵 )
21 simp3 ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( 𝐴𝐵 ) = ∅ )
22 minel ( ( 𝑎𝐵 ∧ ( 𝐴𝐵 ) = ∅ ) → ¬ 𝑎𝐴 )
23 20 21 22 syl2anr ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ¬ 𝑎𝐴 )
24 mtt ( ¬ 𝑎𝐴 → ( ¬ ( 𝐹𝑎 ) ≠ 𝑍 ↔ ( ( 𝐹𝑎 ) ≠ 𝑍𝑎𝐴 ) ) )
25 23 24 syl ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ¬ ( 𝐹𝑎 ) ≠ 𝑍 ↔ ( ( 𝐹𝑎 ) ≠ 𝑍𝑎𝐴 ) ) )
26 17 19 25 3bitr2rd ( ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) ∧ 𝑎𝐵 ) → ( ( ( 𝐹𝑎 ) ≠ 𝑍𝑎𝐴 ) ↔ ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
27 26 ralbidva ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( ∀ 𝑎𝐵 ( ( 𝐹𝑎 ) ≠ 𝑍𝑎𝐴 ) ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
28 11 27 bitrid ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( { 𝑎𝐵 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
29 10 28 bitrid ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( { 𝑎 ∈ ( 𝐴𝐵 ) ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
30 4 29 bitrd ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
31 fnfun ( 𝐹 Fn ( 𝐴𝐵 ) → Fun 𝐹 )
32 31 3anim1i ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ 𝐹𝑊𝑍𝑉 ) → ( Fun 𝐹𝐹𝑊𝑍𝑉 ) )
33 32 3expb ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ) → ( Fun 𝐹𝐹𝑊𝑍𝑉 ) )
34 suppval1 ( ( Fun 𝐹𝐹𝑊𝑍𝑉 ) → ( 𝐹 supp 𝑍 ) = { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
35 33 34 syl ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ) → ( 𝐹 supp 𝑍 ) = { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
36 35 3adant3 ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( 𝐹 supp 𝑍 ) = { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } )
37 36 sseq1d ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( ( 𝐹 supp 𝑍 ) ⊆ 𝐴 ↔ { 𝑎 ∈ dom 𝐹 ∣ ( 𝐹𝑎 ) ≠ 𝑍 } ⊆ 𝐴 ) )
38 simp1 ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → 𝐹 Fn ( 𝐴𝐵 ) )
39 ssun2 𝐵 ⊆ ( 𝐴𝐵 )
40 39 a1i ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → 𝐵 ⊆ ( 𝐴𝐵 ) )
41 fnssres ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ 𝐵 ⊆ ( 𝐴𝐵 ) ) → ( 𝐹𝐵 ) Fn 𝐵 )
42 38 40 41 syl2anc ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( 𝐹𝐵 ) Fn 𝐵 )
43 fnconstg ( 𝑍𝑉 → ( 𝐵 × { 𝑍 } ) Fn 𝐵 )
44 43 adantl ( ( 𝐹𝑊𝑍𝑉 ) → ( 𝐵 × { 𝑍 } ) Fn 𝐵 )
45 44 3ad2ant2 ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( 𝐵 × { 𝑍 } ) Fn 𝐵 )
46 eqfnfv ( ( ( 𝐹𝐵 ) Fn 𝐵 ∧ ( 𝐵 × { 𝑍 } ) Fn 𝐵 ) → ( ( 𝐹𝐵 ) = ( 𝐵 × { 𝑍 } ) ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
47 42 45 46 syl2anc ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( ( 𝐹𝐵 ) = ( 𝐵 × { 𝑍 } ) ↔ ∀ 𝑎𝐵 ( ( 𝐹𝐵 ) ‘ 𝑎 ) = ( ( 𝐵 × { 𝑍 } ) ‘ 𝑎 ) ) )
48 30 37 47 3bitr4d ( ( 𝐹 Fn ( 𝐴𝐵 ) ∧ ( 𝐹𝑊𝑍𝑉 ) ∧ ( 𝐴𝐵 ) = ∅ ) → ( ( 𝐹 supp 𝑍 ) ⊆ 𝐴 ↔ ( 𝐹𝐵 ) = ( 𝐵 × { 𝑍 } ) ) )