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

Theorem cbvmptfg 5212
Description: Rule to change the bound variable in a maps-to function, using implicit substitution. This version has bound-variable hypotheses in place of distinct variable conditions. Usage of this theorem is discouraged because it depends on ax-13 2404. See cbvmptf 5211 for a version with more disjoint variable conditions, but not requiring ax-13 2404. (Contributed by NM, 11-Sep-2011.) (Revised by Thierry Arnoux, 9-Mar-2017.) (New usage is discouraged.)
Hypotheses
Ref Expression
cbvmptfg.1 Ⅎ𝑥𝐴
cbvmptfg.2 Ⅎ𝑦𝐴
cbvmptfg.3 Ⅎ𝑦𝐵
cbvmptfg.4 Ⅎ𝑥𝐶
cbvmptfg.5 (𝑥 = 𝑦 → 𝐵 = 𝐶)
Assertion
Ref Expression
cbvmptfg (𝑥 ∈ 𝐴 ↦ 𝐵) = (𝑦 ∈ 𝐴 ↦ 𝐶)

Proof of Theorem cbvmptfg
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nfv 1949 . . . 4 Ⅎ𝑤(𝑥 ∈ 𝐴 ∧ 𝑧 = 𝐵)
2 cbvmptfg.1 . . . . . 6 Ⅎ𝑥𝐴
32nfcri 2918 . . . . 5 Ⅎ𝑥 𝑤 ∈ 𝐴
4 nfs1v 2196 . . . . 5 Ⅎ𝑥[𝑤 / 𝑥]𝑧 = 𝐵
53, 4nfan 1934 . . . 4 Ⅎ𝑥(𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)
6 eleq1w 2847 . . . . 5 (𝑥 = 𝑤 → (𝑥 ∈ 𝐴 ↔ 𝑤 ∈ 𝐴))
7 sbequ12 2290 . . . . 5 (𝑥 = 𝑤 → (𝑧 = 𝐵 ↔ [𝑤 / 𝑥]𝑧 = 𝐵))
86, 7anbi12d 644 . . . 4 (𝑥 = 𝑤 → ((𝑥 ∈ 𝐴 ∧ 𝑧 = 𝐵) ↔ (𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)))
91, 5, 8cbvopab1g 5186 . . 3 {⟨𝑥, 𝑧⟩ ∣ (𝑥 ∈ 𝐴 ∧ 𝑧 = 𝐵)} = {⟨𝑤, 𝑧⟩ ∣ (𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)}
10 cbvmptfg.2 . . . . . 6 Ⅎ𝑦𝐴
1110nfcri 2918 . . . . 5 Ⅎ𝑦 𝑤 ∈ 𝐴
12 cbvmptfg.3 . . . . . . 7 Ⅎ𝑦𝐵
1312nfeq2 2943 . . . . . 6 Ⅎ𝑦 𝑧 = 𝐵
1413nfsb 2555 . . . . 5 Ⅎ𝑦[𝑤 / 𝑥]𝑧 = 𝐵
1511, 14nfan 1934 . . . 4 Ⅎ𝑦(𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)
16 nfv 1949 . . . 4 Ⅎ𝑤(𝑦 ∈ 𝐴 ∧ 𝑧 = 𝐶)
17 eleq1w 2847 . . . . 5 (𝑤 = 𝑦 → (𝑤 ∈ 𝐴 ↔ 𝑦 ∈ 𝐴))
18 sbequ 2122 . . . . . 6 (𝑤 = 𝑦 → ([𝑤 / 𝑥]𝑧 = 𝐵 ↔ [𝑦 / 𝑥]𝑧 = 𝐵))
19 cbvmptfg.4 . . . . . . . 8 Ⅎ𝑥𝐶
2019nfeq2 2943 . . . . . . 7 Ⅎ𝑥 𝑧 = 𝐶
21 cbvmptfg.5 . . . . . . . 8 (𝑥 = 𝑦 → 𝐵 = 𝐶)
2221eqeq2d 2774 . . . . . . 7 (𝑥 = 𝑦 → (𝑧 = 𝐵 ↔ 𝑧 = 𝐶))
2320, 22sbie 2534 . . . . . 6 ([𝑦 / 𝑥]𝑧 = 𝐵 ↔ 𝑧 = 𝐶)
2418, 23bitrdi 290 . . . . 5 (𝑤 = 𝑦 → ([𝑤 / 𝑥]𝑧 = 𝐵 ↔ 𝑧 = 𝐶))
2517, 24anbi12d 644 . . . 4 (𝑤 = 𝑦 → ((𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵) ↔ (𝑦 ∈ 𝐴 ∧ 𝑧 = 𝐶)))
2615, 16, 25cbvopab1g 5186 . . 3 {⟨𝑤, 𝑧⟩ ∣ (𝑤 ∈ 𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)} = {⟨𝑦, 𝑧⟩ ∣ (𝑦 ∈ 𝐴 ∧ 𝑧 = 𝐶)}
279, 26eqtri 2786 . 2 {⟨𝑥, 𝑧⟩ ∣ (𝑥 ∈ 𝐴 ∧ 𝑧 = 𝐵)} = {⟨𝑦, 𝑧⟩ ∣ (𝑦 ∈ 𝐴 ∧ 𝑧 = 𝐶)}
28 df-mpt 5193 . 2 (𝑥 ∈ 𝐴 ↦ 𝐵) = {⟨𝑥, 𝑧⟩ ∣ (𝑥 ∈ 𝐴 ∧ 𝑧 = 𝐵)}
29 df-mpt 5193 . 2 (𝑦 ∈ 𝐴 ↦ 𝐶) = {⟨𝑦, 𝑧⟩ ∣ (𝑦 ∈ 𝐴 ∧ 𝑧 = 𝐶)}
3027, 28, 293eqtr4i 2796 1 (𝑥 ∈ 𝐴 ↦ 𝐵) = (𝑦 ∈ 𝐴 ↦ 𝐶)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570  [wsb 2101   ∈ wcel 2147  Ⅎwnfc 2911  {copab 5173   ↦ cmpt 5192
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-13 2404  ax-ext 2735
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-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-rab 3417  df-v 3456  df-ss 3901  df-dif 4050  df-un 4154  df-nul 4282  df-if 4486  df-sn 4589  df-pr 4591  df-op 4841  df-opab 5174  df-mpt 5193
This theorem is used by:  cbvmptg  5214
  Copyright terms: Public domain W3C validator