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 33195
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 7421 . . . . 5 (𝑥 = 𝑦 → (𝐶𝐹𝑥) = (𝐶𝐹𝑦))
32cbvmptv 5209 . . . 4 (𝑥𝐵 ↦ (𝐶𝐹𝑥)) = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
41, 3eqtri 2783 . . 3 𝐺 = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
5 fsuppcurry1.b . . . 4 (𝜑𝐵𝑊)
65mptexd 7223 . . 3 (𝜑 → (𝑦𝐵 ↦ (𝐶𝐹𝑦)) ∈ V)
74, 6eqeltrid 2864 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6572 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry1.z . 2 (𝜑𝑍𝑈)
11 fo2nd 8007 . . . . 5 2nd :V–onto→V
12 fofun 6790 . . . . 5 (2nd :V–onto→V → Fun 2nd )
1311, 12ax-mp 5 . . . 4 Fun 2nd
14 funres 6575 . . . 4 (Fun 2nd → Fun (2nd ↾ (V × V)))
1513, 14mp1i 14 . . 3 (𝜑 → Fun (2nd ↾ (V × V)))
16 fsuppcurry1.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9339 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9285 . . 3 ((Fun (2nd ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 596 . 2 (𝜑 → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7448 . . . 4 ((𝜑𝑦𝐵) → (𝐶𝐹𝑦) ∈ V)
2120, 4fmptd 7107 . . 3 (𝜑𝐺:𝐵⟶V)
22 eldif 3909 . . . 4 (𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 fsuppcurry1.c . . . . . . . . . . . 12 (𝜑𝐶𝐴)
2423ad2antrr 739 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐴)
25 simplr 781 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐵)
2624, 25opelxpd 5694 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7416 . . . . . . . . . . 11 (𝐶𝐹𝑦) = (𝐹‘⟨𝐶, 𝑦⟩)
28 ovexd 7448 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ∈ V)
291, 2, 25, 28fvmptd3 7010 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝐶𝐹𝑦))
30 simpr 490 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2962 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3023 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ≠ 𝑍)
3327, 32eqnetrrid 3030 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)
34 fsuppcurry1.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry1.a . . . . . . . . . . . . 13 (𝜑𝐴𝑉)
3635, 5xpexd 7750 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8168 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍𝑈) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1398 . . . . . . . . . . 11 (𝜑 → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3938ad2antrr 739 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 726 . . . . . . . . 9 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍))
41 simpr 490 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑧 = ⟨𝐶, 𝑦⟩)
4241fveq2d 6882 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩))
43 xpss 5671 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 486 . . . . . . . . . . . 12 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3929 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (V × V))
4645fvresd 6898 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩) = (2nd ‘⟨𝐶, 𝑦⟩))
4724adantr 486 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝐶𝐴)
4825adantr 486 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑦𝐵)
49 op2ndg 7999 . . . . . . . . . . 11 ((𝐶𝐴𝑦𝐵) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5047, 48, 49syl2anc 596 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5142, 46, 503eqtrd 2799 . . . . . . . . 9 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3583 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6791 . . . . . . . . . . . . 13 (2nd :V–onto→V → 2nd Fn V)
54 fnresin 33097 . . . . . . . . . . . . 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 3955 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4169 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 233 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6630 . . . . . . . . . . . 12 ((2nd ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (2nd ↾ (V × V)) Fn (V × V))
6055, 59mpbi 233 . . . . . . . . . . 11 (2nd ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (2nd ↾ (V × V)) Fn (V × V))
62 suppssdm 8175 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6637 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3973 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3943 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6951 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 739 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 260 . . . . . . 7 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 418 . . . . . 6 ((𝜑𝑦𝐵) → (¬ (𝐺𝑦) = 𝑍𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 146 . . . . 5 ((𝜑𝑦𝐵) → (¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺𝑦) = 𝑍))
7170impr 460 . . . 4 ((𝜑 ∧ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7222, 71sylan2b 606 . . 3 ((𝜑𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8192 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9350 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → 𝐺 finSupp 𝑍)
757, 9, 10, 19, 73, 74syl32anc 1405 1 (𝜑𝐺 finSupp 𝑍)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wb 209  wa 401   = wceq 1570  wcel 2145  wne 2955  wrex 3086  Vcvv 3450  cdif 3896  cin 3898  wss 3899  cop 4590   class class class wbr 5103  cmpt 5186   × cxp 5653  dom cdm 5655  cres 5657  cima 5658  Fun wfun 6527   Fn wfn 6528  ontowfo 6531  cfv 6533  (class class class)co 7413  2nd c2nd 7985   supp csupp 8158  Fincfn 8952   finSupp cfsupp 9331
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7736
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-ov 7416  df-oprab 7417  df-mpo 7418  df-om 7863  df-2nd 7987  df-supp 8159  df-1o 8455  df-en 8953  df-dom 8954  df-fin 8956  df-fsupp 9332
This theorem is used by:  fedgmullem2  34140
  Copyright terms: Public domain W3C validator