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

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

Proof of Theorem fsuppcurry2
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fsuppcurry2.g . . . 4 𝐺 = (𝑥𝐴 ↦ (𝑥𝐹𝐶))
2 oveq1 7412 . . . . 5 (𝑥 = 𝑦 → (𝑥𝐹𝐶) = (𝑦𝐹𝐶))
32cbvmptv 5225 . . . 4 (𝑥𝐴 ↦ (𝑥𝐹𝐶)) = (𝑦𝐴 ↦ (𝑦𝐹𝐶))
41, 3eqtri 2758 . . 3 𝐺 = (𝑦𝐴 ↦ (𝑦𝐹𝐶))
5 fsuppcurry2.a . . . 4 (𝜑𝐴𝑉)
65mptexd 7216 . . 3 (𝜑 → (𝑦𝐴 ↦ (𝑦𝐹𝐶)) ∈ V)
74, 6eqeltrid 2838 . 2 (𝜑𝐺 ∈ V)
81funmpt2 6575 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry2.z . 2 (𝜑𝑍𝑈)
11 fo1st 8008 . . . . 5 1st :V–onto→V
12 fofun 6791 . . . . 5 (1st :V–onto→V → Fun 1st )
1311, 12ax-mp 5 . . . 4 Fun 1st
14 funres 6578 . . . 4 (Fun 1st → Fun (1st ↾ (V × V)))
1513, 14mp1i 13 . . 3 (𝜑 → Fun (1st ↾ (V × V)))
16 fsuppcurry2.1 . . . 4 (𝜑𝐹 finSupp 𝑍)
1716fsuppimpd 9381 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9325 . . 3 ((Fun (1st ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 584 . 2 (𝜑 → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7440 . . . 4 ((𝜑𝑦𝐴) → (𝑦𝐹𝐶) ∈ V)
2120, 4fmptd 7104 . . 3 (𝜑𝐺:𝐴⟶V)
22 eldif 3936 . . . 4 (𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 simplr 768 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦𝐴)
24 fsuppcurry2.c . . . . . . . . . . . 12 (𝜑𝐶𝐵)
2524ad2antrr 726 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝐶𝐵)
2623, 25opelxpd 5693 . . . . . . . . . 10 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7408 . . . . . . . . . . 11 (𝑦𝐹𝐶) = (𝐹‘⟨𝑦, 𝐶⟩)
28 ovexd 7440 . . . . . . . . . . . . 13 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦𝐹𝐶) ∈ V)
291, 2, 23, 28fvmptd3 7009 . . . . . . . . . . . 12 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) = (𝑦𝐹𝐶))
30 simpr 484 . . . . . . . . . . . . 13 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ¬ (𝐺𝑦) = 𝑍)
3130neqned 2939 . . . . . . . . . . . 12 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐺𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3000 . . . . . . . . . . 11 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦𝐹𝐶) ≠ 𝑍)
3327, 32eqnetrrid 3007 . . . . . . . . . 10 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)
34 fsuppcurry2.f . . . . . . . . . . . 12 (𝜑𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry2.b . . . . . . . . . . . . 13 (𝜑𝐵𝑊)
365, 35xpexd 7745 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8169 . . . . . . . . . . . 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 6880 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩))
43 xpss 5670 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 480 . . . . . . . . . . . 12 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3956 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (V × V))
4645fvresd 6896 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩) = (1st ‘⟨𝑦, 𝐶⟩))
4723adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝑦𝐴)
4825adantr 480 . . . . . . . . . . 11 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝐶𝐵)
49 op1stg 8000 . . . . . . . . . . 11 ((𝑦𝐴𝐶𝐵) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5047, 48, 49syl2anc 584 . . . . . . . . . 10 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5142, 46, 503eqtrd 2774 . . . . . . . . 9 ((((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeq1vd 3608 . . . . . . . 8 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6792 . . . . . . . . . . . . 13 (1st :V–onto→V → 1st Fn V)
54 fnresin 32604 . . . . . . . . . . . . 13 (1st Fn V → (1st ↾ (V × V)) Fn (V ∩ (V × V)))
5511, 53, 54mp2b 10 . . . . . . . . . . . 12 (1st ↾ (V × V)) Fn (V ∩ (V × V))
56 ssv 3983 . . . . . . . . . . . . . 14 (V × V) ⊆ V
57 sseqin2 4198 . . . . . . . . . . . . . 14 ((V × V) ⊆ V ↔ (V ∩ (V × V)) = (V × V))
5856, 57mpbi 230 . . . . . . . . . . . . 13 (V ∩ (V × V)) = (V × V)
5958fneq2i 6636 . . . . . . . . . . . 12 ((1st ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (1st ↾ (V × V)) Fn (V × V))
6055, 59mpbi 230 . . . . . . . . . . 11 (1st ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (1st ↾ (V × V)) Fn (V × V))
62 suppssdm 8176 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6643 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 4001 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3971 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6952 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 726 . . . . . . . 8 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 257 . . . . . . 7 (((𝜑𝑦𝐴) ∧ ¬ (𝐺𝑦) = 𝑍) → 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 412 . . . . . 6 ((𝜑𝑦𝐴) → (¬ (𝐺𝑦) = 𝑍𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 145 . . . . 5 ((𝜑𝑦𝐴) → (¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺𝑦) = 𝑍))
7170impr 454 . . . 4 ((𝜑 ∧ (𝑦𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7222, 71sylan2b 594 . . 3 ((𝜑𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺𝑦) = 𝑍)
7321, 72suppss 8193 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9392 . 2 (((𝐺 ∈ V ∧ Fun 𝐺𝑍𝑈) ∧ (((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((1st ↾ (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 2108  wne 2932  wrex 3060  Vcvv 3459  cdif 3923  cin 3925  wss 3926  cop 4607   class class class wbr 5119  cmpt 5201   × cxp 5652  dom cdm 5654  cres 5656  cima 5657  Fun wfun 6525   Fn wfn 6526  ontowfo 6529  cfv 6531  (class class class)co 7405  1st c1st 7986   supp csupp 8159  Fincfn 8959   finSupp cfsupp 9373
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 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2707  ax-rep 5249  ax-sep 5266  ax-nul 5276  ax-pow 5335  ax-pr 5402  ax-un 7729
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 2065  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2809  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-reu 3360  df-rab 3416  df-v 3461  df-sbc 3766  df-csb 3875  df-dif 3929  df-un 3931  df-in 3933  df-ss 3943  df-pss 3946  df-nul 4309  df-if 4501  df-pw 4577  df-sn 4602  df-pr 4604  df-op 4608  df-uni 4884  df-iun 4969  df-br 5120  df-opab 5182  df-mpt 5202  df-tr 5230  df-id 5548  df-eprel 5553  df-po 5561  df-so 5562  df-fr 5606  df-we 5608  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6484  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-ov 7408  df-oprab 7409  df-mpo 7410  df-om 7862  df-1st 7988  df-supp 8160  df-1o 8480  df-en 8960  df-dom 8961  df-fin 8963  df-fsupp 9374
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator