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

Theorem cbvoprab12 3028
Description: Rule used to change first two bound variables in an operation abstraction, using implicit substitution.
Hypotheses
Ref Expression
cbvoprab12.1 |- (ph -> A.wph)
cbvoprab12.2 |- (ph -> A.vph)
cbvoprab12.3 |- (ps -> A.xps)
cbvoprab12.4 |- (ps -> A.yps)
cbvoprab12.5 |- ((x = w /\ y = v) -> (ph <-> ps))
Assertion
Ref Expression
cbvoprab12 |- {<.<.x, y>., z>. | ph} = {<.<.w, v>., z>. | ps}
Distinct variable group(s):   x,y,z,w,v

Proof of Theorem cbvoprab12
StepHypRef Expression
1 ax-17 925 . . . . . 6 |- (u = <.<.x, y>., z>. -> A.w u = <.<.x, y>., z>.)
2 cbvoprab12.1 . . . . . 6 |- (ph -> A.wph)
31, 2hban 704 . . . . 5 |- ((u = <.<.x, y>., z>. /\ ph) -> A.w(u = <.<.x, y>., z>. /\ ph))
43hbex 701 . . . 4 |- (E.z(u = <.<.x, y>., z>. /\ ph) -> A.wE.z(u = <.<.x, y>., z>. /\ ph))
5 ax-17 925 . . . . . 6 |- (u = <.<.x, y>., z>. -> A.v u = <.<.x, y>., z>.)
6 cbvoprab12.2 . . . . . 6 |- (ph -> A.vph)
75, 6hban 704 . . . . 5 |- ((u = <.<.x, y>., z>. /\ ph) -> A.v(u = <.<.x, y>., z>. /\ ph))
87hbex 701 . . . 4 |- (E.z(u = <.<.x, y>., z>. /\ ph) -> A.vE.z(u = <.<.x, y>., z>. /\ ph))
9 ax-17 925 . . . . . 6 |- (u = <.<.w, v>., z>. -> A.x u = <.<.w, v>., z>.)
10 cbvoprab12.3 . . . . . 6 |- (ps -> A.xps)
119, 10hban 704 . . . . 5 |- ((u = <.<.w, v>., z>. /\ ps) -> A.x(u = <.<.w, v>., z>. /\ ps))
1211hbex 701 . . . 4 |- (E.z(u = <.<.w, v>., z>. /\ ps) -> A.xE.z(u = <.<.w, v>., z>. /\ ps))
13 ax-17 925 . . . . . 6 |- (u = <.<.w, v>., z>. -> A.y u = <.<.w, v>., z>.)
14 cbvoprab12.4 . . . . . 6 |- (ps -> A.yps)
1513, 14hban 704 . . . . 5 |- ((u = <.<.w, v>., z>. /\ ps) -> A.y(u = <.<.w, v>., z>. /\ ps))
1615hbex 701 . . . 4 |- (E.z(u = <.<.w, v>., z>. /\ ps) -> A.yE.z(u = <.<.w, v>., z>. /\ ps))
17 opeq12 1878 . . . . . . . 8 |- ((x = w /\ y = v) -> <.x, y>. = <.w, v>.)
18 opeq1 1876 . . . . . . . 8 |- (<.x, y>. = <.w, v>. -> <.<.x, y>., z>. = <.<.w, v>., z>.)
1917, 18syl 12 . . . . . . 7 |- ((x = w /\ y = v) -> <.<.x, y>., z>. = <.<.w, v>., z>.)
2019cleq2d 1112 . . . . . 6 |- ((x = w /\ y = v) -> (u = <.<.x, y>., z>. <-> u = <.<.w, v>., z>.))
21 cbvoprab12.5 . . . . . 6 |- ((x = w /\ y = v) -> (ph <-> ps))
2220, 21anbi12d 476 . . . . 5 |- ((x = w /\ y = v) -> ((u = <.<.x, y>., z>. /\ ph) <-> (u = <.<.w, v>., z>. /\ ps)))
2322biexdv 936 . . . 4 |- ((x = w /\ y = v) -> (E.z(u = <.<.x, y>., z>. /\ ph) <-> E.z(u = <.<.w, v>., z>. /\ ps)))
244, 8, 12, 16, 23cbvex2 975 . . 3 |- (E.xE.yE.z(u = <.<.x, y>., z>. /\ ph) <-> E.wE.vE.z(u = <.<.w, v>., z>. /\ ps))
2524biabi 1181 . 2 |- {u | E.xE.yE.z(u = <.<.x, y>., z>. /\ ph)} = {u | E.wE.vE.z(u = <.<.w, v>., z>. /\ ps)}
26 df-oprab 3004 . 2 |- {<.<.x, y>., z>. | ph} = {u | E.xE.yE.z(u = <.<.x, y>., z>. /\ ph)}
27 df-oprab 3004 . 2 |- {<.<.w, v>., z>. | ps} = {u | E.wE.vE.z(u = <.<.w, v>., z>. /\ ps)}
2825, 26, 273eqtr4 1126 1 |- {<.<.x, y>., z>. | ph} = {<.<.w, v>., z>. | ps}
Colors of variables: wff set class
Syntax hints:   -> wi 2   <-> wb 127   /\ wa 196  A.wal 672  E.wex 678   = weq 797  {cab 1090   = wceq 1091  <.cop 1810  {copab2 3002
This theorem is referenced by:  cbvoprab12v 3029  oprabval4g 3053
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-16 922  ax-17 925  ax-ext 1074
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-ex 679  df-sb 853  df-clab 1093  df-cleq 1097  df-clel 1099  df-v 1349  df-un 1490  df-sn 1811  df-pr 1812  df-op 1815  df-oprab 3004
metamath.org