MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  df-selv Structured version   Visualization version   Unicode version

Definition df-selv 19543
Description: Define the "variable selection" function. The function  ( (
I selectVars  R ) `  J
) maps elements of  ( I mPoly  R ) bijectively onto  ( J mPoly  ( ( I  \  J ) mPoly 
R ) ) in the natural way, for example if  I  =  { x ,  y } and  J  =  { y } it would map  1  +  x  +  y  +  x
y  e.  ( { x ,  y } mPoly 
ZZ ) to  ( 1  +  x )  +  ( 1  +  x ) y  e.  ( { y } mPoly  ( {
x } mPoly  ZZ )
). This, for example, allows one to treat a multivariate polynomial as a univariate polynomial with coefficients in a polynomial ring with one less variable. (Contributed by Mario Carneiro, 21-Mar-2015.)
Assertion
Ref Expression
df-selv  |- selectVars  =  ( i  e.  _V , 
r  e.  _V  |->  ( j  e.  ~P i  |->  ( f  e.  ( i mPoly  r )  |->  [_ ( ( i  \ 
j ) mPoly  r )  /  s ]_ [_ (
x  e.  (Scalar `  s )  |->  ( x ( .s `  s
) ( 1r `  s ) ) )  /  c ]_ (
( ( ( i evalSub 
s ) `  (
c  "s  r ) ) `  ( c  o.  f
) ) `  (
x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  ( ( i  \ 
j ) mPoly  r ) ) `  x ) ,  ( c  o.  ( ( ( i 
\  j ) mVar  r
) `  x )
) ) ) ) ) ) )
Distinct variable group:    f, c, i, j, r, s, x

Detailed syntax breakdown of Definition df-selv
StepHypRef Expression
1 cslv 19539 . 2  class selectVars
2 vi . . 3  setvar  i
3 vr . . 3  setvar  r
4 cvv 3200 . . 3  class  _V
5 vj . . . 4  setvar  j
62cv 1482 . . . . 5  class  i
76cpw 4158 . . . 4  class  ~P i
8 vf . . . . 5  setvar  f
93cv 1482 . . . . . 6  class  r
10 cmpl 19353 . . . . . 6  class mPoly
116, 9, 10co 6650 . . . . 5  class  ( i mPoly 
r )
12 vs . . . . . 6  setvar  s
135cv 1482 . . . . . . . 8  class  j
146, 13cdif 3571 . . . . . . 7  class  ( i 
\  j )
1514, 9, 10co 6650 . . . . . 6  class  ( ( i  \  j ) mPoly 
r )
16 vc . . . . . . 7  setvar  c
17 vx . . . . . . . 8  setvar  x
1812cv 1482 . . . . . . . . 9  class  s
19 csca 15944 . . . . . . . . 9  class Scalar
2018, 19cfv 5888 . . . . . . . 8  class  (Scalar `  s )
2117cv 1482 . . . . . . . . 9  class  x
22 cur 18501 . . . . . . . . . 10  class  1r
2318, 22cfv 5888 . . . . . . . . 9  class  ( 1r
`  s )
24 cvsca 15945 . . . . . . . . . 10  class  .s
2518, 24cfv 5888 . . . . . . . . 9  class  ( .s
`  s )
2621, 23, 25co 6650 . . . . . . . 8  class  ( x ( .s `  s
) ( 1r `  s ) )
2717, 20, 26cmpt 4729 . . . . . . 7  class  ( x  e.  (Scalar `  s
)  |->  ( x ( .s `  s ) ( 1r `  s
) ) )
2817, 5wel 1991 . . . . . . . . . 10  wff  x  e.  j
29 cmvr 19352 . . . . . . . . . . . 12  class mVar
3013, 15, 29co 6650 . . . . . . . . . . 11  class  ( j mVar  ( ( i  \ 
j ) mPoly  r ) )
3121, 30cfv 5888 . . . . . . . . . 10  class  ( ( j mVar  ( ( i 
\  j ) mPoly  r
) ) `  x
)
3216cv 1482 . . . . . . . . . . 11  class  c
3314, 9, 29co 6650 . . . . . . . . . . . 12  class  ( ( i  \  j ) mVar  r )
3421, 33cfv 5888 . . . . . . . . . . 11  class  ( ( ( i  \  j
) mVar  r ) `  x )
3532, 34ccom 5118 . . . . . . . . . 10  class  ( c  o.  ( ( ( i  \  j ) mVar  r ) `  x
) )
3628, 31, 35cif 4086 . . . . . . . . 9  class  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) )
3717, 6, 36cmpt 4729 . . . . . . . 8  class  ( x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) ) )
388cv 1482 . . . . . . . . . 10  class  f
3932, 38ccom 5118 . . . . . . . . 9  class  ( c  o.  f )
40 cimas 16164 . . . . . . . . . . 11  class  "s
4132, 9, 40co 6650 . . . . . . . . . 10  class  ( c 
"s  r )
42 ces 19504 . . . . . . . . . . 11  class evalSub
436, 18, 42co 6650 . . . . . . . . . 10  class  ( i evalSub 
s )
4441, 43cfv 5888 . . . . . . . . 9  class  ( ( i evalSub  s ) `  ( c  "s  r )
)
4539, 44cfv 5888 . . . . . . . 8  class  ( ( ( i evalSub  s ) `
 ( c  "s  r
) ) `  (
c  o.  f ) )
4637, 45cfv 5888 . . . . . . 7  class  ( ( ( ( i evalSub  s
) `  ( c  "s  r ) ) `  (
c  o.  f ) ) `  ( x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) ) ) )
4716, 27, 46csb 3533 . . . . . 6  class  [_ (
x  e.  (Scalar `  s )  |->  ( x ( .s `  s
) ( 1r `  s ) ) )  /  c ]_ (
( ( ( i evalSub 
s ) `  (
c  "s  r ) ) `  ( c  o.  f
) ) `  (
x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  ( ( i  \ 
j ) mPoly  r ) ) `  x ) ,  ( c  o.  ( ( ( i 
\  j ) mVar  r
) `  x )
) ) ) )
4812, 15, 47csb 3533 . . . . 5  class  [_ (
( i  \  j
) mPoly  r )  / 
s ]_ [_ ( x  e.  (Scalar `  s
)  |->  ( x ( .s `  s ) ( 1r `  s
) ) )  / 
c ]_ ( ( ( ( i evalSub  s ) `
 ( c  "s  r
) ) `  (
c  o.  f ) ) `  ( x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) ) ) )
498, 11, 48cmpt 4729 . . . 4  class  ( f  e.  ( i mPoly  r
)  |->  [_ ( ( i 
\  j ) mPoly  r
)  /  s ]_ [_ ( x  e.  (Scalar `  s )  |->  ( x ( .s `  s
) ( 1r `  s ) ) )  /  c ]_ (
( ( ( i evalSub 
s ) `  (
c  "s  r ) ) `  ( c  o.  f
) ) `  (
x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  ( ( i  \ 
j ) mPoly  r ) ) `  x ) ,  ( c  o.  ( ( ( i 
\  j ) mVar  r
) `  x )
) ) ) ) )
505, 7, 49cmpt 4729 . . 3  class  ( j  e.  ~P i  |->  ( f  e.  ( i mPoly 
r )  |->  [_ (
( i  \  j
) mPoly  r )  / 
s ]_ [_ ( x  e.  (Scalar `  s
)  |->  ( x ( .s `  s ) ( 1r `  s
) ) )  / 
c ]_ ( ( ( ( i evalSub  s ) `
 ( c  "s  r
) ) `  (
c  o.  f ) ) `  ( x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) ) ) ) ) )
512, 3, 4, 4, 50cmpt2 6652 . 2  class  ( i  e.  _V ,  r  e.  _V  |->  ( j  e.  ~P i  |->  ( f  e.  ( i mPoly 
r )  |->  [_ (
( i  \  j
) mPoly  r )  / 
s ]_ [_ ( x  e.  (Scalar `  s
)  |->  ( x ( .s `  s ) ( 1r `  s
) ) )  / 
c ]_ ( ( ( ( i evalSub  s ) `
 ( c  "s  r
) ) `  (
c  o.  f ) ) `  ( x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  (
( i  \  j
) mPoly  r ) ) `
 x ) ,  ( c  o.  (
( ( i  \ 
j ) mVar  r ) `
 x ) ) ) ) ) ) ) )
521, 51wceq 1483 1  wff selectVars  =  ( i  e.  _V , 
r  e.  _V  |->  ( j  e.  ~P i  |->  ( f  e.  ( i mPoly  r )  |->  [_ ( ( i  \ 
j ) mPoly  r )  /  s ]_ [_ (
x  e.  (Scalar `  s )  |->  ( x ( .s `  s
) ( 1r `  s ) ) )  /  c ]_ (
( ( ( i evalSub 
s ) `  (
c  "s  r ) ) `  ( c  o.  f
) ) `  (
x  e.  i  |->  if ( x  e.  j ,  ( ( j mVar  ( ( i  \ 
j ) mPoly  r ) ) `  x ) ,  ( c  o.  ( ( ( i 
\  j ) mVar  r
) `  x )
) ) ) ) ) ) )
Colors of variables: wff setvar class
This definition is referenced by: (None)
  Copyright terms: Public domain W3C validator