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

Theorem cbvmptfg 5258
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 2371. See cbvmptf 5257 for a version with more disjoint variable conditions, but not requiring ax-13 2371. (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 1917 . . . 4 𝑤(𝑥𝐴𝑧 = 𝐵)
2 cbvmptfg.1 . . . . . 6 𝑥𝐴
32nfcri 2890 . . . . 5 𝑥 𝑤𝐴
4 nfs1v 2153 . . . . 5 𝑥[𝑤 / 𝑥]𝑧 = 𝐵
53, 4nfan 1902 . . . 4 𝑥(𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)
6 eleq1w 2816 . . . . 5 (𝑥 = 𝑤 → (𝑥𝐴𝑤𝐴))
7 sbequ12 2243 . . . . 5 (𝑥 = 𝑤 → (𝑧 = 𝐵 ↔ [𝑤 / 𝑥]𝑧 = 𝐵))
86, 7anbi12d 631 . . . 4 (𝑥 = 𝑤 → ((𝑥𝐴𝑧 = 𝐵) ↔ (𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)))
91, 5, 8cbvopab1g 5224 . . 3 {⟨𝑥, 𝑧⟩ ∣ (𝑥𝐴𝑧 = 𝐵)} = {⟨𝑤, 𝑧⟩ ∣ (𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)}
10 cbvmptfg.2 . . . . . 6 𝑦𝐴
1110nfcri 2890 . . . . 5 𝑦 𝑤𝐴
12 cbvmptfg.3 . . . . . . 7 𝑦𝐵
1312nfeq2 2920 . . . . . 6 𝑦 𝑧 = 𝐵
1413nfsb 2522 . . . . 5 𝑦[𝑤 / 𝑥]𝑧 = 𝐵
1511, 14nfan 1902 . . . 4 𝑦(𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)
16 nfv 1917 . . . 4 𝑤(𝑦𝐴𝑧 = 𝐶)
17 eleq1w 2816 . . . . 5 (𝑤 = 𝑦 → (𝑤𝐴𝑦𝐴))
18 sbequ 2086 . . . . . 6 (𝑤 = 𝑦 → ([𝑤 / 𝑥]𝑧 = 𝐵 ↔ [𝑦 / 𝑥]𝑧 = 𝐵))
19 cbvmptfg.4 . . . . . . . 8 𝑥𝐶
2019nfeq2 2920 . . . . . . 7 𝑥 𝑧 = 𝐶
21 cbvmptfg.5 . . . . . . . 8 (𝑥 = 𝑦𝐵 = 𝐶)
2221eqeq2d 2743 . . . . . . 7 (𝑥 = 𝑦 → (𝑧 = 𝐵𝑧 = 𝐶))
2320, 22sbie 2501 . . . . . 6 ([𝑦 / 𝑥]𝑧 = 𝐵𝑧 = 𝐶)
2418, 23bitrdi 286 . . . . 5 (𝑤 = 𝑦 → ([𝑤 / 𝑥]𝑧 = 𝐵𝑧 = 𝐶))
2517, 24anbi12d 631 . . . 4 (𝑤 = 𝑦 → ((𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵) ↔ (𝑦𝐴𝑧 = 𝐶)))
2615, 16, 25cbvopab1g 5224 . . 3 {⟨𝑤, 𝑧⟩ ∣ (𝑤𝐴 ∧ [𝑤 / 𝑥]𝑧 = 𝐵)} = {⟨𝑦, 𝑧⟩ ∣ (𝑦𝐴𝑧 = 𝐶)}
279, 26eqtri 2760 . 2 {⟨𝑥, 𝑧⟩ ∣ (𝑥𝐴𝑧 = 𝐵)} = {⟨𝑦, 𝑧⟩ ∣ (𝑦𝐴𝑧 = 𝐶)}
28 df-mpt 5232 . 2 (𝑥𝐴𝐵) = {⟨𝑥, 𝑧⟩ ∣ (𝑥𝐴𝑧 = 𝐵)}
29 df-mpt 5232 . 2 (𝑦𝐴𝐶) = {⟨𝑦, 𝑧⟩ ∣ (𝑦𝐴𝑧 = 𝐶)}
3027, 28, 293eqtr4i 2770 1 (𝑥𝐴𝐵) = (𝑦𝐴𝐶)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1541  [wsb 2067  wcel 2106  wnfc 2883  {copab 5210  cmpt 5231
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-13 2371  ax-ext 2703
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-rab 3433  df-v 3476  df-dif 3951  df-un 3953  df-in 3955  df-ss 3965  df-nul 4323  df-if 4529  df-sn 4629  df-pr 4631  df-op 4635  df-opab 5211  df-mpt 5232
This theorem is referenced by:  cbvmptg  5260
  Copyright terms: Public domain W3C validator