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

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

Proof of Theorem fsuppcurry1
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fsuppcurry1.g . . . 4 𝐺 = (𝑥𝐵 ↦ (𝐶𝐹𝑥))
2 oveq2 7456 . . . . 5 (𝑥 = 𝑦 → (𝐶𝐹𝑥) = (𝐶𝐹𝑦))
32cbvmptv 5279 . . . 4 (𝑥𝐵 ↦ (𝐶𝐹𝑥)) = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
41, 3eqtri 2768 . . 3 𝐺 = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
5 fsuppcurry1.b . . . 4 (𝜑𝐵𝑊)
65mptexd 7261 . . 3 (𝜑 → (𝑦𝐵 ↦ (𝐶𝐹𝑦)) ∈ V)
74, 6eqeltrid 2848 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6617 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry1.z . 2 (𝜑𝑍𝑈)
11 fo2nd 8051 . . . . 5 2nd :V–onto→V
12 fofun 6835 . . . . 5 (2nd :V–onto→V → Fun 2nd )
1311, 12ax-mp 5 . . . 4 Fun 2nd
14 funres 6620 . . . 4 (Fun 2nd → Fun (2nd ↾ (V × V)))
1513, 14mp1i 13 . . 3 (𝜑 → Fun (2nd ↾ (V × V)))
16 fsuppcurry1.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9439 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9381 . . 3 ((Fun (2nd ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 583 . 2 (𝜑 → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7483 . . . 4 ((𝜑𝑦𝐵) → (𝐶𝐹𝑦) ∈ V)
2120, 4fmptd 7148 . . 3 (𝜑𝐺:𝐵⟶V)
22 eldif 3986 . . . 4 (𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 fsuppcurry1.c . . . . . . . . . . . 12 (𝜑𝐶𝐴)
2423ad2antrr 725 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐴)
25 simplr 768 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐵)
2624, 25opelxpd 5739 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7451 . . . . . . . . . . 11 (𝐶𝐹𝑦) = (𝐹‘⟨𝐶, 𝑦⟩)
28 ovexd 7483 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ∈ V)
291, 2, 25, 28fvmptd3 7052 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝐶𝐹𝑦))
30 simpr 484 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2953 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3015 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ≠ 𝑍)
3327, 32eqnetrrid 3022 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)
34 fsuppcurry1.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry1.a . . . . . . . . . . . . 13 (𝜑𝐴𝑉)
3635, 5xpexd 7786 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8211 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍𝑈) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1371 . . . . . . . . . . 11 (𝜑 → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3938ad2antrr 725 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 712 . . . . . . . . 9 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍))
41 simpr 484 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑧 = ⟨𝐶, 𝑦⟩)
4241fveq2d 6924 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩))
43 xpss 5716 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 480 . . . . . . . . . . . 12 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 4006 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (V × V))
4645fvresd 6940 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩) = (2nd ‘⟨𝐶, 𝑦⟩))
4724adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝐶𝐴)
4825adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑦𝐵)
49 op2ndg 8043 . . . . . . . . . . 11 ((𝐶𝐴𝑦𝐵) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5047, 48, 49syl2anc 583 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5142, 46, 503eqtrd 2784 . . . . . . . . 9 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3642 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6836 . . . . . . . . . . . . 13 (2nd :V–onto→V → 2nd Fn V)
54 fnresin 32645 . . . . . . . . . . . . 13 (2nd Fn V → (2nd ↾ (V × V)) Fn (V ∩ (V × V)))
5511, 53, 54mp2b 10 . . . . . . . . . . . 12 (2nd ↾ (V × V)) Fn (V ∩ (V × V))
56 ssv 4033 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4244 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 230 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6677 . . . . . . . . . . . 12 ((2nd ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (2nd ↾ (V × V)) Fn (V × V))
6055, 59mpbi 230 . . . . . . . . . . 11 (2nd ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (2nd ↾ (V × V)) Fn (V × V))
62 suppssdm 8218 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6684 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 4061 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 4021 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6995 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 725 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 257 . . . . . . 7 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 412 . . . . . 6 ((𝜑𝑦𝐵) → (¬ (𝐺𝑦) = 𝑍𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 145 . . . . 5 ((𝜑𝑦𝐵) → (¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺𝑦) = 𝑍))
7170impr 454 . . . 4 ((𝜑 ∧ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7222, 71sylan2b 593 . . 3 ((𝜑𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8235 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9449 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((2nd ↾ (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 206  wa 395   = wceq 1537  wcel 2108  wne 2946  wrex 3076  Vcvv 3488  cdif 3973  cin 3975  wss 3976  cop 4654   class class class wbr 5166  cmpt 5249   × cxp 5698  dom cdm 5700  cres 5702  cima 5703  Fun wfun 6567   Fn wfn 6568  ontowfo 6571  cfv 6573  (class class class)co 7448  2nd c2nd 8029   supp csupp 8201  Fincfn 9003   finSupp cfsupp 9431
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-ral 3068  df-rex 3077  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-2nd 8031  df-supp 8202  df-1o 8522  df-en 9004  df-dom 9005  df-fin 9007  df-fsupp 9432
This theorem is referenced by:  fedgmullem2  33643
  Copyright terms: Public domain W3C validator