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 32648
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 7395 . . . . 5 (𝑥 = 𝑦 → (𝐶𝐹𝑥) = (𝐶𝐹𝑦))
32cbvmptv 5211 . . . 4 (𝑥𝐵 ↦ (𝐶𝐹𝑥)) = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
41, 3eqtri 2752 . . 3 𝐺 = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
5 fsuppcurry1.b . . . 4 (𝜑𝐵𝑊)
65mptexd 7198 . . 3 (𝜑 → (𝑦𝐵 ↦ (𝐶𝐹𝑦)) ∈ V)
74, 6eqeltrid 2832 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6555 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry1.z . 2 (𝜑𝑍𝑈)
11 fo2nd 7989 . . . . 5 2nd :V–onto→V
12 fofun 6773 . . . . 5 (2nd :V–onto→V → Fun 2nd )
1311, 12ax-mp 5 . . . 4 Fun 2nd
14 funres 6558 . . . 4 (Fun 2nd → Fun (2nd ↾ (V × V)))
1513, 14mp1i 13 . . 3 (𝜑 → Fun (2nd ↾ (V × V)))
16 fsuppcurry1.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9320 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9264 . . 3 ((Fun (2nd ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 584 . 2 (𝜑 → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7422 . . . 4 ((𝜑𝑦𝐵) → (𝐶𝐹𝑦) ∈ V)
2120, 4fmptd 7086 . . 3 (𝜑𝐺:𝐵⟶V)
22 eldif 3924 . . . 4 (𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 fsuppcurry1.c . . . . . . . . . . . 12 (𝜑𝐶𝐴)
2423ad2antrr 726 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐴)
25 simplr 768 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐵)
2624, 25opelxpd 5677 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7390 . . . . . . . . . . 11 (𝐶𝐹𝑦) = (𝐹‘⟨𝐶, 𝑦⟩)
28 ovexd 7422 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ∈ V)
291, 2, 25, 28fvmptd3 6991 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝐶𝐹𝑦))
30 simpr 484 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2932 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 2993 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ≠ 𝑍)
3327, 32eqnetrrid 3000 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)
34 fsuppcurry1.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry1.a . . . . . . . . . . . . 13 (𝜑𝐴𝑉)
3635, 5xpexd 7727 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8149 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍𝑈) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1373 . . . . . . . . . . 11 (𝜑 → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3938ad2antrr 726 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 713 . . . . . . . . 9 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍))
41 simpr 484 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑧 = ⟨𝐶, 𝑦⟩)
4241fveq2d 6862 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩))
43 xpss 5654 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 480 . . . . . . . . . . . 12 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3944 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (V × V))
4645fvresd 6878 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩) = (2nd ‘⟨𝐶, 𝑦⟩))
4724adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝐶𝐴)
4825adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑦𝐵)
49 op2ndg 7981 . . . . . . . . . . 11 ((𝐶𝐴𝑦𝐵) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5047, 48, 49syl2anc 584 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5142, 46, 503eqtrd 2768 . . . . . . . . 9 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3595 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6774 . . . . . . . . . . . . 13 (2nd :V–onto→V → 2nd Fn V)
54 fnresin 32550 . . . . . . . . . . . . 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 3971 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4186 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 230 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6616 . . . . . . . . . . . 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 8156 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6623 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3989 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3959 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6934 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 726 . . . . . . . 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 594 . . 3 ((𝜑𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8173 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9331 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → 𝐺 finSupp 𝑍)
757, 9, 10, 19, 73, 74syl32anc 1380 1 (𝜑𝐺 finSupp 𝑍)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395   = wceq 1540  wcel 2109  wne 2925  wrex 3053  Vcvv 3447  cdif 3911  cin 3913  wss 3914  cop 4595   class class class wbr 5107  cmpt 5188   × cxp 5636  dom cdm 5638  cres 5640  cima 5641  Fun wfun 6505   Fn wfn 6506  ontowfo 6509  cfv 6511  (class class class)co 7387  2nd c2nd 7967   supp csupp 8139  Fincfn 8918   finSupp cfsupp 9312
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5234  ax-sep 5251  ax-nul 5261  ax-pow 5320  ax-pr 5387  ax-un 7711
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3355  df-rab 3406  df-v 3449  df-sbc 3754  df-csb 3863  df-dif 3917  df-un 3919  df-in 3921  df-ss 3931  df-pss 3934  df-nul 4297  df-if 4489  df-pw 4565  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4872  df-iun 4957  df-br 5108  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5533  df-eprel 5538  df-po 5546  df-so 5547  df-fr 5591  df-we 5593  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-ord 6335  df-on 6336  df-lim 6337  df-suc 6338  df-iota 6464  df-fun 6513  df-fn 6514  df-f 6515  df-f1 6516  df-fo 6517  df-f1o 6518  df-fv 6519  df-ov 7390  df-oprab 7391  df-mpo 7392  df-om 7843  df-2nd 7969  df-supp 8140  df-1o 8434  df-en 8919  df-dom 8920  df-fin 8922  df-fsupp 9313
This theorem is referenced by:  fedgmullem2  33626
  Copyright terms: Public domain W3C validator