Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  fsuppcurry2 Structured version   Visualization version   GIF version

Theorem fsuppcurry2 31346
Description: Finite support of a curried function with a constant second argument. (Contributed by Thierry Arnoux, 7-Jul-2023.)
Hypotheses
Ref Expression
fsuppcurry2.g 𝐺 = (𝑥𝐴 ↦ (𝑥𝐹𝐶))
fsuppcurry2.z (𝜑𝑍𝑈)
fsuppcurry2.a (𝜑𝐴𝑉)
fsuppcurry2.b (𝜑𝐵𝑊)
fsuppcurry2.f (𝜑𝐹 Fn (𝐴 × 𝐵))
fsuppcurry2.c (𝜑𝐶𝐵)
fsuppcurry2.1 (𝜑𝐹 finSupp 𝑍)
Assertion
Ref Expression
fsuppcurry2 (𝜑𝐺 finSupp 𝑍)
Distinct variable groups:   𝑥,𝐴   𝑥,𝐶   𝑥,𝐹
Allowed substitution hints:   𝜑(𝑥)   𝐵(𝑥)   𝑈(𝑥)   𝐺(𝑥)   𝑉(𝑥)   𝑊(𝑥)   𝑍(𝑥)

Proof of Theorem fsuppcurry2
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fsuppcurry2.g . . . 4 𝐺 = (𝑥𝐴 ↦ (𝑥𝐹𝐶))
2 oveq1 7349 . . . . 5 (𝑥 = 𝑦 → (𝑥𝐹𝐶) = (𝑦𝐹𝐶))
32cbvmptv 5210 . . . 4 (𝑥𝐴 ↦ (𝑥𝐹𝐶)) = (𝑦𝐴 ↦ (𝑦𝐹𝐶))
41, 3eqtri 2765 . . 3 𝐺 = (𝑦𝐴 ↦ (𝑦𝐹𝐶))
5 fsuppcurry2.a . . . 4 (𝜑𝐴𝑉)
65mptexd 7161 . . 3 (𝜑 → (𝑦𝐴 ↦ (𝑦𝐹𝐶)) ∈ V)
74, 6eqeltrid 2842 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6528 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry2.z . 2 (𝜑𝑍𝑈)
11 fo1st 7924 . . . . 5 1st :V–onto→V
12 fofun 6745 . . . . 5 (1st :V–onto→V → Fun 1st )
1311, 12ax-mp 5 . . . 4 Fun 1st
14 funres 6531 . . . 4 (Fun 1st → Fun (1st ↾ (V × V)))
1513, 14mp1i 13 . . 3 (𝜑 → Fun (1st ↾ (V × V)))
16 fsuppcurry2.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9238 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9045 . . 3 ((Fun (1st ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 585 . 2 (𝜑 → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7377 . . . 4 ((𝜑𝑦𝐴) → (𝑦𝐹𝐶) ∈ V)
2120, 4fmptd 7049 . . 3 (𝜑𝐺:𝐴⟶V)
22 eldif 3912 . . . 4 (𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 simplr 767 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐴)
24 fsuppcurry2.c . . . . . . . . . . . 12 (𝜑𝐶𝐵)
2524ad2antrr 724 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐵)
2623, 25opelxpd 5663 . . . . . . . . . 10 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7345 . . . . . . . . . . 11 (𝑦𝐹𝐶) = (𝐹‘⟨𝑦, 𝐶⟩)
28 ovexd 7377 . . . . . . . . . . . . 13 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦𝐹𝐶) ∈ V)
291, 2, 23, 28fvmptd3 6959 . . . . . . . . . . . 12 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝑦𝐹𝐶))
30 simpr 486 . . . . . . . . . . . . 13 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2948 . . . . . . . . . . . 12 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3010 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦𝐹𝐶) ≠ 𝑍)
3327, 32eqnetrrid 3017 . . . . . . . . . 10 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)
34 fsuppcurry2.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry2.b . . . . . . . . . . . . 13 (𝜑𝐵𝑊)
365, 35xpexd 7668 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8062 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍𝑈) → (⟨𝑦, 𝐶⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1371 . . . . . . . . . . 11 (𝜑 → (⟨𝑦, 𝐶⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)))
3938ad2antrr 724 . . . . . . . . . 10 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (⟨𝑦, 𝐶⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 711 . . . . . . . . 9 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝑦, 𝐶⟩ ∈ (𝐹 supp 𝑍))
41 simpr 486 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝑧 = ⟨𝑦, 𝐶⟩)
4241fveq2d 6834 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩))
43 xpss 5641 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 482 . . . . . . . . . . . 12 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3934 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (V × V))
4645fvresd 6850 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩) = (1st ‘⟨𝑦, 𝐶⟩))
4723adantr 482 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝑦𝐴)
4825adantr 482 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝐶𝐵)
49 op1stg 7916 . . . . . . . . . . 11 ((𝑦𝐴𝐶𝐵) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5047, 48, 49syl2anc 585 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5142, 46, 503eqtrd 2781 . . . . . . . . 9 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3579 . . . . . . . 8 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6746 . . . . . . . . . . . . 13 (1st :V–onto→V → 1st Fn V)
54 fnresin 31246 . . . . . . . . . . . . 13 (1st Fn V → (1st ↾ (V × V)) Fn (V ∩ (V × V)))
5511, 53, 54mp2b 10 . . . . . . . . . . . 12 (1st ↾ (V × V)) Fn (V ∩ (V × V))
56 ssv 3960 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4167 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 229 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6588 . . . . . . . . . . . 12 ((1st ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (1st ↾ (V × V)) Fn (V × V))
6055, 59mpbi 229 . . . . . . . . . . 11 (1st ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (1st ↾ (V × V)) Fn (V × V))
62 suppssdm 8068 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6595 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3988 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3948 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6903 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 724 . . . . . . . 8 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 257 . . . . . . 7 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 414 . . . . . 6 ((𝜑𝑦𝐴) → (¬ (𝐺𝑦) = 𝑍𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 145 . . . . 5 ((𝜑𝑦𝐴) → (¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺𝑦) = 𝑍))
7170impr 456 . . . 4 ((𝜑 ∧ (𝑦𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7222, 71sylan2b 595 . . 3 ((𝜑𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8085 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9246 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → 𝐺 finSupp 𝑍)
757, 9, 10, 19, 73, 74syl32anc 1378 1 (𝜑𝐺 finSupp 𝑍)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 397   = wceq 1541  wcel 2106  wne 2941  wrex 3071  Vcvv 3442  cdif 3899  cin 3901  wss 3902  cop 4584   class class class wbr 5097  cmpt 5180   × cxp 5623  dom cdm 5625  cres 5627  cima 5628  Fun wfun 6478   Fn wfn 6479  ontowfo 6482  cfv 6484  (class class class)co 7342  1st c1st 7902   supp csupp 8052  Fincfn 8809   finSupp cfsupp 9231
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2708  ax-rep 5234  ax-sep 5248  ax-nul 5255  ax-pow 5313  ax-pr 5377  ax-un 7655
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2815  df-nfc 2887  df-ne 2942  df-ral 3063  df-rex 3072  df-reu 3351  df-rab 3405  df-v 3444  df-sbc 3732  df-csb 3848  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3921  df-nul 4275  df-if 4479  df-pw 4554  df-sn 4579  df-pr 4581  df-op 4585  df-uni 4858  df-iun 4948  df-br 5098  df-opab 5160  df-mpt 5181  df-tr 5215  df-id 5523  df-eprel 5529  df-po 5537  df-so 5538  df-fr 5580  df-we 5582  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-ord 6310  df-on 6311  df-lim 6312  df-suc 6313  df-iota 6436  df-fun 6486  df-fn 6487  df-f 6488  df-f1 6489  df-fo 6490  df-f1o 6491  df-fv 6492  df-ov 7345  df-oprab 7346  df-mpo 7347  df-om 7786  df-1st 7904  df-supp 8053  df-1o 8372  df-en 8810  df-fin 8813  df-fsupp 9232
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator