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 33299
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 7419 . . . . 5 (𝑥 = 𝑦 → (𝑥𝐹𝐶) = (𝑦𝐹𝐶))
32cbvmptv 5209 . . . 4 (𝑥 ∈ 𝐴 ↦ (𝑥𝐹𝐶)) = (𝑦 ∈ 𝐴 ↦ (𝑦𝐹𝐶))
41, 3eqtri 2784 . . 3 𝐺 = (𝑦 ∈ 𝐴 ↦ (𝑦𝐹𝐶))
5 fsuppcurry2.a . . . 4 (𝜑 → 𝐴 ∈ 𝑉)
65mptexd 7222 . . 3 (𝜑 → (𝑦 ∈ 𝐴 ↦ (𝑦𝐹𝐶)) ∈ V)
74, 6eqeltrid 2865 . 2 (𝜑 → 𝐺 ∈ V)
81funmpt2 6571 . . 3 Fun 𝐺
98a1i 11 . 2 (𝜑 → Fun 𝐺)
10 fsuppcurry2.z . 2 (𝜑 → 𝑍 ∈ 𝑈)
11 fo1st 8010 . . . . 5 1st :V–onto→V
12 fofun 6789 . . . . 5 (1st :V–onto→V → Fun 1st )
1311, 12ax-mp 5 . . . 4 Fun 1st
14 funres 6574 . . . 4 (Fun 1st → Fun (1st ↾ (V × V)))
1513, 14mp1i 14 . . 3 (𝜑 → Fun (1st ↾ (V × V)))
16 fsuppcurry2.1 . . . 4 (𝜑 → 𝐹 finSupp 𝑍)
1716fsuppimpd 9345 . . 3 (𝜑 → (𝐹 supp 𝑍) ∈ Fin)
18 imafi 9291 . . 3 ((Fun (1st ↾ (V × V)) ∧ (𝐹 supp 𝑍) ∈ Fin) → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
1915, 17, 18syl2anc 596 . 2 (𝜑 → ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin)
20 ovexd 7447 . . . 4 ((𝜑 ∧ 𝑦 ∈ 𝐴) → (𝑦𝐹𝐶) ∈ V)
2120, 4fmptd 7106 . . 3 (𝜑 → 𝐺:𝐴⟶V)
22 eldif 3909 . . . 4 (𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))) ↔ (𝑦 ∈ 𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
23 simplr 781 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → 𝑦 ∈ 𝐴)
24 fsuppcurry2.c . . . . . . . . . . . 12 (𝜑 → 𝐶 ∈ 𝐵)
2524ad2antrr 739 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → 𝐶 ∈ 𝐵)
2623, 25opelxpd 5690 . . . . . . . . . 10 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
27 df-ov 7415 . . . . . . . . . . 11 (𝑦𝐹𝐶) = (𝐹‘⟨𝑦, 𝐶⟩)
28 ovexd 7447 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝑦𝐹𝐶) ∈ V)
291, 2, 23, 28fvmptd3 7009 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐺‘𝑦) = (𝑦𝐹𝐶))
30 simpr 490 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ¬ (𝐺‘𝑦) = 𝑍)
3130neqned 2963 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐺‘𝑦) ≠ 𝑍)
3229, 31eqnetrrd 3024 . . . . . . . . . . 11 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝑦𝐹𝐶) ≠ 𝑍)
3327, 32eqnetrrid 3031 . . . . . . . . . 10 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝐹‘⟨𝑦, 𝐶⟩) ≠ 𝑍)
34 fsuppcurry2.f . . . . . . . . . . . 12 (𝜑 → 𝐹 Fn (𝐴 × 𝐵))
35 fsuppcurry2.b . . . . . . . . . . . . 13 (𝜑 → 𝐵 ∈ 𝑊)
365, 35xpexd 7754 . . . . . . . . . . . 12 (𝜑 → (𝐴 × 𝐵) ∈ V)
37 elsuppfn 8171 . . . . . . . . . . . 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 6881 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩))
43 xpss 5667 . . . . . . . . . . . 12 (𝐴 × 𝐵) ⊆ (V × V)
4426adantr 486 . . . . . . . . . . . 12 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (𝐴 × 𝐵))
4543, 44sselid 3929 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ⟨𝑦, 𝐶⟩ ∈ (V × V))
4645fvresd 6897 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘⟨𝑦, 𝐶⟩) = (1st ‘⟨𝑦, 𝐶⟩))
4723adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝑦 ∈ 𝐴)
4825adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → 𝐶 ∈ 𝐵)
49 op1stg 8002 . . . . . . . . . . 11 ((𝑦 ∈ 𝐴 ∧ 𝐶 ∈ 𝐵) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5047, 48, 49syl2anc 596 . . . . . . . . . 10 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → (1st ‘⟨𝑦, 𝐶⟩) = 𝑦)
5142, 46, 503eqtrd 2800 . . . . . . . . 9 ((((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) ∧ 𝑧 = ⟨𝑦, 𝐶⟩) → ((1st ↾ (V × V))‘𝑧) = 𝑦)
5240, 51rspcedeqvd 3584 . . . . . . . 8 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦)
53 fofn 6790 . . . . . . . . . . . . 13 (1st :V–onto→V → 1st Fn V)
54 fnresin 33200 . . . . . . . . . . . . 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 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 6629 . . . . . . . . . . . 12 ((1st ↾ (V × V)) Fn (V ∩ (V × V)) ↔ (1st ↾ (V × V)) Fn (V × V))
6055, 59mpbi 233 . . . . . . . . . . 11 (1st ↾ (V × V)) Fn (V × V)
6160a1i 11 . . . . . . . . . 10 (𝜑 → (1st ↾ (V × V)) Fn (V × V))
62 suppssdm 8178 . . . . . . . . . . . 12 (𝐹 supp 𝑍) ⊆ dom 𝐹
6334fndmd 6636 . . . . . . . . . . . 12 (𝜑 → dom 𝐹 = (𝐴 × 𝐵))
6462, 63sseqtrid 3973 . . . . . . . . . . 11 (𝜑 → (𝐹 supp 𝑍) ⊆ (𝐴 × 𝐵))
6564, 43sstrdi 3943 . . . . . . . . . 10 (𝜑 → (𝐹 supp 𝑍) ⊆ (V × V))
6661, 65fvelimabd 6950 . . . . . . . . 9 (𝜑 → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6766ad2antrr 739 . . . . . . . 8 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → (𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ↔ ∃𝑧 ∈ (𝐹 supp 𝑍)((1st ↾ (V × V))‘𝑧) = 𝑦))
6852, 67mpbird 260 . . . . . . 7 (((𝜑 ∧ 𝑦 ∈ 𝐴) ∧ ¬ (𝐺‘𝑦) = 𝑍) → 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
6968ex 418 . . . . . 6 ((𝜑 ∧ 𝑦 ∈ 𝐴) → (¬ (𝐺‘𝑦) = 𝑍 → 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍))))
7069con1d 146 . . . . 5 ((𝜑 ∧ 𝑦 ∈ 𝐴) → (¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) → (𝐺‘𝑦) = 𝑍))
7170impr 460 . . . 4 ((𝜑 ∧ (𝑦 ∈ 𝐴 ∧ ¬ 𝑦 ∈ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺‘𝑦) = 𝑍)
7222, 71sylan2b 606 . . 3 ((𝜑 ∧ 𝑦 ∈ (𝐴 ∖ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))) → (𝐺‘𝑦) = 𝑍)
7321, 72suppss 8195 . 2 (𝜑 → (𝐺 supp 𝑍) ⊆ ((1st ↾ (V × V)) “ (𝐹 supp 𝑍)))
74 suppssfifsupp 9356 . 2 (((𝐺 ∈ V ∧ Fun 𝐺 ∧ 𝑍 ∈ 𝑈) ∧ (((1st ↾ (V × V)) “ (𝐹 supp 𝑍)) ∈ Fin ∧ (𝐺 supp 𝑍) ⊆ ((1st ↾ (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 2956  ∃wrex 3087  Vcvv 3451   ∖ cdif 3896   ∩ cin 3898   ⊆ wss 3899  ⟨cop 4590   class class class wbr 5103   ↦ cmpt 5186   × cxp 5649  dom cdm 5651   ↾ cres 5653   “ cima 5654  Fun wfun 6525   Fn wfn 6526  –onto→wfo 6529  ‘cfv 6531  (class class class)co 7412  1st c1st 7988   supp csupp 8161  Fincfn 8957   finSupp cfsupp 9337
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 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7740
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 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  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 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-ord 6358  df-on 6359  df-lim 6360  df-suc 6361  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7867  df-1st 7990  df-supp 8162  df-1o 8460  df-en 8958  df-dom 8959  df-fin 8961  df-fsupp 9338
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator