Users' Mathboxes Mathbox for Brendan Leahy < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  uncf Structured version   Visualization version   GIF version

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

Proof of Theorem uncf
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ffvelrn 6547 . . . . . 6 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (𝐹𝑥) ∈ (𝐶𝑚 𝐵))
2 elmapi 8082 . . . . . 6 ((𝐹𝑥) ∈ (𝐶𝑚 𝐵) → (𝐹𝑥):𝐵𝐶)
31, 2syl 17 . . . . 5 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (𝐹𝑥):𝐵𝐶)
43ffvelrnda 6549 . . . 4 (((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) ∧ 𝑦𝐵) → ((𝐹𝑥)‘𝑦) ∈ 𝐶)
54anasss 458 . . 3 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ (𝑥𝐴𝑦𝐵)) → ((𝐹𝑥)‘𝑦) ∈ 𝐶)
65ralrimivva 3118 . 2 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → ∀𝑥𝐴𝑦𝐵 ((𝐹𝑥)‘𝑦) ∈ 𝐶)
7 df-unc 7597 . . . . 5 uncurry 𝐹 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝑦(𝐹𝑥)𝑧}
8 df-br 4810 . . . . . . . . . . 11 (𝑦(𝐹𝑥)𝑧 ↔ ⟨𝑦, 𝑧⟩ ∈ (𝐹𝑥))
9 elfvdm 6407 . . . . . . . . . . 11 (⟨𝑦, 𝑧⟩ ∈ (𝐹𝑥) → 𝑥 ∈ dom 𝐹)
108, 9sylbi 208 . . . . . . . . . 10 (𝑦(𝐹𝑥)𝑧𝑥 ∈ dom 𝐹)
11 fdm 6231 . . . . . . . . . . 11 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → dom 𝐹 = 𝐴)
1211eleq2d 2830 . . . . . . . . . 10 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (𝑥 ∈ dom 𝐹𝑥𝐴))
1310, 12syl5ib 235 . . . . . . . . 9 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (𝑦(𝐹𝑥)𝑧𝑥𝐴))
1413pm4.71rd 558 . . . . . . . 8 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (𝑦(𝐹𝑥)𝑧 ↔ (𝑥𝐴𝑦(𝐹𝑥)𝑧)))
15 elmapfun 8084 . . . . . . . . . . 11 ((𝐹𝑥) ∈ (𝐶𝑚 𝐵) → Fun (𝐹𝑥))
16 funbrfv2b 6429 . . . . . . . . . . 11 (Fun (𝐹𝑥) → (𝑦(𝐹𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹𝑥) ∧ ((𝐹𝑥)‘𝑦) = 𝑧)))
171, 15, 163syl 18 . . . . . . . . . 10 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (𝑦(𝐹𝑥)𝑧 ↔ (𝑦 ∈ dom (𝐹𝑥) ∧ ((𝐹𝑥)‘𝑦) = 𝑧)))
18 fdm 6231 . . . . . . . . . . . . 13 ((𝐹𝑥):𝐵𝐶 → dom (𝐹𝑥) = 𝐵)
191, 2, 183syl 18 . . . . . . . . . . . 12 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → dom (𝐹𝑥) = 𝐵)
2019eleq2d 2830 . . . . . . . . . . 11 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (𝑦 ∈ dom (𝐹𝑥) ↔ 𝑦𝐵))
21 eqcom 2772 . . . . . . . . . . . 12 (((𝐹𝑥)‘𝑦) = 𝑧𝑧 = ((𝐹𝑥)‘𝑦))
2221a1i 11 . . . . . . . . . . 11 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (((𝐹𝑥)‘𝑦) = 𝑧𝑧 = ((𝐹𝑥)‘𝑦)))
2320, 22anbi12d 624 . . . . . . . . . 10 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → ((𝑦 ∈ dom (𝐹𝑥) ∧ ((𝐹𝑥)‘𝑦) = 𝑧) ↔ (𝑦𝐵𝑧 = ((𝐹𝑥)‘𝑦))))
2417, 23bitrd 270 . . . . . . . . 9 ((𝐹:𝐴⟶(𝐶𝑚 𝐵) ∧ 𝑥𝐴) → (𝑦(𝐹𝑥)𝑧 ↔ (𝑦𝐵𝑧 = ((𝐹𝑥)‘𝑦))))
2524pm5.32da 574 . . . . . . . 8 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → ((𝑥𝐴𝑦(𝐹𝑥)𝑧) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝑧 = ((𝐹𝑥)‘𝑦)))))
2614, 25bitrd 270 . . . . . . 7 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (𝑦(𝐹𝑥)𝑧 ↔ (𝑥𝐴 ∧ (𝑦𝐵𝑧 = ((𝐹𝑥)‘𝑦)))))
27 anass 460 . . . . . . 7 (((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦)) ↔ (𝑥𝐴 ∧ (𝑦𝐵𝑧 = ((𝐹𝑥)‘𝑦))))
2826, 27syl6bbr 280 . . . . . 6 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (𝑦(𝐹𝑥)𝑧 ↔ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))))
2928oprabbidv 6907 . . . . 5 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ 𝑦(𝐹𝑥)𝑧} = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))})
307, 29syl5eq 2811 . . . 4 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → uncurry 𝐹 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))})
3130feq1d 6208 . . 3 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶))
32 df-mpt2 6847 . . . . 5 (𝑥𝐴, 𝑦𝐵 ↦ ((𝐹𝑥)‘𝑦)) = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))}
3332eqcomi 2774 . . . 4 {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))} = (𝑥𝐴, 𝑦𝐵 ↦ ((𝐹𝑥)‘𝑦))
3433fmpt2 7438 . . 3 (∀𝑥𝐴𝑦𝐵 ((𝐹𝑥)‘𝑦) ∈ 𝐶 ↔ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥𝐴𝑦𝐵) ∧ 𝑧 = ((𝐹𝑥)‘𝑦))}:(𝐴 × 𝐵)⟶𝐶)
3531, 34syl6bbr 280 . 2 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → (uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶 ↔ ∀𝑥𝐴𝑦𝐵 ((𝐹𝑥)‘𝑦) ∈ 𝐶))
366, 35mpbird 248 1 (𝐹:𝐴⟶(𝐶𝑚 𝐵) → uncurry 𝐹:(𝐴 × 𝐵)⟶𝐶)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384   = wceq 1652  wcel 2155  wral 3055  cop 4340   class class class wbr 4809   × cxp 5275  dom cdm 5277  Fun wfun 6062  wf 6064  cfv 6068  (class class class)co 6842  {coprab 6843  cmpt2 6844  uncurry cunc 7595  𝑚 cmap 8060
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1890  ax-4 1904  ax-5 2005  ax-6 2070  ax-7 2105  ax-8 2157  ax-9 2164  ax-10 2183  ax-11 2198  ax-12 2211  ax-13 2352  ax-ext 2743  ax-sep 4941  ax-nul 4949  ax-pow 5001  ax-pr 5062  ax-un 7147
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 874  df-3an 1109  df-tru 1656  df-ex 1875  df-nf 1879  df-sb 2063  df-mo 2565  df-eu 2582  df-clab 2752  df-cleq 2758  df-clel 2761  df-nfc 2896  df-ne 2938  df-ral 3060  df-rex 3061  df-rab 3064  df-v 3352  df-sbc 3597  df-csb 3692  df-dif 3735  df-un 3737  df-in 3739  df-ss 3746  df-nul 4080  df-if 4244  df-pw 4317  df-sn 4335  df-pr 4337  df-op 4341  df-uni 4595  df-iun 4678  df-br 4810  df-opab 4872  df-mpt 4889  df-id 5185  df-xp 5283  df-rel 5284  df-cnv 5285  df-co 5286  df-dm 5287  df-rn 5288  df-res 5289  df-ima 5290  df-iota 6031  df-fun 6070  df-fn 6071  df-f 6072  df-fv 6076  df-ov 6845  df-oprab 6846  df-mpt2 6847  df-1st 7366  df-2nd 7367  df-unc 7597  df-map 8062
This theorem is referenced by:  curunc  33747  matunitlindflem2  33762
  Copyright terms: Public domain W3C validator