MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  mpfind Structured version   Unicode version

Theorem mpfind 18331
Description: Prove a property of polynomials by "structural" induction, under a simplified model of structure which loses the sum of products structure. (Contributed by Mario Carneiro, 19-Mar-2015.)
Hypotheses
Ref Expression
mpfind.cb  |-  B  =  ( Base `  S
)
mpfind.cp  |-  .+  =  ( +g  `  S )
mpfind.ct  |-  .x.  =  ( .r `  S )
mpfind.cq  |-  Q  =  ran  ( ( I evalSub  S ) `  R
)
mpfind.ad  |-  ( (
ph  /\  ( (
f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  ze )
mpfind.mu  |-  ( (
ph  /\  ( (
f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  si )
mpfind.wa  |-  ( x  =  ( ( B  ^m  I )  X. 
{ f } )  ->  ( ps  <->  ch )
)
mpfind.wb  |-  ( x  =  ( g  e.  ( B  ^m  I
)  |->  ( g `  f ) )  -> 
( ps  <->  th )
)
mpfind.wc  |-  ( x  =  f  ->  ( ps 
<->  ta ) )
mpfind.wd  |-  ( x  =  g  ->  ( ps 
<->  et ) )
mpfind.we  |-  ( x  =  ( f  oF  .+  g )  ->  ( ps  <->  ze )
)
mpfind.wf  |-  ( x  =  ( f  oF  .x.  g )  ->  ( ps  <->  si )
)
mpfind.wg  |-  ( x  =  A  ->  ( ps 
<->  rh ) )
mpfind.co  |-  ( (
ph  /\  f  e.  R )  ->  ch )
mpfind.pr  |-  ( (
ph  /\  f  e.  I )  ->  th )
mpfind.a  |-  ( ph  ->  A  e.  Q )
Assertion
Ref Expression
mpfind  |-  ( ph  ->  rh )
Distinct variable groups:    ch, x    et, x    ph, f, g    ps, f, g    rh, x    si, x    ta, x    th, x    ze, x    x, A    B, f, g, x   
f, I, g, x    .+ , f, g, x    Q, f, g    R, f, g    S, f, g    .x. , f,
g, x
Allowed substitution hints:    ph( x)    ps( x)    ch( f, g)    th( f,
g)    ta( f, g)    et( f, g)    ze( f, g)    si( f, g)    rh( f,
g)    A( f, g)    Q( x)    R( x)    S( x)

Proof of Theorem mpfind
Dummy variables  i 
j  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 mpfind.a . . . . 5  |-  ( ph  ->  A  e.  Q )
2 mpfind.cq . . . . 5  |-  Q  =  ran  ( ( I evalSub  S ) `  R
)
31, 2syl6eleq 2555 . . . 4  |-  ( ph  ->  A  e.  ran  (
( I evalSub  S ) `  R ) )
42mpfrcl 18313 . . . . . . . . 9  |-  ( A  e.  Q  ->  (
I  e.  _V  /\  S  e.  CRing  /\  R  e.  (SubRing `  S )
) )
51, 4syl 16 . . . . . . . 8  |-  ( ph  ->  ( I  e.  _V  /\  S  e.  CRing  /\  R  e.  (SubRing `  S )
) )
6 eqid 2457 . . . . . . . . 9  |-  ( ( I evalSub  S ) `  R
)  =  ( ( I evalSub  S ) `  R
)
7 eqid 2457 . . . . . . . . 9  |-  ( I mPoly 
( Ss  R ) )  =  ( I mPoly  ( Ss  R ) )
8 eqid 2457 . . . . . . . . 9  |-  ( Ss  R )  =  ( Ss  R )
9 eqid 2457 . . . . . . . . 9  |-  ( S  ^s  ( B  ^m  I
) )  =  ( S  ^s  ( B  ^m  I
) )
10 mpfind.cb . . . . . . . . 9  |-  B  =  ( Base `  S
)
116, 7, 8, 9, 10evlsrhm 18316 . . . . . . . 8  |-  ( ( I  e.  _V  /\  S  e.  CRing  /\  R  e.  (SubRing `  S )
)  ->  ( (
I evalSub  S ) `  R
)  e.  ( ( I mPoly  ( Ss  R ) ) RingHom  ( S  ^s  ( B  ^m  I ) ) ) )
125, 11syl 16 . . . . . . 7  |-  ( ph  ->  ( ( I evalSub  S
) `  R )  e.  ( ( I mPoly  ( Ss  R ) ) RingHom  ( S  ^s  ( B  ^m  I
) ) ) )
13 eqid 2457 . . . . . . . 8  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (
I mPoly  ( Ss  R ) ) )
14 eqid 2457 . . . . . . . 8  |-  ( Base `  ( S  ^s  ( B  ^m  I ) ) )  =  ( Base `  ( S  ^s  ( B  ^m  I ) ) )
1513, 14rhmf 17501 . . . . . . 7  |-  ( ( ( I evalSub  S ) `
 R )  e.  ( ( I mPoly  ( Ss  R ) ) RingHom  ( S  ^s  ( B  ^m  I
) ) )  -> 
( ( I evalSub  S
) `  R ) : ( Base `  (
I mPoly  ( Ss  R ) ) ) --> ( Base `  ( S  ^s  ( B  ^m  I ) ) ) )
1612, 15syl 16 . . . . . 6  |-  ( ph  ->  ( ( I evalSub  S
) `  R ) : ( Base `  (
I mPoly  ( Ss  R ) ) ) --> ( Base `  ( S  ^s  ( B  ^m  I ) ) ) )
17 ffn 5737 . . . . . 6  |-  ( ( ( I evalSub  S ) `
 R ) : ( Base `  (
I mPoly  ( Ss  R ) ) ) --> ( Base `  ( S  ^s  ( B  ^m  I ) ) )  ->  ( (
I evalSub  S ) `  R
)  Fn  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
1816, 17syl 16 . . . . 5  |-  ( ph  ->  ( ( I evalSub  S
) `  R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) ) )
19 fvelrnb 5920 . . . . 5  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  ( A  e.  ran  ( ( I evalSub  S ) `  R
)  <->  E. y  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) ( ( ( I evalSub  S ) `  R
) `  y )  =  A ) )
2018, 19syl 16 . . . 4  |-  ( ph  ->  ( A  e.  ran  ( ( I evalSub  S
) `  R )  <->  E. y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) ( ( ( I evalSub  S
) `  R ) `  y )  =  A ) )
213, 20mpbid 210 . . 3  |-  ( ph  ->  E. y  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) ( ( ( I evalSub  S ) `  R
) `  y )  =  A )
22 ffun 5739 . . . . . . . 8  |-  ( ( ( I evalSub  S ) `
 R ) : ( Base `  (
I mPoly  ( Ss  R ) ) ) --> ( Base `  ( S  ^s  ( B  ^m  I ) ) )  ->  Fun  ( ( I evalSub  S ) `  R
) )
2316, 22syl 16 . . . . . . 7  |-  ( ph  ->  Fun  ( ( I evalSub  S ) `  R
) )
2423adantr 465 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  Fun  ( ( I evalSub  S ) `  R
) )
25 eqid 2457 . . . . . . 7  |-  ( Base `  ( Ss  R ) )  =  ( Base `  ( Ss  R ) )
26 eqid 2457 . . . . . . 7  |-  ( I mVar  ( Ss  R ) )  =  ( I mVar  ( Ss  R ) )
27 eqid 2457 . . . . . . 7  |-  ( +g  `  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (
I mPoly  ( Ss  R ) ) )
28 eqid 2457 . . . . . . 7  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( .r `  ( I mPoly  ( Ss  R
) ) )
29 eqid 2457 . . . . . . 7  |-  (algSc `  ( I mPoly  ( Ss  R
) ) )  =  (algSc `  ( I mPoly  ( Ss  R ) ) )
305simp1d 1008 . . . . . . . . . . . 12  |-  ( ph  ->  I  e.  _V )
315simp2d 1009 . . . . . . . . . . . . . 14  |-  ( ph  ->  S  e.  CRing )
325simp3d 1010 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  e.  (SubRing `  S
) )
338subrgcrng 17559 . . . . . . . . . . . . . 14  |-  ( ( S  e.  CRing  /\  R  e.  (SubRing `  S )
)  ->  ( Ss  R
)  e.  CRing )
3431, 32, 33syl2anc 661 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  e.  CRing )
35 crngring 17335 . . . . . . . . . . . . 13  |-  ( ( Ss  R )  e.  CRing  -> 
( Ss  R )  e.  Ring )
3634, 35syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  ( Ss  R )  e.  Ring )
377mplring 18240 . . . . . . . . . . . 12  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  Ring )  ->  ( I mPoly  ( Ss  R ) )  e. 
Ring )
3830, 36, 37syl2anc 661 . . . . . . . . . . 11  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e.  Ring )
3938adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( I mPoly  ( Ss  R ) )  e. 
Ring )
40 simprl 756 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
41 elpreima 6008 . . . . . . . . . . . . . 14  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
i  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } )  <->  ( i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) ) )
4218, 41syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) ) )
4342adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) ) )
4440, 43mpbid 210 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) )
4544simpld 459 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  i  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
46 simprr 757 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  j  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
47 elpreima 6008 . . . . . . . . . . . . . 14  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } )  <->  ( j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )
4818, 47syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  ( j  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )
4948adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( j  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )
5046, 49mpbid 210 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) )
5150simpld 459 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  j  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
5213, 27ringacl 17352 . . . . . . . . . 10  |-  ( ( ( I mPoly  ( Ss  R ) )  e.  Ring  /\  i  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  j  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( i ( +g  `  ( I mPoly 
( Ss  R ) ) ) j )  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
5339, 45, 51, 52syl3anc 1228 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( +g  `  ( I mPoly 
( Ss  R ) ) ) j )  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
54 rhmghm 17500 . . . . . . . . . . . . . 14  |-  ( ( ( I evalSub  S ) `
 R )  e.  ( ( I mPoly  ( Ss  R ) ) RingHom  ( S  ^s  ( B  ^m  I
) ) )  -> 
( ( I evalSub  S
) `  R )  e.  ( ( I mPoly  ( Ss  R ) )  GrpHom  ( S  ^s  ( B  ^m  I
) ) ) )
5512, 54syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( I evalSub  S
) `  R )  e.  ( ( I mPoly  ( Ss  R ) )  GrpHom  ( S  ^s  ( B  ^m  I
) ) ) )
5655adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( I evalSub  S ) `  R
)  e.  ( ( I mPoly  ( Ss  R ) )  GrpHom  ( S  ^s  ( B  ^m  I ) ) ) )
57 eqid 2457 . . . . . . . . . . . . 13  |-  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )
5813, 27, 57ghmlin 16398 . . . . . . . . . . . 12  |-  ( ( ( ( I evalSub  S
) `  R )  e.  ( ( I mPoly  ( Ss  R ) )  GrpHom  ( S  ^s  ( B  ^m  I
) ) )  /\  i  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  j  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( +g  `  ( I mPoly 
( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S ) `  R
) `  i )
( +g  `  ( S  ^s  ( B  ^m  I
) ) ) ( ( ( I evalSub  S
) `  R ) `  j ) ) )
5956, 45, 51, 58syl3anc 1228 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( +g  `  ( I mPoly 
( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S ) `  R
) `  i )
( +g  `  ( S  ^s  ( B  ^m  I
) ) ) ( ( ( I evalSub  S
) `  R ) `  j ) ) )
6031adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  S  e.  CRing )
61 ovex 6324 . . . . . . . . . . . . 13  |-  ( B  ^m  I )  e. 
_V
6261a1i 11 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( B  ^m  I )  e.  _V )
6316adantr 465 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( I evalSub  S ) `  R
) : ( Base `  ( I mPoly  ( Ss  R ) ) ) --> (
Base `  ( S  ^s  ( B  ^m  I ) ) ) )
6463, 45ffvelrnd 6033 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  i )  e.  ( Base `  ( S  ^s  ( B  ^m  I
) ) ) )
6563, 51ffvelrnd 6033 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  j )  e.  ( Base `  ( S  ^s  ( B  ^m  I
) ) ) )
66 mpfind.cp . . . . . . . . . . . 12  |-  .+  =  ( +g  `  S )
679, 14, 60, 62, 64, 65, 66, 57pwsplusgval 14906 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i ) ( +g  `  ( S  ^s  ( B  ^m  I ) ) ) ( ( ( I evalSub  S ) `  R
) `  j )
)  =  ( ( ( ( I evalSub  S
) `  R ) `  i )  oF  .+  ( ( ( I evalSub  S ) `  R
) `  j )
) )
6859, 67eqtrd 2498 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( +g  `  ( I mPoly 
( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) ) )
69 simpl 457 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ph )
7018adantr 465 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( I evalSub  S ) `  R
)  Fn  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
71 fnfvelrn 6029 . . . . . . . . . . . . . 14  |-  ( ( ( ( I evalSub  S
) `  R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  i )  e.  ran  ( ( I evalSub  S ) `  R
) )
7270, 45, 71syl2anc 661 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  i )  e.  ran  ( ( I evalSub  S ) `  R
) )
7372, 2syl6eleqr 2556 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  i )  e.  Q )
7423adantr 465 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  Fun  ( (
I evalSub  S ) `  R
) )
75 fvimacnvi 6002 . . . . . . . . . . . . 13  |-  ( ( Fun  ( ( I evalSub  S ) `  R
)  /\  i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )  ->  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } )
7674, 40, 75syl2anc 661 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } )
7773, 76jca 532 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } ) )
78 fnfvelrn 6029 . . . . . . . . . . . . . 14  |-  ( ( ( ( I evalSub  S
) `  R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  j )  e.  ran  ( ( I evalSub  S ) `  R
) )
7970, 51, 78syl2anc 661 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  j )  e.  ran  ( ( I evalSub  S ) `  R
) )
8079, 2syl6eleqr 2556 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  j )  e.  Q )
81 fvimacnvi 6002 . . . . . . . . . . . . 13  |-  ( ( Fun  ( ( I evalSub  S ) `  R
)  /\  j  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )  ->  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } )
8274, 46, 81syl2anc 661 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } )
8380, 82jca 532 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  j )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } ) )
84 fvex 5882 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  i )  e.  _V
85 fvex 5882 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  j )  e.  _V
86 eleq1 2529 . . . . . . . . . . . . . . . 16  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( f  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  i )  e.  Q
) )
87 vex 3112 . . . . . . . . . . . . . . . . . 18  |-  f  e. 
_V
88 mpfind.wc . . . . . . . . . . . . . . . . . 18  |-  ( x  =  f  ->  ( ps 
<->  ta ) )
8987, 88elab 3246 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  { x  |  ps }  <->  ta )
90 eleq1 2529 . . . . . . . . . . . . . . . . 17  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( f  e.  {
x  |  ps }  <->  ( ( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) )
9189, 90syl5bbr 259 . . . . . . . . . . . . . . . 16  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( ta  <->  ( (
( I evalSub  S ) `  R ) `  i
)  e.  { x  |  ps } ) )
9286, 91anbi12d 710 . . . . . . . . . . . . . . 15  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( ( f  e.  Q  /\  ta )  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) ) )
93 eleq1 2529 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( g  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  j )  e.  Q
) )
94 vex 3112 . . . . . . . . . . . . . . . . . 18  |-  g  e. 
_V
95 mpfind.wd . . . . . . . . . . . . . . . . . 18  |-  ( x  =  g  ->  ( ps 
<->  et ) )
9694, 95elab 3246 . . . . . . . . . . . . . . . . 17  |-  ( g  e.  { x  |  ps }  <->  et )
97 eleq1 2529 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( g  e.  {
x  |  ps }  <->  ( ( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) )
9896, 97syl5bbr 259 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( et  <->  ( (
( I evalSub  S ) `  R ) `  j
)  e.  { x  |  ps } ) )
9993, 98anbi12d 710 . . . . . . . . . . . . . . 15  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( ( g  e.  Q  /\  et )  <-> 
( ( ( ( I evalSub  S ) `  R
) `  j )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )
10092, 99bi2anan9 873 . . . . . . . . . . . . . 14  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
( f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) )  <->  ( (
( ( ( I evalSub  S ) `  R
) `  i )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
)  /\  ( (
( ( I evalSub  S
) `  R ) `  j )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } ) ) ) )
101100anbi2d 703 . . . . . . . . . . . . 13  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( ( ph  /\  ( ( f  e.  Q  /\  ta )  /\  ( g  e.  Q  /\  et ) ) )  <->  ( ph  /\  ( ( ( ( ( I evalSub  S ) `
 R ) `  i )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } )  /\  (
( ( ( I evalSub  S ) `  R
) `  j )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) ) ) )
102 ovex 6324 . . . . . . . . . . . . . . 15  |-  ( f  oF  .+  g
)  e.  _V
103 mpfind.we . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  oF  .+  g )  ->  ( ps  <->  ze )
)
104102, 103elab 3246 . . . . . . . . . . . . . 14  |-  ( ( f  oF  .+  g )  e.  {
x  |  ps }  <->  ze )
105 oveq12 6305 . . . . . . . . . . . . . . 15  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( f  oF  .+  g )  =  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .+  ( ( ( I evalSub  S ) `  R
) `  j )
) )
106105eleq1d 2526 . . . . . . . . . . . . . 14  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
f  oF  .+  g )  e.  {
x  |  ps }  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
107104, 106syl5bbr 259 . . . . . . . . . . . . 13  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( ze  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
108101, 107imbi12d 320 . . . . . . . . . . . 12  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
( ph  /\  (
( f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  ze )  <->  ( ( ph  /\  ( ( ( ( ( I evalSub  S ) `
 R ) `  i )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } )  /\  (
( ( ( I evalSub  S ) `  R
) `  j )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )  -> 
( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) ) )
109 mpfind.ad . . . . . . . . . . . 12  |-  ( (
ph  /\  ( (
f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  ze )
11084, 85, 108, 109vtocl2 3162 . . . . . . . . . . 11  |-  ( (
ph  /\  ( (
( ( ( I evalSub  S ) `  R
) `  i )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
)  /\  ( (
( ( I evalSub  S
) `  R ) `  j )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .+  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
11169, 77, 83, 110syl12anc 1226 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .+  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
11268, 111eqeltrd 2545 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( +g  `  ( I mPoly 
( Ss  R ) ) ) j ) )  e. 
{ x  |  ps } )
113 elpreima 6008 . . . . . . . . . . 11  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
( i ( +g  `  ( I mPoly  ( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } )  <->  ( (
i ( +g  `  (
I mPoly  ( Ss  R ) ) ) j )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( i ( +g  `  ( I mPoly  ( Ss  R ) ) ) j ) )  e.  {
x  |  ps }
) ) )
11418, 113syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( ( i ( +g  `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
i ( +g  `  (
I mPoly  ( Ss  R ) ) ) j )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( i ( +g  `  ( I mPoly  ( Ss  R ) ) ) j ) )  e.  {
x  |  ps }
) ) )
115114adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( i ( +g  `  (
I mPoly  ( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `
 R ) " { x  |  ps } )  <->  ( (
i ( +g  `  (
I mPoly  ( Ss  R ) ) ) j )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( i ( +g  `  ( I mPoly  ( Ss  R ) ) ) j ) )  e.  {
x  |  ps }
) ) )
11653, 112, 115mpbir2and 922 . . . . . . . 8  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( +g  `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
117116adantlr 714 . . . . . . 7  |-  ( ( ( ph  /\  y  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( +g  `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
11813, 28ringcl 17338 . . . . . . . . . 10  |-  ( ( ( I mPoly  ( Ss  R ) )  e.  Ring  /\  i  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  j  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( i ( .r `  ( I mPoly 
( Ss  R ) ) ) j )  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
11939, 45, 51, 118syl3anc 1228 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( .r `  ( I mPoly 
( Ss  R ) ) ) j )  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) )
120 eqid 2457 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( I mPoly  ( Ss  R
) ) )  =  (mulGrp `  ( I mPoly  ( Ss  R ) ) )
121 eqid 2457 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) )  =  (mulGrp `  ( S  ^s  ( B  ^m  I
) ) )
122120, 121rhmmhm 17497 . . . . . . . . . . . . . 14  |-  ( ( ( I evalSub  S ) `
 R )  e.  ( ( I mPoly  ( Ss  R ) ) RingHom  ( S  ^s  ( B  ^m  I
) ) )  -> 
( ( I evalSub  S
) `  R )  e.  ( (mulGrp `  (
I mPoly  ( Ss  R ) ) ) MndHom  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) ) )
12312, 122syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( I evalSub  S
) `  R )  e.  ( (mulGrp `  (
I mPoly  ( Ss  R ) ) ) MndHom  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) ) )
124123adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( I evalSub  S ) `  R
)  e.  ( (mulGrp `  ( I mPoly  ( Ss  R ) ) ) MndHom  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) ) )
125120, 13mgpbas 17273 . . . . . . . . . . . . 13  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
126120, 28mgpplusg 17271 . . . . . . . . . . . . 13  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
127 eqid 2457 . . . . . . . . . . . . . 14  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )
128121, 127mgpplusg 17271 . . . . . . . . . . . . 13  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) )
129125, 126, 128mhmlin 16099 . . . . . . . . . . . 12  |-  ( ( ( ( I evalSub  S
) `  R )  e.  ( (mulGrp `  (
I mPoly  ( Ss  R ) ) ) MndHom  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) )  /\  i  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  j  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S
) `  R ) `  i ) ( .r
`  ( S  ^s  ( B  ^m  I ) ) ) ( ( ( I evalSub  S ) `  R
) `  j )
) )
130124, 45, 51, 129syl3anc 1228 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S
) `  R ) `  i ) ( .r
`  ( S  ^s  ( B  ^m  I ) ) ) ( ( ( I evalSub  S ) `  R
) `  j )
) )
131 mpfind.ct . . . . . . . . . . . 12  |-  .x.  =  ( .r `  S )
1329, 14, 60, 62, 64, 65, 131, 127pwsmulrval 14907 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i ) ( .r
`  ( S  ^s  ( B  ^m  I ) ) ) ( ( ( I evalSub  S ) `  R
) `  j )
)  =  ( ( ( ( I evalSub  S
) `  R ) `  i )  oF  .x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
133130, 132eqtrd 2498 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  =  ( ( ( ( I evalSub  S
) `  R ) `  i )  oF  .x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
134 ovex 6324 . . . . . . . . . . . . . . 15  |-  ( f  oF  .x.  g
)  e.  _V
135 mpfind.wf . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  oF  .x.  g )  ->  ( ps  <->  si )
)
136134, 135elab 3246 . . . . . . . . . . . . . 14  |-  ( ( f  oF  .x.  g )  e.  {
x  |  ps }  <->  si )
137 oveq12 6305 . . . . . . . . . . . . . . 15  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( f  oF  .x.  g )  =  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
138137eleq1d 2526 . . . . . . . . . . . . . 14  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
f  oF  .x.  g )  e.  {
x  |  ps }  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .x.  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
139136, 138syl5bbr 259 . . . . . . . . . . . . 13  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( si  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .x.  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
140101, 139imbi12d 320 . . . . . . . . . . . 12  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
( ph  /\  (
( f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  si )  <->  ( ( ph  /\  ( ( ( ( ( I evalSub  S ) `
 R ) `  i )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  i )  e.  { x  |  ps } )  /\  (
( ( ( I evalSub  S ) `  R
) `  j )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) ) )  -> 
( ( ( ( I evalSub  S ) `  R
) `  i )  oF  .x.  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) ) )
141 mpfind.mu . . . . . . . . . . . 12  |-  ( (
ph  /\  ( (
f  e.  Q  /\  ta )  /\  (
g  e.  Q  /\  et ) ) )  ->  si )
14284, 85, 140, 141vtocl2 3162 . . . . . . . . . . 11  |-  ( (
ph  /\  ( (
( ( ( I evalSub  S ) `  R
) `  i )  e.  Q  /\  (
( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
)  /\  ( (
( ( I evalSub  S
) `  R ) `  j )  e.  Q  /\  ( ( ( I evalSub  S ) `  R
) `  j )  e.  { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .x.  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
14369, 77, 83, 142syl12anc 1226 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  oF  .x.  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
144133, 143eqeltrd 2545 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  e.  { x  |  ps } )
145 elpreima 6008 . . . . . . . . . . 11  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
( i ( .r
`  ( I mPoly  ( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
i ( .r `  ( I mPoly  ( Ss  R
) ) ) j )  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  e.  { x  |  ps } ) ) )
14618, 145syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( ( i ( .r `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
i ( .r `  ( I mPoly  ( Ss  R
) ) ) j )  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  e.  { x  |  ps } ) ) )
147146adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( i ( .r `  (
I mPoly  ( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `
 R ) " { x  |  ps } )  <->  ( (
i ( .r `  ( I mPoly  ( Ss  R
) ) ) j )  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( i
( .r `  (
I mPoly  ( Ss  R ) ) ) j ) )  e.  { x  |  ps } ) ) )
148119, 144, 147mpbir2and 922 . . . . . . . 8  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( .r `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
149148adantlr 714 . . . . . . 7  |-  ( ( ( ph  /\  y  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( i ( .r `  ( I mPoly 
( Ss  R ) ) ) j )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
1507mplassa 18242 . . . . . . . . . . . . . 14  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  CRing )  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg
)
15130, 34, 150syl2anc 661 . . . . . . . . . . . . 13  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg )
152 eqid 2457 . . . . . . . . . . . . . 14  |-  (Scalar `  ( I mPoly  ( Ss  R
) ) )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) )
15329, 152asclrhm 18117 . . . . . . . . . . . . 13  |-  ( ( I mPoly  ( Ss  R ) )  e. AssAlg  ->  (algSc `  ( I mPoly  ( Ss  R
) ) )  e.  ( (Scalar `  (
I mPoly  ( Ss  R ) ) ) RingHom  ( I mPoly 
( Ss  R ) ) ) )
154151, 153syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  (algSc `  ( I mPoly  ( Ss  R ) ) )  e.  ( (Scalar `  ( I mPoly  ( Ss  R
) ) ) RingHom  (
I mPoly  ( Ss  R ) ) ) )
155 eqid 2457 . . . . . . . . . . . . 13  |-  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
156155, 13rhmf 17501 . . . . . . . . . . . 12  |-  ( (algSc `  ( I mPoly  ( Ss  R ) ) )  e.  ( (Scalar `  (
I mPoly  ( Ss  R ) ) ) RingHom  ( I mPoly 
( Ss  R ) ) )  ->  (algSc `  (
I mPoly  ( Ss  R ) ) ) : (
Base `  (Scalar `  (
I mPoly  ( Ss  R ) ) ) ) --> (
Base `  ( I mPoly  ( Ss  R ) ) ) )
157154, 156syl 16 . . . . . . . . . . 11  |-  ( ph  ->  (algSc `  ( I mPoly  ( Ss  R ) ) ) : ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) --> ( Base `  (
I mPoly  ( Ss  R ) ) ) )
158157adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
(algSc `  ( I mPoly  ( Ss  R ) ) ) : ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) --> ( Base `  (
I mPoly  ( Ss  R ) ) ) )
1597, 30, 34mplsca 18233 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
160159fveq2d 5876 . . . . . . . . . . . 12  |-  ( ph  ->  ( Base `  ( Ss  R ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
161160eleq2d 2527 . . . . . . . . . . 11  |-  ( ph  ->  ( i  e.  (
Base `  ( Ss  R
) )  <->  i  e.  ( Base `  (Scalar `  (
I mPoly  ( Ss  R ) ) ) ) ) )
162161biimpa 484 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
163158, 162ffvelrnd 6033 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
16430adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  I  e.  _V )
16531adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  S  e.  CRing )
16632adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  R  e.  (SubRing `  S
) )
16710subrgss 17556 . . . . . . . . . . . . . . 15  |-  ( R  e.  (SubRing `  S
)  ->  R  C_  B
)
16832, 167syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  C_  B )
1698, 10ressbas2 14701 . . . . . . . . . . . . . 14  |-  ( R 
C_  B  ->  R  =  ( Base `  ( Ss  R ) ) )
170168, 169syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  R  =  ( Base `  ( Ss  R ) ) )
171170eleq2d 2527 . . . . . . . . . . . 12  |-  ( ph  ->  ( i  e.  R  <->  i  e.  ( Base `  ( Ss  R ) ) ) )
172171biimpar 485 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  R )
1736, 7, 8, 10, 29, 164, 165, 166, 172evlssca 18317 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  ( (algSc `  ( I mPoly  ( Ss  R ) ) ) `  i ) )  =  ( ( B  ^m  I )  X.  {
i } ) )
174 mpfind.co . . . . . . . . . . . . . 14  |-  ( (
ph  /\  f  e.  R )  ->  ch )
175174ralrimiva 2871 . . . . . . . . . . . . 13  |-  ( ph  ->  A. f  e.  R  ch )
176 snex 4697 . . . . . . . . . . . . . . . . 17  |-  { f }  e.  _V
17761, 176xpex 6603 . . . . . . . . . . . . . . . 16  |-  ( ( B  ^m  I )  X.  { f } )  e.  _V
178 mpfind.wa . . . . . . . . . . . . . . . 16  |-  ( x  =  ( ( B  ^m  I )  X. 
{ f } )  ->  ( ps  <->  ch )
)
179177, 178elab 3246 . . . . . . . . . . . . . . 15  |-  ( ( ( B  ^m  I
)  X.  { f } )  e.  {
x  |  ps }  <->  ch )
180 sneq 4042 . . . . . . . . . . . . . . . . 17  |-  ( f  =  i  ->  { f }  =  { i } )
181180xpeq2d 5032 . . . . . . . . . . . . . . . 16  |-  ( f  =  i  ->  (
( B  ^m  I
)  X.  { f } )  =  ( ( B  ^m  I
)  X.  { i } ) )
182181eleq1d 2526 . . . . . . . . . . . . . . 15  |-  ( f  =  i  ->  (
( ( B  ^m  I )  X.  {
f } )  e. 
{ x  |  ps } 
<->  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } ) )
183179, 182syl5bbr 259 . . . . . . . . . . . . . 14  |-  ( f  =  i  ->  ( ch 
<->  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } ) )
184183cbvralv 3084 . . . . . . . . . . . . 13  |-  ( A. f  e.  R  ch  <->  A. i  e.  R  ( ( B  ^m  I
)  X.  { i } )  e.  {
x  |  ps }
)
185175, 184sylib 196 . . . . . . . . . . . 12  |-  ( ph  ->  A. i  e.  R  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } )
186185r19.21bi 2826 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  R )  ->  (
( B  ^m  I
)  X.  { i } )  e.  {
x  |  ps }
)
187172, 186syldan 470 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } )
188173, 187eqeltrd 2545 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  ( (algSc `  ( I mPoly  ( Ss  R ) ) ) `  i ) )  e. 
{ x  |  ps } )
189 elpreima 6008 . . . . . . . . . . 11  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } )  <->  ( (
(algSc `  ( I mPoly  ( Ss  R ) ) ) `
 i )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
) )  e.  {
x  |  ps }
) ) )
19018, 189syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( ( (algSc `  ( I mPoly  ( Ss  R
) ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
(algSc `  ( I mPoly  ( Ss  R ) ) ) `
 i )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
) )  e.  {
x  |  ps }
) ) )
191190adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( (algSc `  ( I mPoly  ( Ss  R
) ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
(algSc `  ( I mPoly  ( Ss  R ) ) ) `
 i )  e.  ( Base `  (
I mPoly  ( Ss  R ) ) )  /\  (
( ( I evalSub  S
) `  R ) `  ( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
) )  e.  {
x  |  ps }
) ) )
192163, 188, 191mpbir2and 922 . . . . . . . 8  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
193192adantlr 714 . . . . . . 7  |-  ( ( ( ph  /\  y  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  /\  i  e.  ( Base `  ( Ss  R ) ) )  ->  ( (algSc `  ( I mPoly  ( Ss  R
) ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
19430adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  I  e.  _V )
19536adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  ( Ss  R )  e.  Ring )
196 simpr 461 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  i  e.  I )
1977, 26, 13, 194, 195, 196mvrcl 18237 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
19831adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  S  e.  CRing )
19932adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  R  e.  (SubRing `  S )
)
2006, 26, 8, 10, 194, 198, 199, 196evlsvar 18318 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  (
( ( I evalSub  S
) `  R ) `  ( ( I mVar  ( Ss  R ) ) `  i ) )  =  ( g  e.  ( B  ^m  I ) 
|->  ( g `  i
) ) )
201 mpfind.pr . . . . . . . . . . . . . 14  |-  ( (
ph  /\  f  e.  I )  ->  th )
20261mptex 6144 . . . . . . . . . . . . . . 15  |-  ( g  e.  ( B  ^m  I )  |->  ( g `
 f ) )  e.  _V
203 mpfind.wb . . . . . . . . . . . . . . 15  |-  ( x  =  ( g  e.  ( B  ^m  I
)  |->  ( g `  f ) )  -> 
( ps  <->  th )
)
204202, 203elab 3246 . . . . . . . . . . . . . 14  |-  ( ( g  e.  ( B  ^m  I )  |->  ( g `  f ) )  e.  { x  |  ps }  <->  th )
205201, 204sylibr 212 . . . . . . . . . . . . 13  |-  ( (
ph  /\  f  e.  I )  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  e.  { x  |  ps } )
206205ralrimiva 2871 . . . . . . . . . . . 12  |-  ( ph  ->  A. f  e.  I 
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }
)
207 fveq2 5872 . . . . . . . . . . . . . . 15  |-  ( f  =  i  ->  (
g `  f )  =  ( g `  i ) )
208207mpteq2dv 4544 . . . . . . . . . . . . . 14  |-  ( f  =  i  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  =  ( g  e.  ( B  ^m  I )  |->  ( g `
 i ) ) )
