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

Theorem 1stconst 8050
Description: The mapping of a restriction of the 1st function to a constant function. (Contributed by NM, 14-Dec-2008.) (Proof shortened by Peter Mazsa, 2-Oct-2022.)
Assertion
Ref Expression
1stconst (𝐵𝑉 → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–1-1-onto𝐴)

Proof of Theorem 1stconst
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 snnzg 4719 . . 3 (𝐵𝑉 → {𝐵} ≠ ∅)
2 fo1stres 7968 . . 3 ({𝐵} ≠ ∅ → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–onto𝐴)
31, 2syl 17 . 2 (𝐵𝑉 → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–onto𝐴)
4 moeq 3654 . . . . . 6 ∃*𝑥 𝑥 = ⟨𝑦, 𝐵
54moani 2554 . . . . 5 ∃*𝑥(𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)
6 vex 3434 . . . . . . . 8 𝑦 ∈ V
76brresi 5954 . . . . . . 7 (𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ (𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦))
8 fo1st 7962 . . . . . . . . . . 11 1st :V–onto→V
9 fofn 6755 . . . . . . . . . . 11 (1st :V–onto→V → 1st Fn V)
108, 9ax-mp 5 . . . . . . . . . 10 1st Fn V
11 vex 3434 . . . . . . . . . 10 𝑥 ∈ V
12 fnbrfvb 6891 . . . . . . . . . 10 ((1st Fn V ∧ 𝑥 ∈ V) → ((1st𝑥) = 𝑦𝑥1st 𝑦))
1310, 11, 12mp2an 693 . . . . . . . . 9 ((1st𝑥) = 𝑦𝑥1st 𝑦)
1413anbi2i 624 . . . . . . . 8 ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st𝑥) = 𝑦) ↔ (𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦))
15 elxp7 7977 . . . . . . . . . . 11 (𝑥 ∈ (𝐴 × {𝐵}) ↔ (𝑥 ∈ (V × V) ∧ ((1st𝑥) ∈ 𝐴 ∧ (2nd𝑥) ∈ {𝐵})))
16 eleq1 2825 . . . . . . . . . . . . . . 15 ((1st𝑥) = 𝑦 → ((1st𝑥) ∈ 𝐴𝑦𝐴))
1716biimpac 478 . . . . . . . . . . . . . 14 (((1st𝑥) ∈ 𝐴 ∧ (1st𝑥) = 𝑦) → 𝑦𝐴)
1817adantlr 716 . . . . . . . . . . . . 13 ((((1st𝑥) ∈ 𝐴 ∧ (2nd𝑥) ∈ {𝐵}) ∧ (1st𝑥) = 𝑦) → 𝑦𝐴)
1918adantll 715 . . . . . . . . . . . 12 (((𝑥 ∈ (V × V) ∧ ((1st𝑥) ∈ 𝐴 ∧ (2nd𝑥) ∈ {𝐵})) ∧ (1st𝑥) = 𝑦) → 𝑦𝐴)
20 elsni 4585 . . . . . . . . . . . . . 14 ((2nd𝑥) ∈ {𝐵} → (2nd𝑥) = 𝐵)
21 eqopi 7978 . . . . . . . . . . . . . . 15 ((𝑥 ∈ (V × V) ∧ ((1st𝑥) = 𝑦 ∧ (2nd𝑥) = 𝐵)) → 𝑥 = ⟨𝑦, 𝐵⟩)
2221anass1rs 656 . . . . . . . . . . . . . 14 (((𝑥 ∈ (V × V) ∧ (2nd𝑥) = 𝐵) ∧ (1st𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2320, 22sylanl2 682 . . . . . . . . . . . . 13 (((𝑥 ∈ (V × V) ∧ (2nd𝑥) ∈ {𝐵}) ∧ (1st𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2423adantlrl 721 . . . . . . . . . . . 12 (((𝑥 ∈ (V × V) ∧ ((1st𝑥) ∈ 𝐴 ∧ (2nd𝑥) ∈ {𝐵})) ∧ (1st𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2519, 24jca 511 . . . . . . . . . . 11 (((𝑥 ∈ (V × V) ∧ ((1st𝑥) ∈ 𝐴 ∧ (2nd𝑥) ∈ {𝐵})) ∧ (1st𝑥) = 𝑦) → (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩))
2615, 25sylanb 582 . . . . . . . . . 10 ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st𝑥) = 𝑦) → (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩))
2726adantl 481 . . . . . . . . 9 ((𝐵𝑉 ∧ (𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st𝑥) = 𝑦)) → (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩))
28 simprr 773 . . . . . . . . . . 11 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑥 = ⟨𝑦, 𝐵⟩)
29 simprl 771 . . . . . . . . . . . 12 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑦𝐴)
30 snidg 4605 . . . . . . . . . . . . 13 (𝐵𝑉𝐵 ∈ {𝐵})
3130adantr 480 . . . . . . . . . . . 12 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → 𝐵 ∈ {𝐵})
3229, 31opelxpd 5670 . . . . . . . . . . 11 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → ⟨𝑦, 𝐵⟩ ∈ (𝐴 × {𝐵}))
3328, 32eqeltrd 2837 . . . . . . . . . 10 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑥 ∈ (𝐴 × {𝐵}))
3428fveq2d 6845 . . . . . . . . . . 11 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → (1st𝑥) = (1st ‘⟨𝑦, 𝐵⟩))
35 simpl 482 . . . . . . . . . . . 12 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → 𝐵𝑉)
36 op1stg 7954 . . . . . . . . . . . 12 ((𝑦𝐴𝐵𝑉) → (1st ‘⟨𝑦, 𝐵⟩) = 𝑦)
3729, 35, 36syl2anc 585 . . . . . . . . . . 11 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → (1st ‘⟨𝑦, 𝐵⟩) = 𝑦)
3834, 37eqtrd 2772 . . . . . . . . . 10 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → (1st𝑥) = 𝑦)
3933, 38jca 511 . . . . . . . . 9 ((𝐵𝑉 ∧ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)) → (𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st𝑥) = 𝑦))
4027, 39impbida 801 . . . . . . . 8 (𝐵𝑉 → ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st𝑥) = 𝑦) ↔ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)))
4114, 40bitr3id 285 . . . . . . 7 (𝐵𝑉 → ((𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦) ↔ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)))
427, 41bitrid 283 . . . . . 6 (𝐵𝑉 → (𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ (𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)))
4342mobidv 2550 . . . . 5 (𝐵𝑉 → (∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ ∃*𝑥(𝑦𝐴𝑥 = ⟨𝑦, 𝐵⟩)))
445, 43mpbiri 258 . . . 4 (𝐵𝑉 → ∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
4544alrimiv 1929 . . 3 (𝐵𝑉 → ∀𝑦∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
46 funcnv2 6567 . . 3 (Fun (1st ↾ (𝐴 × {𝐵})) ↔ ∀𝑦∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
4745, 46sylibr 234 . 2 (𝐵𝑉 → Fun (1st ↾ (𝐴 × {𝐵})))
48 dff1o3 6787 . 2 ((1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–1-1-onto𝐴 ↔ ((1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–onto𝐴 ∧ Fun (1st ↾ (𝐴 × {𝐵}))))
493, 47, 48sylanbrc 584 1 (𝐵𝑉 → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})–1-1-onto𝐴)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540   = wceq 1542  wcel 2114  ∃*wmo 2538  wne 2933  Vcvv 3430  c0 4274  {csn 4568  cop 4574   class class class wbr 5086   × cxp 5629  ccnv 5630  cres 5633  Fun wfun 6493   Fn wfn 6494  ontowfo 6497  1-1-ontowf1o 6498  cfv 6499  1st c1st 7940  2nd c2nd 7941
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5232  ax-nul 5242  ax-pr 5376  ax-un 7689
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4275  df-if 4468  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-id 5526  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-iota 6455  df-fun 6501  df-fn 6502  df-f 6503  df-f1 6504  df-fo 6505  df-f1o 6506  df-fv 6507  df-1st 7942  df-2nd 7943
This theorem is referenced by:  curry2  8057  domss2  9074  fv1stcnv  35959
  Copyright terms: Public domain W3C validator