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 32816
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 7364 . . . . 5 (𝑥 = 𝑦 → (𝐶𝐹𝑥) = (𝐶𝐹𝑦))
32cbvmptv 5176 . . . 4 (𝑥𝐵 ↦ (𝐶𝐹𝑥)) = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
41, 3eqtri 2762 . . 3 𝐺 = (𝑦𝐵 ↦ (𝐶𝐹𝑦))
5 fsuppcurry1.b . . . 4 (𝜑𝐵𝑊)
65mptexd 7168 . . 3 (𝜑 → (𝑦𝐵 ↦ (𝐶𝐹𝑦)) ∈ V)
74, 6eqeltrid 2843 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6524 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry1.z . 2 (𝜑𝑍𝑈)
11 fo2nd 7952 . . . . 5 2nd :V–onto→V
12 fofun 6740 . . . . 5 (2nd :V–onto→V → Fun 2nd )
1311, 12ax-mp 5 . . . 4 Fun 2nd
14 funres 6527 . . . 4 (Fun 2nd → Fun (2nd ↾ (V × V)))
1513, 14mp1i 13 . . 3 (𝜑 → Fun (2nd ↾ (V × V)))
16 fsuppcurry1.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9272 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9215 . . 3 ((Fun (2nd ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 590 . 2 (𝜑 → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7391 . . . 4 ((𝜑𝑦𝐵) → (𝐶𝐹𝑦) ∈ V)
2120, 4fmptd 7055 . . 3 (𝜑𝐺:𝐵⟶V)
22 eldif 3893 . . . 4 (𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 fsuppcurry1.c . . . . . . . . . . . 12 (𝜑𝐶𝐴)
2423ad2antrr 732 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐴)
25 simplr 774 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐵)
2624, 25opelxpd 5657 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7359 . . . . . . . . . . 11 (𝐶𝐹𝑦) = (𝐹‘⟨𝐶, 𝑦⟩)
28 ovexd 7391 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ∈ V)
291, 2, 25, 28fvmptd3 6959 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝐶𝐹𝑦))
30 simpr 485 . . . . . . . . . . . . 13 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2941 . . . . . . . . . . . 12 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3002 . . . . . . . . . . 11 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐶𝐹𝑦) ≠ 𝑍)
3327, 32eqnetrrid 3009 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)
34 fsuppcurry1.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry1.a . . . . . . . . . . . . 13 (𝜑𝐴𝑉)
3635, 5xpexd 7694 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8110 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍𝑈) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1379 . . . . . . . . . . 11 (𝜑 → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3938ad2antrr 732 . . . . . . . . . 10 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 719 . . . . . . . . 9 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍))
41 simpr 485 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑧 = ⟨𝐶, 𝑦⟩)
4241fveq2d 6831 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩))
43 xpss 5634 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 481 . . . . . . . . . . . 12 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3913 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (V × V))
4645fvresd 6847 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩) = (2nd ‘⟨𝐶, 𝑦⟩))
4724adantr 481 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝐶𝐴)
4825adantr 481 . . . . . . . . . . 11 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑦𝐵)
49 op2ndg 7944 . . . . . . . . . . 11 ((𝐶𝐴𝑦𝐵) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5047, 48, 49syl2anc 590 . . . . . . . . . 10 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5142, 46, 503eqtrd 2778 . . . . . . . . 9 ((((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3567 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6741 . . . . . . . . . . . . 13 (2nd :V–onto→V → 2nd Fn V)
54 fnresin 32716 . . . . . . . . . . . . 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 3939 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4152 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 231 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6583 . . . . . . . . . . . 12 ((2nd ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (2nd ↾ (V × V)) Fn (V × V))
6055, 59mpbi 231 . . . . . . . . . . 11 (2nd ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (2nd ↾ (V × V)) Fn (V × V))
62 suppssdm 8117 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6590 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3957 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3927 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6900 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 732 . . . . . . . 8 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 258 . . . . . . 7 (((𝜑𝑦𝐵) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 413 . . . . . 6 ((𝜑𝑦𝐵) → (¬ (𝐺𝑦) = 𝑍𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 145 . . . . 5 ((𝜑𝑦𝐵) → (¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺𝑦) = 𝑍))
7170impr 455 . . . 4 ((𝜑 ∧ (𝑦𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7222, 71sylan2b 600 . . 3 ((𝜑𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8134 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9283 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → 𝐺 finSupp 𝑍)
757, 9, 10, 19, 73, 74syl32anc 1386 1 (𝜑𝐺 finSupp 𝑍)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 207  wa 396   = wceq 1547  wcel 2119  wne 2934  wrex 3063  Vcvv 3431  cdif 3880  cin 3882  wss 3883  cop 4561   class class class wbr 5072  cmpt 5153   × cxp 5616  dom cdm 5618  cres 5620  cima 5621  Fun wfun 6479   Fn wfn 6480  ontowfo 6483  cfv 6485  (class class class)co 7356  2nd c2nd 7930   supp csupp 8100  Fincfn 8883   finSupp cfsupp 9264
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-rep 5199  ax-sep 5218  ax-nul 5228  ax-pow 5294  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-csb 3832  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3903  df-nul 4262  df-if 4455  df-pw 4531  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-iun 4923  df-br 5073  df-opab 5135  df-mpt 5154  df-tr 5180  df-id 5513  df-eprel 5518  df-po 5526  df-so 5527  df-fr 5571  df-we 5573  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-res 5630  df-ima 5631  df-ord 6313  df-on 6314  df-lim 6315  df-suc 6316  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-f1 6490  df-fo 6491  df-f1o 6492  df-fv 6493  df-ov 7359  df-oprab 7360  df-mpo 7361  df-om 7807  df-2nd 7932  df-supp 8101  df-1o 8395  df-en 8884  df-dom 8885  df-fin 8887  df-fsupp 9265
This theorem is referenced by:  fedgmullem2  33814
  Copyright terms: Public domain W3C validator