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

Theorem sbcom 1632
Description: A commutativity law for substitution.
Assertion
Ref Expression
sbcom |- ([y / z][y / x]ph <-> [y / x][y / z]ph)

Proof of Theorem sbcom
StepHypRef Expression
1 drsb1 1539 . . . . . 6 |- (A.x x = z -> ([y / x][y / x]ph <-> [y / z][y / x]ph))
2 hbae 1505 . . . . . . 7 |- (A.x x = z -> A.xA.x x = z)
3 drsb1 1539 . . . . . . 7 |- (A.x x = z -> ([y / x]ph <-> [y / z]ph))
42, 3sbbid 1617 . . . . . 6 |- (A.x x = z -> ([y / x][y / x]ph <-> [y / x][y / z]ph))
51, 4bitr3d 589 . . . . 5 |- (A.x x = z -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
65adantr 425 . . . 4 |- ((A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
7 hbnae 1507 . . . . . . . . 9 |- (-. A.x x = z -> A.z -. A.x x = z)
8 hbnae 1507 . . . . . . . . 9 |- (-. A.x x = y -> A.z -. A.x x = y)
97, 8hban 1356 . . . . . . . 8 |- ((-. A.x x = z /\ -. A.x x = y) -> A.z(-. A.x x = z /\ -. A.x x = y))
10 hbnae 1507 . . . . . . . . . 10 |- (-. A.x x = z -> A.x -. A.x x = z)
11 hbnae 1507 . . . . . . . . . 10 |- (-. A.x x = y -> A.x -. A.x x = y)
1210, 11hban 1356 . . . . . . . . 9 |- ((-. A.x x = z /\ -. A.x x = y) -> A.x(-. A.x x = z /\ -. A.x x = y))
13 ax-12 1310 . . . . . . . . . . 11 |- (-. A.x x = z -> (-. A.x x = y -> (z = y -> A.x z = y)))
1413imp 377 . . . . . . . . . 10 |- ((-. A.x x = z /\ -. A.x x = y) -> (z = y -> A.x z = y))
1514alimi 1338 . . . . . . . . 9 |- (A.x(-. A.x x = z /\ -. A.x x = y) -> A.x(z = y -> A.x z = y))
16 19.21t 1473 . . . . . . . . 9 |- (A.x(z = y -> A.x z = y) -> (A.x(z = y -> (x = y -> ph)) <-> (z = y -> A.x(x = y -> ph))))
1712, 15, 163syl 24 . . . . . . . 8 |- ((-. A.x x = z /\ -. A.x x = y) -> (A.x(z = y -> (x = y -> ph)) <-> (z = y -> A.x(x = y -> ph))))
189, 17albid 1459 . . . . . . 7 |- ((-. A.x x = z /\ -. A.x x = y) -> (A.zA.x(z = y -> (x = y -> ph)) <-> A.z(z = y -> A.x(x = y -> ph))))
1918adantrr 431 . . . . . 6 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> (A.zA.x(z = y -> (x = y -> ph)) <-> A.z(z = y -> A.x(x = y -> ph))))
20 hbnae 1507 . . . . . . . . . 10 |- (-. A.z z = y -> A.x -. A.z z = y)
2110, 20hban 1356 . . . . . . . . 9 |- ((-. A.x x = z /\ -. A.z z = y) -> A.x(-. A.x x = z /\ -. A.z z = y))
22 hbnae 1507 . . . . . . . . . . . 12 |- (-. A.z z = y -> A.z -. A.z z = y)
237, 22hban 1356 . . . . . . . . . . 11 |- ((-. A.x x = z /\ -. A.z z = y) -> A.z(-. A.x x = z /\ -. A.z z = y))
24 ax-12 1310 . . . . . . . . . . . . . 14 |- (-. A.z z = x -> (-. A.z z = y -> (x = y -> A.z x = y)))
2524nalequcoms 1504 . . . . . . . . . . . . 13 |- (-. A.x x = z -> (-. A.z z = y -> (x = y -> A.z x = y)))
2625imp 377 . . . . . . . . . . . 12 |- ((-. A.x x = z /\ -. A.z z = y) -> (x = y -> A.z x = y))
2726alimi 1338 . . . . . . . . . . 11 |- (A.z(-. A.x x = z /\ -. A.z z = y) -> A.z(x = y -> A.z x = y))
28 19.21t 1473 . . . . . . . . . . 11 |- (A.z(x = y -> A.z x = y) -> (A.z(x = y -> (z = y -> ph)) <-> (x = y -> A.z(z = y -> ph))))
2923, 27, 283syl 24 . . . . . . . . . 10 |- ((-. A.x x = z /\ -. A.z z = y) -> (A.z(x = y -> (z = y -> ph)) <-> (x = y -> A.z(z = y -> ph))))
30 bi2.04 177 . . . . . . . . . . 11 |- ((z = y -> (x = y -> ph)) <-> (x = y -> (z = y -> ph)))
3130albii 1346 . . . . . . . . . 10 |- (A.z(z = y -> (x = y -> ph)) <-> A.z(x = y -> (z = y -> ph)))
3229, 31syl5bb 591 . . . . . . . . 9 |- ((-. A.x x = z /\ -. A.z z = y) -> (A.z(z = y -> (x = y -> ph)) <-> (x = y -> A.z(z = y -> ph))))
3321, 32albid 1459 . . . . . . . 8 |- ((-. A.x x = z /\ -. A.z z = y) -> (A.xA.z(z = y -> (x = y -> ph)) <-> A.x(x = y -> A.z(z = y -> ph))))
34 alcom 1379 . . . . . . . 8 |- (A.zA.x(z = y -> (x = y -> ph)) <-> A.xA.z(z = y -> (x = y -> ph)))
3533, 34syl5bb 591 . . . . . . 7 |- ((-. A.x x = z /\ -. A.z z = y) -> (A.zA.x(z = y -> (x = y -> ph)) <-> A.x(x = y -> A.z(z = y -> ph))))
3635adantrl 430 . . . . . 6 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> (A.zA.x(z = y -> (x = y -> ph)) <-> A.x(x = y -> A.z(z = y -> ph))))
3719, 36bitr3d 589 . . . . 5 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> (A.z(z = y -> A.x(x = y -> ph)) <-> A.x(x = y -> A.z(z = y -> ph))))
38 sb4b 1594 . . . . . . 7 |- (-. A.z z = y -> ([y / z][y / x]ph <-> A.z(z = y -> [y / x]ph)))
39 sb4b 1594 . . . . . . . . 9 |- (-. A.x x = y -> ([y / x]ph <-> A.x(x = y -> ph)))
4039imbi2d 674 . . . . . . . 8 |- (-. A.x x = y -> ((z = y -> [y / x]ph) <-> (z = y -> A.x(x = y -> ph))))
418, 40albid 1459 . . . . . . 7 |- (-. A.x x = y -> (A.z(z = y -> [y / x]ph) <-> A.z(z = y -> A.x(x = y -> ph))))
4238, 41sylan9bbr 600 . . . . . 6 |- ((-. A.x x = y /\ -. A.z z = y) -> ([y / z][y / x]ph <-> A.z(z = y -> A.x(x = y -> ph))))
4342adantl 424 . . . . 5 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> ([y / z][y / x]ph <-> A.z(z = y -> A.x(x = y -> ph))))
44 sb4b 1594 . . . . . . 7 |- (-. A.x x = y -> ([y / x][y / z]ph <-> A.x(x = y -> [y / z]ph)))
45 sb4b 1594 . . . . . . . . 9 |- (-. A.z z = y -> ([y / z]ph <-> A.z(z = y -> ph)))
4645imbi2d 674 . . . . . . . 8 |- (-. A.z z = y -> ((x = y -> [y / z]ph) <-> (x = y -> A.z(z = y -> ph))))
4720, 46albid 1459 . . . . . . 7 |- (-. A.z z = y -> (A.x(x = y -> [y / z]ph) <-> A.x(x = y -> A.z(z = y -> ph))))
4844, 47sylan9bb 599 . . . . . 6 |- ((-. A.x x = y /\ -. A.z z = y) -> ([y / x][y / z]ph <-> A.x(x = y -> A.z(z = y -> ph))))
4948adantl 424 . . . . 5 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> ([y / x][y / z]ph <-> A.x(x = y -> A.z(z = y -> ph))))
5037, 43, 493bitr4d 609 . . . 4 |- ((-. A.x x = z /\ (-. A.x x = y /\ -. A.z z = y)) -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
516, 50pm2.61ian 534 . . 3 |- ((-. A.x x = y /\ -. A.z z = y) -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
5251ex 402 . 2 |- (-. A.x x = y -> (-. A.z z = y -> ([y / z][y / x]ph <-> [y / x][y / z]ph)))
53 hbae 1505 . . . 4 |- (A.x x = y -> A.zA.x x = y)
54 sbequ12 1545 . . . . 5 |- (x = y -> (ph <-> [y / x]ph))
5554a4s 1330 . . . 4 |- (A.x x = y -> (ph <-> [y / x]ph))
5653, 55sbbid 1617 . . 3 |- (A.x x = y -> ([y / z]ph <-> [y / z][y / x]ph))
57 sbequ12 1545 . . . 4 |- (x = y -> ([y / z]ph <-> [y / x][y / z]ph))
5857a4s 1330 . . 3 |- (A.x x = y -> ([y / z]ph <-> [y / x][y / z]ph))
5956, 58bitr3d 589 . 2 |- (A.x x = y -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
60 sbequ12 1545 . . . 4 |- (z = y -> ([y / x]ph <-> [y / z][y / x]ph))
6160a4s 1330 . . 3 |- (A.z z = y -> ([y / x]ph <-> [y / z][y / x]ph))
62 hbae 1505 . . . 4 |- (A.z z = y -> A.xA.z z = y)
63 sbequ12 1545 . . . . 5 |- (z = y -> (ph <-> [y / z]ph))
6463a4s 1330 . . . 4 |- (A.z z = y -> (ph <-> [y / z]ph))
6562, 64sbbid 1617 . . 3 |- (A.z z = y -> ([y / x]ph <-> [y / x][y / z]ph))
6661, 65bitr3d 589 . 2 |- (A.z z = y -> ([y / z][y / x]ph <-> [y / x][y / z]ph))
6752, 59, 66pm2.61ii 144 1 |- ([y / z][y / x]ph <-> [y / x][y / z]ph)
Colors of variables: wff set class
Syntax hints:  -. wn 2   -> wi 3   <-> wb 163   /\ wa 240  A.wal 1296  [wsbc 1534
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-10 1308  ax-12 1310  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-11o 1588
This theorem depends on definitions:  df-bi 164  df-an 242  df-ex 1327  df-sb 1536
Copyright terms: Public domain