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 33402
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 7457 . . . . 5 (𝑥 = 𝑦 → (𝐶𝐹𝑥) = (𝐶𝐹𝑦))
32cbvmptv 5213 . . . 4 (𝑥 ∈ 𝐵 ↦ (𝐶𝐹𝑥)) = (𝑦 ∈ 𝐵 ↦ (𝐶𝐹𝑦))
41, 3eqtri 2786 . . 3 𝐺 = (𝑦 ∈ 𝐵 ↦ (𝐶𝐹𝑦))
5 fsuppcurry1.b . . . 4 (𝜑 → 𝐵 ∈ 𝑊)
65mptexd 7259 . . 3 (𝜑 → (𝑦 ∈ 𝐵 ↦ (𝐶𝐹𝑦)) ∈ V)
74, 6eqeltrid 2868 . 2 (𝜑 → 𝐺 ∈ V)
81funmpt2 6605 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry1.z . 2 (𝜑 → 𝑍 ∈ 𝑈)
11 fo2nd 8054 . . . . 5 2nd :V⟶ontoV
12 fofun 6825 . . . . 5 (2nd :V⟶ontoV → Fun 2nd )
1311, 12ax-mp 5 . . . 4 Fun 2nd
14 funres 6608 . . . 4 (Fun 2nd → Fun (2nd ↾ (V × V)))
1513, 14mp1i 14 . . 3 (𝜑 → Fun (2nd ↾ (V × V)))
16 fsuppcurry1.1 . . . 4 (𝜑 → 𝐹 finSupp 𝑍)
1716fsuppimpd 9397 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9343 . . 3 ((Fun (2nd ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 596 . 2 (𝜑 → ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7484 . . . 4 ((𝜑 ∧ 𝑦 ∈ 𝐵) → (𝐶𝐹𝑦) ∈ V)
2120, 4fmptd 7144 . . 3 (𝜑 → 𝐺:𝐵⟶V)
22 eldif 4052 . . . 4 (𝑦 ∈ (𝐵 ∖ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦 ∈ 𝐵 ∧ ¬ 𝑦 ∈ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 fsuppcurry1.c . . . . . . . . . . . 12 (𝜑 → 𝐶 ∈ 𝐴)
2423ad2antrr 739 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → 𝐶 ∈ 𝐴)
25 simplr 781 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → 𝑦 ∈ 𝐵)
2624, 25opelxpd 5695 . . . . . . . . . 10 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7452 . . . . . . . . . . 11 (𝐶𝐹𝑦) = (𝐹‘⟨𝐶, 𝑦⟩)
28 ovexd 7484 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐶𝐹𝑦) ∈ V)
291, 2, 25, 28fvmptd3 7046 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐺‘𝑦) = (𝐶𝐹𝑦))
30 simpr 490 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ¬ (𝐺‘𝑦) = 𝑍)
3130neqned 2966 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐺‘𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3027 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐶𝐹𝑦) ≠ 𝑍)
3327, 32eqnetrrid 3034 . . . . . . . . . 10 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)
34 fsuppcurry1.f . . . . . . . . . . . 12 (𝜑 → 𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry1.a . . . . . . . . . . . . 13 (𝜑 → 𝐴 ∈ 𝑉)
3635, 5xpexd 7795 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8223 . . . . . . . . . . . 12 ((𝐹 Fn (𝐴 × 𝐵) ∧ (𝐴 × 𝐵) ∈ V ∧ 𝑍 ∈ 𝑈) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3834, 36, 10, 37syl3anc 1399 . . . . . . . . . . 11 (𝜑 → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
3938ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍) ↔ (⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵) ∧ (𝐹‘⟨𝐶, 𝑦⟩) ≠ 𝑍)))
4026, 33, 39mpbir2and 726 . . . . . . . . 9 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ⟨𝐶, 𝑦⟩ ∈ (𝐹 supp 𝑍))
41 simpr 490 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑧 = ⟨𝐶, 𝑦⟩)
4241fveq2d 6918 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩))
43 xpss 5672 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 486 . . . . . . . . . . . 12 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3911 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ⟨𝐶, 𝑦⟩ ∈ (V × V))
4645fvresd 6934 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘⟨𝐶, 𝑦⟩) = (2nd ‘⟨𝐶, 𝑦⟩))
4724adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝐶 ∈ 𝐴)
4825adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → 𝑦 ∈ 𝐵)
49 op2ndg 8046 . . . . . . . . . . 11 ((𝐶 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5047, 48, 49syl2anc 596 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → (2nd ‘⟨𝐶, 𝑦⟩) = 𝑦)
5142, 46, 503eqtrd 2802 . . . . . . . . 9 ((((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝐶, 𝑦⟩) → ((2nd ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeqvd 3587 . . . . . . . 8 (((𝜑 ∧ 𝑦 ∈ 𝐵) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((2nd ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6826 . . . . . . . . . . . . 13 (2nd :V⟶ontoV → 2nd Fn V)
54 fnresin 33306 . . . . . . . . . . . . 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 3937 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4123 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 233 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6665 . . . . . . . . . . . 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 8230 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6672 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3955 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3925 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6987 . . . . . . . . 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 8247 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9407 . 2 (((𝐺 ∈ V ∧ Fun 𝐺 ∧ 𝑍 ∈ 𝑈) ∧ (((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((2nd ↾ (V × V)) “ (𝐹 supp 𝑍)))) → 𝐺 finSupp 𝑍)
757, 9, 10, 19, 73, 74syl32anc 1406 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 2147   ≠ wne 2959  ∃wrex 3090  Vcvv 3454   ⊆ wss 3900   ∖ cdif 4048   ∩ cin 4092  ⟨cop 4838   class class class wbr 5106   ↦ cmpt 5190   × cxp 5654  dom cdm 5656   ↾ cres 5658   “ cima 5659  Fun wfun 6558   Fn wfn 6559  ⟶ontowfo 6562  ‘cfv 6564  (class class class)co 7449  2nd c2nd 8032   supp csupp 8212  Fincfn 9009   finSupp cfsupp 9389
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5236  ax-sep 5253  ax-nul 5264  ax-pow 5332  ax-pr 5396  ax-un 7781
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5551  df-eprel 5556  df-po 5564  df-so 5565  df-fr 5609  df-we 5611  df-xp 5662  df-rel 5663  df-cnv 5664  df-co 5665  df-dm 5666  df-rn 5667  df-res 5668  df-ima 5669  df-ord 6389  df-on 6390  df-lim 6391  df-suc 6392  df-iota 6518  df-fun 6566  df-fn 6567  df-f 6568  df-f1 6569  df-fo 6570  df-f1o 6571  df-fv 6572  df-ov 7452  df-oprab 7453  df-mpo 7454  df-om 7910  df-2nd 8034  df-supp 8213  df-1o 8512  df-en 9010  df-dom 9011  df-fin 9013  df-fsupp 9390
This theorem is used by:  fedgmullem2  34366
  Copyright terms: Public domain W3C validator