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

Theorem 1stconst 8138
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-1onto𝐴)

Proof of Theorem 1stconst
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 snnzg 4735 . . 3 (𝐵 ∈ 𝑉 → {𝐵} ≠ ∅)
2 fo1stres 8051 . . 3 ({𝐵} ≠ ∅ → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})⟶onto𝐴)
31, 2syl 18 . 2 (𝐵 ∈ 𝑉 → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})⟶onto𝐴)
4 moeq 3668 . . . . . 6 ∃*𝑥 𝑥 = ⟨𝑦, 𝐵⟩
54moani 2581 . . . . 5 ∃*𝑥(𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)
6 vex 3458 . . . . . . . 8 𝑦 ∈ V
76brresi 5990 . . . . . . 7 (𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ (𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦))
8 fo1st 8045 . . . . . . . . . . 11 1st :V⟶ontoV
9 fofn 6820 . . . . . . . . . . 11 (1st :V⟶ontoV → 1st Fn V)
108, 9ax-mp 5 . . . . . . . . . 10 1st Fn V
11 vex 3458 . . . . . . . . . 10 𝑥 ∈ V
12 fnbrfvb 6958 . . . . . . . . . 10 ((1st Fn V ∧ 𝑥 ∈ V) → ((1st ‘𝑥) = 𝑦 ↔ 𝑥1st 𝑦))
1310, 11, 12mp2an 705 . . . . . . . . 9 ((1st ‘𝑥) = 𝑦 ↔ 𝑥1st 𝑦)
1413anbi2i 635 . . . . . . . 8 ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st ‘𝑥) = 𝑦) ↔ (𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦))
15 elxp7 8060 . . . . . . . . . . 11 (𝑥 ∈ (𝐴 × {𝐵}) ↔ (𝑥 ∈ (V × V) ∧ ((1st ‘𝑥) ∈ 𝐴 ∧ (2nd ‘𝑥) ∈ {𝐵})))
16 eleq1 2852 . . . . . . . . . . . . . . 15 ((1st ‘𝑥) = 𝑦 → ((1st ‘𝑥) ∈ 𝐴 ↔ 𝑦 ∈ 𝐴))
1716biimpac 484 . . . . . . . . . . . . . 14 (((1st ‘𝑥) ∈ 𝐴 ∧ (1st ‘𝑥) = 𝑦) → 𝑦 ∈ 𝐴)
1817adantlr 728 . . . . . . . . . . . . 13 ((((1st ‘𝑥) ∈ 𝐴 ∧ (2nd ‘𝑥) ∈ {𝐵}) ∧ (1st ‘𝑥) = 𝑦) → 𝑦 ∈ 𝐴)
1918adantll 727 . . . . . . . . . . . 12 (((𝑥 ∈ (V × V) ∧ ((1st ‘𝑥) ∈ 𝐴 ∧ (2nd ‘𝑥) ∈ {𝐵})) ∧ (1st ‘𝑥) = 𝑦) → 𝑦 ∈ 𝐴)
20 elsni 4601 . . . . . . . . . . . . . 14 ((2nd ‘𝑥) ∈ {𝐵} → (2nd ‘𝑥) = 𝐵)
21 eqopi 8061 . . . . . . . . . . . . . . 15 ((𝑥 ∈ (V × V) ∧ ((1st ‘𝑥) = 𝑦 ∧ (2nd ‘𝑥) = 𝐵)) → 𝑥 = ⟨𝑦, 𝐵⟩)
2221anass1rs 668 . . . . . . . . . . . . . 14 (((𝑥 ∈ (V × V) ∧ (2nd ‘𝑥) = 𝐵) ∧ (1st ‘𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2320, 22sylanl2 694 . . . . . . . . . . . . 13 (((𝑥 ∈ (V × V) ∧ (2nd ‘𝑥) ∈ {𝐵}) ∧ (1st ‘𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2423adantlrl 733 . . . . . . . . . . . 12 (((𝑥 ∈ (V × V) ∧ ((1st ‘𝑥) ∈ 𝐴 ∧ (2nd ‘𝑥) ∈ {𝐵})) ∧ (1st ‘𝑥) = 𝑦) → 𝑥 = ⟨𝑦, 𝐵⟩)
2519, 24jca 521 . . . . . . . . . . 11 (((𝑥 ∈ (V × V) ∧ ((1st ‘𝑥) ∈ 𝐴 ∧ (2nd ‘𝑥) ∈ {𝐵})) ∧ (1st ‘𝑥) = 𝑦) → (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩))
2615, 25sylanb 593 . . . . . . . . . 10 ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st ‘𝑥) = 𝑦) → (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩))
2726adantl 487 . . . . . . . . 9 ((𝐵 ∈ 𝑉 ∧ (𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st ‘𝑥) = 𝑦)) → (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩))
28 simprr 785 . . . . . . . . . . 11 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑥 = ⟨𝑦, 𝐵⟩)
29 simprl 783 . . . . . . . . . . . 12 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑦 ∈ 𝐴)
30 snidg 4621 . . . . . . . . . . . . 13 (𝐵 ∈ 𝑉 → 𝐵 ∈ {𝐵})
3130adantr 486 . . . . . . . . . . . 12 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → 𝐵 ∈ {𝐵})
3229, 31opelxpd 5694 . . . . . . . . . . 11 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → ⟨𝑦, 𝐵⟩ ∈ (𝐴 × {𝐵}))
3328, 32eqeltrd 2864 . . . . . . . . . 10 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → 𝑥 ∈ (𝐴 × {𝐵}))
3428fveq2d 6912 . . . . . . . . . . 11 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → (1st ‘𝑥) = (1st ‘⟨𝑦, 𝐵⟩))
35 simpl 488 . . . . . . . . . . . 12 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → 𝐵 ∈ 𝑉)
36 op1stg 8037 . . . . . . . . . . . 12 ((𝑦 ∈ 𝐴 ∧ 𝐵 ∈ 𝑉) → (1st ‘⟨𝑦, 𝐵⟩) = 𝑦)
3729, 35, 36syl2anc 596 . . . . . . . . . . 11 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → (1st ‘⟨𝑦, 𝐵⟩) = 𝑦)
3834, 37eqtrd 2798 . . . . . . . . . 10 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → (1st ‘𝑥) = 𝑦)
3933, 38jca 521 . . . . . . . . 9 ((𝐵 ∈ 𝑉 ∧ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)) → (𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st ‘𝑥) = 𝑦))
4027, 39impbida 813 . . . . . . . 8 (𝐵 ∈ 𝑉 → ((𝑥 ∈ (𝐴 × {𝐵}) ∧ (1st ‘𝑥) = 𝑦) ↔ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)))
4114, 40bitr3id 288 . . . . . . 7 (𝐵 ∈ 𝑉 → ((𝑥 ∈ (𝐴 × {𝐵}) ∧ 𝑥1st 𝑦) ↔ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)))
427, 41bitrid 286 . . . . . 6 (𝐵 ∈ 𝑉 → (𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ (𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)))
4342mobidv 2577 . . . . 5 (𝐵 ∈ 𝑉 → (∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦 ↔ ∃*𝑥(𝑦 ∈ 𝐴 ∧ 𝑥 = ⟨𝑦, 𝐵⟩)))
445, 43mpbiri 261 . . . 4 (𝐵 ∈ 𝑉 → ∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
4544alrimiv 1962 . . 3 (𝐵 ∈ 𝑉 → ∀𝑦∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
46 funcnv2 6630 . . 3 (Fun ◡(1st ↾ (𝐴 × {𝐵})) ↔ ∀𝑦∃*𝑥 𝑥(1st ↾ (𝐴 × {𝐵}))𝑦)
4745, 46sylibr 237 . 2 (𝐵 ∈ 𝑉 → Fun ◡(1st ↾ (𝐴 × {𝐵})))
48 dff1o3 6853 . 2 ((1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})⟶1-1onto𝐴 ↔ ((1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})⟶onto𝐴 ∧ Fun ◡(1st ↾ (𝐴 × {𝐵}))))
493, 47, 48sylanbrc 595 1 (𝐵 ∈ 𝑉 → (1st ↾ (𝐴 × {𝐵})):(𝐴 × {𝐵})⟶1-1onto𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1568   = wceq 1570   ∈ wcel 2147  ∃*wmo 2565   ≠ wne 2959  Vcvv 3454  ∅c0 4281  {csn 4588  ⟨cop 4838   class class class wbr 5106   × cxp 5653  ◡ccnv 5654   ↾ cres 5657  Fun wfun 6552   Fn wfn 6553  ⟶ontowfo 6556  ⟶1-1ontowf1o 6557  ‘cfv 6558  1st c1st 8023  2nd c2nd 8024
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5252  ax-nul 5263  ax-pr 5395  ax-un 7775
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6512  df-fun 6560  df-fn 6561  df-f 6562  df-f1 6563  df-fo 6564  df-f1o 6565  df-fv 6566  df-1st 8025  df-2nd 8026
This theorem is used by:  curry2  8145  domss2  9183  fv1stcnv  36719
  Copyright terms: Public domain W3C validator