209208eleq1d 2526 . . . . . . . . . . . . 13  |-  ( f  =  i  ->  (
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }  <->  ( g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } ) )
210209cbvralv 3084 . . . . . . . . . . . 12  |-  ( A. f  e.  I  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  e.  { x  |  ps }  <->  A. i  e.  I  ( g  e.  ( B  ^m  I
)  |->  ( g `  i ) )  e. 
{ x  |  ps } )
211206, 210sylib 196 . . . . . . . . . . 11  |-  ( ph  ->  A. i  e.  I 
( g  e.  ( B  ^m  I ) 
|->  ( g `  i
) )  e.  {
x  |  ps }
)
212211r19.21bi 2826 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } )
213200, 212eqeltrd 2545 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( ( I evalSub  S
) `  R ) `  ( ( I mVar  ( Ss  R ) ) `  i ) )  e. 
{ x  |  ps } )
214 elpreima 6008 . . . . . . . . . . 11  |-  ( ( ( I evalSub  S ) `
 R )  Fn  ( Base `  (
I mPoly  ( Ss  R ) ) )  ->  (
( ( I mVar  ( Ss  R ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( (
I mVar  ( Ss  R ) ) `  i ) )  e.  { x  |  ps } ) ) )
21518, 214syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( I mVar  ( Ss  R ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( (
I mVar  ( Ss  R ) ) `  i ) )  e.  { x  |  ps } ) ) )
216215adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( ( I mVar  ( Ss  R ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  <->  ( (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) )  /\  ( ( ( I evalSub  S ) `  R
) `  ( (
I mVar  ( Ss  R ) ) `  i ) )  e.  { x  |  ps } ) ) )
217197, 213, 216mpbir2and 922 . . . . . . . 8  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
218217adantlr 714 . . . . . . 7  |-  ( ( ( ph  /\  y  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) )  /\  i  e.  I )  ->  ( ( I mVar  ( Ss  R ) ) `  i )  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
219 simpr 461 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
22030adantr 465 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  I  e.  _V )
22134adantr 465 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( Ss  R
)  e.  CRing )
22225, 26, 7, 27, 28, 29, 13, 117, 149, 193, 218, 219, 220, 221mplind 18293 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
223 fvimacnvi 6002 . . . . . 6  |-  ( ( Fun  ( ( I evalSub  S ) `  R
)  /\  y  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )  ->  ( ( ( I evalSub  S ) `  R
) `  y )  e.  { x  |  ps } )
22424, 222, 223syl2anc 661 . . . . 5  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( (
( I evalSub  S ) `  R ) `  y
)  e.  { x  |  ps } )
225 eleq1 2529 . . . . 5  |-  ( ( ( ( I evalSub  S
) `  R ) `  y )  =  A  ->  ( ( ( ( I evalSub  S ) `
 R ) `  y )  e.  {
x  |  ps }  <->  A  e.  { x  |  ps } ) )
226224, 225syl5ibcom 220 . . . 4  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( (
( ( I evalSub  S
) `  R ) `  y )  =  A  ->  A  e.  {
x  |  ps }
) )
227226rexlimdva 2949 . . 3  |-  ( ph  ->  ( E. y  e.  ( Base `  (
I mPoly  ( Ss  R ) ) ) ( ( ( I evalSub  S ) `
 R ) `  y )  =  A  ->  A  e.  {
x  |  ps }
) )
22821, 227mpd 15 . 2  |-  ( ph  ->  A  e.  { x  |  ps } )
229 mpfind.wg . . . 4  |-  ( x  =  A  ->  ( ps 
<->  rh ) )
230229elabg 3247 . . 3  |-  ( A  e.  Q  ->  ( A  e.  { x  |  ps }  <->  rh )
)
2311, 230syl 16 . 2  |-  ( ph  ->  ( A  e.  {
x  |  ps }  <->  rh ) )
232228, 231mpbid 210 1  |-  ( ph  ->  rh )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 973    = wceq 1395    e. wcel 1819   {cab 2442   A.wral 2807   E.wrex 2808   _Vcvv 3109    C_ wss 3471   {csn 4032    |-> cmpt 4515    X. cxp 5006   `'ccnv 5007   ran crn 5009   "cima 5011   Fun wfun 5588    Fn wfn 5589   -->wf 5590   ` cfv 5594  (class class class)co 6296    oFcof 6537    ^m cmap 7438   Basecbs 14643   ↾s cress 14644   +g cplusg 14711   .rcmulr 14712  Scalarcsca 14714    ^s cpws 14863   MndHom cmhm 16090    GrpHom cghm 16390  mulGrpcmgp 17267   Ringcrg 17324   CRingccrg 17325   RingHom crh 17487  SubRingcsubrg 17551  AssAlgcasa 18084  algSccascl 18086   mVar cmvr 18127   mPoly cmpl 18128   evalSub ces 18295
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1619  ax-4 1632  ax-5 1705  ax-6 1748  ax-7 1791  ax-8 1821  ax-9 1823  ax-10 1838  ax-11 1843  ax-12 1855  ax-13 2000  ax-ext 2435  ax-rep 4568  ax-sep 4578  ax-nul 4586  ax-pow 4634  ax-pr 4695  ax-un 6591  ax-inf2 8075  ax-cnex 9565  ax-resscn 9566  ax-1cn 9567  ax-icn 9568  ax-addcl 9569  ax-addrcl 9570  ax-mulcl 9571  ax-mulrcl 9572  ax-mulcom 9573  ax-addass 9574  ax-mulass 9575  ax-distr 9576  ax-i2m1 9577  ax-1ne0 9578  ax-1rid 9579  ax-rnegex 9580  ax-rrecex 9581  ax-cnre 9582  ax-pre-lttri 9583  ax-pre-lttrn 9584  ax-pre-ltadd 9585  ax-pre-mulgt0 9586
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-ex 1614  df-nf 1618  df-sb 1741  df-eu 2287  df-mo 2288  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-nel 2655  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3794  df-if 3945  df-pw 4017  df-sn 4033  df-pr 4035  df-tp 4037  df-op 4039  df-uni 4252  df-int 4289  df-iun 4334  df-iin 4335  df-br 4457  df-opab 4516  df-mpt 4517  df-tr 4551  df-eprel 4800  df-id 4804  df-po 4809  df-so 4810  df-fr 4847  df-se 4848  df-we 4849  df-ord 4890  df-on 4891  df-lim 4892  df-suc 4893  df-xp 5014  df-rel 5015  df-cnv 5016  df-co 5017  df-dm 5018  df-rn 5019  df-res 5020  df-ima 5021  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-isom 5603  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-of 6539  df-ofr 6540  df-om 6700  df-1st 6799  df-2nd 6800  df-supp 6918  df-recs 7060  df-rdg 7094  df-1o 7148  df-2o 7149  df-oadd 7152  df-er 7329  df-map 7440  df-pm 7441  df-ixp 7489  df-en 7536  df-dom 7537  df-sdom 7538  df-fin 7539  df-fsupp 7848  df-sup 7919  df-oi 7953  df-card 8337  df-pnf 9647  df-mnf 9648  df-xr 9649  df-ltxr 9650  df-le 9651  df-sub 9826  df-neg 9827  df-nn 10557  df-2 10615  df-3 10616  df-4 10617  df-5 10618  df-6 10619  df-7 10620  df-8 10621  df-9 10622  df-10 10623  df-n0 10817  df-z 10886  df-dec 11001  df-uz 11107  df-fz 11698  df-fzo 11821  df-seq 12110  df-hash 12408  df-struct 14645  df-ndx 14646  df-slot 14647  df-base 14648  df-sets 14649  df-ress 14650  df-plusg 14724  df-mulr 14725  df-sca 14727  df-vsca 14728  df-ip 14729  df-tset 14730  df-ple 14731  df-ds 14733  df-hom 14735  df-cco 14736  df-0g 14858  df-gsum 14859  df-prds 14864  df-pws 14866  df-mre 15002  df-mrc 15003  df-acs 15005  df-mgm 15998  df-sgrp 16037  df-mnd 16047  df-mhm 16092  df-submnd 16093  df-grp 16183  df-minusg 16184  df-sbg 16185  df-mulg 16186  df-subg 16324  df-ghm 16391  df-cntz 16481  df-cmn 16926  df-abl 16927  df-mgp 17268  df-ur 17280  df-srg 17284  df-ring 17326  df-cring 17327  df-rnghom 17490  df-subrg 17553  df-lmod 17640  df-lss 17705  df-lsp 17744  df-assa 18087  df-asp 18088  df-ascl 18089  df-psr 18131  df-mvr 18132  df-mpl 18133  df-evls 18297
This theorem is referenced by:  pf1ind  18517  mzpmfp  30841  mzpmfpOLD  30842
  Copyright terms: Public domain W3C validator