MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  uncf Structured version   Visualization version   GIF version

Theorem uncf 8898
Description: Functional property of uncurrying. (Contributed by Brendan Leahy, 2-Jun-2021.)
Assertion
Ref Expression
uncf (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶)

Proof of Theorem uncf
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ffvelcdm 7086 . . . . . 6 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵))
2 elmapi 8876 . . . . . 6 ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → (𝐹‘𝑥):𝐵⟶𝐶)
31, 2syl 18 . . . . 5 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥):𝐵⟶𝐶)
43ffvelcdmda 7089 . . . 4 (((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) ∧ 𝑦 ∈ 𝐵) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶)
54anasss 472 . . 3 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵)) → ((𝐹‘𝑥)‘𝑦) ∈ 𝐶)
65ralrimivva 3205 . 2 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶)
7 df-unc 8292 . . . . 5 uncurry 𝐹 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝑦(𝐹‘𝑥)𝑧}
8 df-br 5103 . . . . . . . . . . 11 (𝑦(𝐹‘𝑥)𝑧 ↔ ⟨𝑦, 𝑧⟩ ∈ (𝐹‘𝑥))
9 elfvdm 6924 . . . . . . . . . . 11 (⟨𝑦, 𝑧⟩ ∈ (𝐹‘𝑥) → 𝑥 ∈ dom 𝐹)
108, 9sylbi 220 . . . . . . . . . 10 (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ dom 𝐹)
11 fdm 6724 . . . . . . . . . . 11 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → dom 𝐹 = 𝐴)
1211eleq2d 2846 . . . . . . . . . 10 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑥 ∈ dom 𝐹 ↔ 𝑥 ∈ 𝐴))
1310, 12imbitrid 247 . . . . . . . . 9 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 → 𝑥 ∈ 𝐴))
1413pm4.71rd 572 . . . . . . . 8 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧)))
15 elmapfun 8895 . . . . . . . . . . 11 ((𝐹‘𝑥) ∈ (𝐶 ↑m 𝐵) → Fun (𝐹‘𝑥))
16 funbrfv2b 6947 . . . . . . . . . . 11 (Fun (𝐹‘𝑥) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧)))
171, 15, 163syl 19 . . . . . . . . . 10 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧)))
18 fdm 6724 . . . . . . . . . . . . 13 ((𝐹‘𝑥):𝐵⟶𝐶 → dom (𝐹‘𝑥) = 𝐵)
191, 2, 183syl 19 . . . . . . . . . . . 12 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → dom (𝐹‘𝑥) = 𝐵)
2019eleq2d 2846 . . . . . . . . . . 11 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦 ∈ dom (𝐹‘𝑥) ↔ 𝑦 ∈ 𝐵))
21 eqcom 2767 . . . . . . . . . . . 12 (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦))
2221a1i 11 . . . . . . . . . . 11 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (((𝐹‘𝑥)‘𝑦) = 𝑧 ↔ 𝑧 = ((𝐹‘𝑥)‘𝑦)))
2320, 22anbi12d 644 . . . . . . . . . 10 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝑦 ∈ dom (𝐹‘𝑥) ∧ ((𝐹‘𝑥)‘𝑦) = 𝑧) ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))
2417, 23bitrd 282 . . . . . . . . 9 ((𝐹:𝐴⟶(𝐶 ↑m 𝐵) ∧ 𝑥 ∈ 𝐴) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))
2524pm5.32da 590 . . . . . . . 8 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → ((𝑥 ∈ 𝐴 ∧ 𝑦(𝐹‘𝑥)𝑧) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))))
2614, 25bitrd 282 . . . . . . 7 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)))))
27 anass 474 . . . . . . 7 (((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦)) ↔ (𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))
2826, 27bitr4di 292 . . . . . 6 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (𝑦(𝐹‘𝑥)𝑧 ↔ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))))
2928oprabbidv 7490 . . . . 5 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝑦(𝐹‘𝑥)𝑧} = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))})
307, 29eqtrid 2807 . . . 4 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))})
3130feq1d 6696 . . 3 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶))
32 df-mpo 7429 . . . . 5 (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦)) = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}
3332eqcomi 2769 . . . 4 {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))} = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ((𝐹‘𝑥)‘𝑦))
3433fmpo 8083 . . 3 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶 ↔ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵) ∧ 𝑧 = ((𝐹‘𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶)
3531, 34bitr4di 292 . 2 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 ((𝐹‘𝑥)‘𝑦) ∈ 𝐶))
366, 35mpbird 260 1 (𝐹:𝐴⟶(𝐶 ↑m 𝐵) → uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2144  ∀wral 3076  ⟨cop 4834   class class class wbr 5102   × cxp 5649  dom cdm 5651  Fun wfun 6537  ⟶wf 6539  ‘cfv 6543  (class class class)co 7424  {coprab 7425   ∈ cmpo 7426  uncurry cunc 8290   ↑m cmap 8854
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5327  ax-pr 5391  ax-un 7755
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  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-rab 3413  df-v 3452  df-sbc 3739  df-csb 3848  df-ss 3897  df-dif 4046  df-in 4090  df-un 4150  df-nul 4278  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5546  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-iota 6497  df-fun 6545  df-fn 6546  df-f 6547  df-fv 6551  df-ov 7427  df-oprab 7428  df-mpo 7429  df-1st 8005  df-2nd 8006  df-unc 8292  df-map 8856
This theorem is used by:  matunitlindflem2  23004  curunc  38634
  Copyright terms: Public domain W3C validator