HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem csbie2t 2578
Description: Conversion of implicit substitution to explicit substitution into a class (closed form of csbie2 2579).
Hypotheses
Ref Expression
csbie2g.1 |- A e. _V
csbie2g.2 |- B e. _V
Assertion
Ref Expression
csbie2t |- (A.xA.y((x = A /\ y = B) -> C = D) -> [_A / x]_[_B / y]_C = D)
Distinct variable groups:   x,y,A   x,B,y   x,D,y

Proof of Theorem csbie2t
StepHypRef Expression
1 csbie2g.1 . . 3 |- A e. _V
21isseti 2297 . 2 |- E.x x = A
3 csbie2g.2 . . 3 |- B e. _V
43isseti 2297 . 2 |- E.y y = B
5 hba1 1350 . . . 4 |- (A.xA.y((x = A /\ y = B) -> C = D) -> A.xA.xA.y((x = A /\ y = B) -> C = D))
6 ax-17 1317 . . . . . 6 |- (z e. A -> A.x z e. A)
71, 6hbcsb1 2568 . . . . 5 |- (z e. [_A / x]_[_B / y]_C -> A.x z e. [_A / x]_[_B / y]_C)
8 ax-17 1317 . . . . 5 |- (z e. D -> A.x z e. D)
97, 8hbeq 1995 . . . 4 |- ([_A / x]_[_B / y]_C = D -> A.x[_A / x]_[_B / y]_C = D)
10 hba1 1350 . . . . . 6 |- (A.y((x = A /\ y = B) -> C = D) -> A.yA.y((x = A /\ y = B) -> C = D))
11 ax-17 1317 . . . . . . . . 9 |- (z e. A -> A.y z e. A)
12 ax-17 1317 . . . . . . . . . 10 |- (z e. B -> A.y z e. B)
133, 12hbcsb1 2568 . . . . . . . . 9 |- (z e. [_B / y]_C -> A.y z e. [_B / y]_C)
1411, 13hbcsbg 2569 . . . . . . . 8 |- (A e. _V -> (z e. [_A / x]_[_B / y]_C -> A.y z e. [_A / x]_[_B / y]_C))
151, 14ax-mp 7 . . . . . . 7 |- (z e. [_A / x]_[_B / y]_C -> A.y z e. [_A / x]_[_B / y]_C)
16 ax-17 1317 . . . . . . 7 |- (z e. D -> A.y z e. D)
1715, 16hbeq 1995 . . . . . 6 |- ([_A / x]_[_B / y]_C = D -> A.y[_A / x]_[_B / y]_C = D)
18 csbeq1a 2546 . . . . . . . . . 10 |- (y = B -> C = [_B / y]_C)
19 csbeq1a 2546 . . . . . . . . . 10 |- (x = A -> [_B / y]_C = [_A / x]_[_B / y]_C)
2018, 19sylan9eqr 1951 . . . . . . . . 9 |- ((x = A /\ y = B) -> C = [_A / x]_[_B / y]_C)
21 pm3.43 664 . . . . . . . . 9 |- ((((x = A /\ y = B) -> C = [_A / x]_[_B / y]_C) /\ ((x = A /\ y = B) -> C = D)) -> ((x = A /\ y = B) -> (C = [_A / x]_[_B / y]_C /\ C = D)))
2220, 21mpan 759 . . . . . . . 8 |- (((x = A /\ y = B) -> C = D) -> ((x = A /\ y = B) -> (C = [_A / x]_[_B / y]_C /\ C = D)))
23 eqtr2 1905 . . . . . . . 8 |- ((C = [_A / x]_[_B / y]_C /\ C = D) -> [_A / x]_[_B / y]_C = D)
2422, 23syl6 25 . . . . . . 7 |- (((x = A /\ y = B) -> C = D) -> ((x = A /\ y = B) -> [_A / x]_[_B / y]_C = D))
2524a4s 1330 . . . . . 6 |- (A.y((x = A /\ y = B) -> C = D) -> ((x = A /\ y = B) -> [_A / x]_[_B / y]_C = D))
2610, 17, 2519.23ad 1415 . . . . 5 |- (A.y((x = A /\ y = B) -> C = D) -> (E.y(x = A /\ y = B) -> [_A / x]_[_B / y]_C = D))
2726a4s 1330 . . . 4 |- (A.xA.y((x = A /\ y = B) -> C = D) -> (E.y(x = A /\ y = B) -> [_A / x]_[_B / y]_C = D))
285, 9, 2719.23ad 1415 . . 3 |- (A.xA.y((x = A /\ y = B) -> C = D) -> (E.xE.y(x = A /\ y = B) -> [_A / x]_[_B / y]_C = D))
29 eeanv 1707 . . 3 |- (E.xE.y(x = A /\ y = B) <-> (E.x x = A /\ E.y y = B))
3028, 29syl5ibr 224 . 2 |- (A.xA.y((x = A /\ y = B) -> C = D) -> ((E.x x = A /\ E.y y = B) -> [_A / x]_[_B / y]_C = D))
312, 4, 30mp2ani 764 1 |- (A.xA.y((x = A /\ y = B) -> C = D) -> [_A / x]_[_B / y]_C = D)
Colors of variables: wff set class
Syntax hints:   -> wi 3   /\ wa 240  A.wal 1296   = wceq 1298   e. wcel 1300  E.wex 1326  _Vcvv 2292  [_csb 2540
This theorem is referenced by:  csbie2 2579
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-ex 1327  df-sb 1536  df-clab 1872  df-cleq 1877  df-clel 1880  df-v 2294  df-sbc 2454  df-csb 2541
Copyright terms: Public domain