This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Define the "variable extension" function. The function ( ( I extendVars R )A ) converts polynomials with variables indexed by ( I \ { A } ) into polynomials indexed by I , and therefore maps elements of ( ( I \ { A } ) mPoly R ) onto ( I mPoly R ) . (Contributed by Thierry Arnoux, 20-Jan-2026)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | df-extv | |- extendVars = ( i e. _V , r e. _V |-> ( a e. i |-> ( f e. ( Base ` ( ( i \ { a } ) mPoly r ) ) |-> ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 0 | cextv | |- extendVars |
|
| 1 | vi | |- i |
|
| 2 | cvv | |- _V |
|
| 3 | vr | |- r |
|
| 4 | va | |- a |
|
| 5 | 1 | cv | |- i |
| 6 | vf | |- f |
|
| 7 | cbs | |- Base |
|
| 8 | 4 | cv | |- a |
| 9 | 8 | csn | |- { a } |
| 10 | 5 9 | cdif | |- ( i \ { a } ) |
| 11 | cmpl | |- mPoly |
|
| 12 | 3 | cv | |- r |
| 13 | 10 12 11 | co | |- ( ( i \ { a } ) mPoly r ) |
| 14 | 13 7 | cfv | |- ( Base ` ( ( i \ { a } ) mPoly r ) ) |
| 15 | vx | |- x |
|
| 16 | vh | |- h |
|
| 17 | cn0 | |- NN0 |
|
| 18 | cmap | |- ^m |
|
| 19 | 17 5 18 | co | |- ( NN0 ^m i ) |
| 20 | 16 | cv | |- h |
| 21 | cfsupp | |- finSupp |
|
| 22 | cc0 | |- 0 |
|
| 23 | 20 22 21 | wbr | |- h finSupp 0 |
| 24 | 23 16 19 | crab | |- { h e. ( NN0 ^m i ) | h finSupp 0 } |
| 25 | 15 | cv | |- x |
| 26 | 8 25 | cfv | |- ( x ` a ) |
| 27 | 26 22 | wceq | |- ( x ` a ) = 0 |
| 28 | 6 | cv | |- f |
| 29 | 25 10 | cres | |- ( x |` ( i \ { a } ) ) |
| 30 | 29 28 | cfv | |- ( f ` ( x |` ( i \ { a } ) ) ) |
| 31 | c0g | |- 0g |
|
| 32 | 12 31 | cfv | |- ( 0g ` r ) |
| 33 | 27 30 32 | cif | |- if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) |
| 34 | 15 24 33 | cmpt | |- ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) |
| 35 | 6 14 34 | cmpt | |- ( f e. ( Base ` ( ( i \ { a } ) mPoly r ) ) |-> ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) ) |
| 36 | 4 5 35 | cmpt | |- ( a e. i |-> ( f e. ( Base ` ( ( i \ { a } ) mPoly r ) ) |-> ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) ) ) |
| 37 | 1 3 2 2 36 | cmpo | |- ( i e. _V , r e. _V |-> ( a e. i |-> ( f e. ( Base ` ( ( i \ { a } ) mPoly r ) ) |-> ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) ) ) ) |
| 38 | 0 37 | wceq | |- extendVars = ( i e. _V , r e. _V |-> ( a e. i |-> ( f e. ( Base ` ( ( i \ { a } ) mPoly r ) ) |-> ( x e. { h e. ( NN0 ^m i ) | h finSupp 0 } |-> if ( ( x ` a ) = 0 , ( f ` ( x |` ( i \ { a } ) ) ) , ( 0g ` r ) ) ) ) ) ) |