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

Theorem mpfind 21396
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 2523 . . . 4  |-  ( ph  ->  A  e.  ran  (
( I evalSub  S ) `  R ) )
42mpfrcl 21370 . . . . . . . . 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 2433 . . . . . . . . 9  |-  ( ( I evalSub  S ) `  R
)  =  ( ( I evalSub  S ) `  R
)
7 eqid 2433 . . . . . . . . 9  |-  ( I mPoly 
( Ss  R ) )  =  ( I mPoly  ( Ss  R ) )
8 eqid 2433 . . . . . . . . 9  |-  ( Ss  R )  =  ( Ss  R )
9 eqid 2433 . . . . . . . . 9  |-  ( S  ^s  ( B  ^m  I
) )  =  ( S  ^s  ( B  ^m  I
) )
10 mpfind.cb . . . . . . . . 9  |-  B  =  ( Base `  S
)
116, 7, 8, 9, 10evlsrhm 21373 . . . . . . . 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 2433 . . . . . . . 8  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (
I mPoly  ( Ss  R ) ) )
14 eqid 2433 . . . . . . . 8  |-  ( Base `  ( S  ^s  ( B  ^m  I ) ) )  =  ( Base `  ( S  ^s  ( B  ^m  I ) ) )
1513, 14rhmf 16748 . . . . . . 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 5547 . . . . . 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 5727 . . . . 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 5549 . . . . . . . 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 462 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  Fun  ( ( I evalSub  S ) `  R
) )
25 eqid 2433 . . . . . . 7  |-  ( Base `  ( Ss  R ) )  =  ( Base `  ( Ss  R ) )
26 eqid 2433 . . . . . . 7  |-  ( I mVar  ( Ss  R ) )  =  ( I mVar  ( Ss  R ) )
27 eqid 2433 . . . . . . 7  |-  ( +g  `  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (
I mPoly  ( Ss  R ) ) )
28 eqid 2433 . . . . . . 7  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( .r `  ( I mPoly  ( Ss  R
) ) )
29 eqid 2433 . . . . . . 7  |-  (algSc `  ( I mPoly  ( Ss  R
) ) )  =  (algSc `  ( I mPoly  ( Ss  R ) ) )
305simp1d 993 . . . . . . . . . . . 12  |-  ( ph  ->  I  e.  _V )
315simp2d 994 . . . . . . . . . . . . . 14  |-  ( ph  ->  S  e.  CRing )
325simp3d 995 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  e.  (SubRing `  S
) )
338subrgcrng 16793 . . . . . . . . . . . . . 14  |-  ( ( S  e.  CRing  /\  R  e.  (SubRing `  S )
)  ->  ( Ss  R
)  e.  CRing )
3431, 32, 33syl2anc 654 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  e.  CRing )
35 crngrng 16591 . . . . . . . . . . . . 13  |-  ( ( Ss  R )  e.  CRing  -> 
( Ss  R )  e.  Ring )
3634, 35syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  ( Ss  R )  e.  Ring )
377mplrng 17465 . . . . . . . . . . . 12  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  Ring )  ->  ( I mPoly  ( Ss  R ) )  e. 
Ring )
3830, 36, 37syl2anc 654 . . . . . . . . . . 11  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e.  Ring )
3938adantr 462 . . . . . . . . . 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 748 . . . . . . . . . . . 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 5811 . . . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 456 . . . . . . . . . 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 749 . . . . . . . . . . . 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 5811 . . . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 456 . . . . . . . . . 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, 27rngacl 16608 . . . . . . . . . 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 1211 . . . . . . . . 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 16747 . . . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 2433 . . . . . . . . . . . . 13  |-  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )
5813, 27, 57ghmlin 15732 . . . . . . . . . . . 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 1211 . . . . . . . . . . 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 462 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  S  e.  CRing )
61 ovex 6105 . . . . . . . . . . . . 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 462 . . . . . . . . . . . . 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 5832 . . . . . . . . . . . 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 5832 . . . . . . . . . . . 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 14411 . . . . . . . . . . 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 2465 . . . . . . . . . 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 454 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ph )
7018adantr 462 . . . . . . . . . . . . . 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 5828 . . . . . . . . . . . . . 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 654 . . . . . . . . . . . . 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 2524 . . . . . . . . . . . 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 462 . . . . . . . . . . . . 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 5805 . . . . . . . . . . . . 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 654 . . . . . . . . . . . 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 529 . . . . . . . . . . 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 5828 . . . . . . . . . . . . . 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 654 . . . . . . . . . . . . 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 2524 . . . . . . . . . . . 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 5805 . . . . . . . . . . . . 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 654 . . . . . . . . . . . 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 529 . . . . . . . . . . 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 5689 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  i )  e.  _V
85 fvex 5689 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  j )  e.  _V
86 eleq1 2493 . . . . . . . . . . . . . . . 16  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( f  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  i )  e.  Q
) )
87 vex 2965 . . . . . . . . . . . . . . . . . 18  |-  f  e. 
_V
88 mpfind.wc . . . . . . . . . . . . . . . . . 18  |-  ( x  =  f  ->  ( ps 
<->  ta ) )
8987, 88elab 3095 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  { x  |  ps }  <->  ta )
90 eleq1 2493 . . . . . . . . . . . . . . . . 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 703 . . . . . . . . . . . . . . 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 2493 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( g  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  j )  e.  Q
) )
94 vex 2965 . . . . . . . . . . . . . . . . . 18  |-  g  e. 
_V
95 mpfind.wd . . . . . . . . . . . . . . . . . 18  |-  ( x  =  g  ->  ( ps 
<->  et ) )
9694, 95elab 3095 . . . . . . . . . . . . . . . . 17  |-  ( g  e.  { x  |  ps }  <->  et )
97 eleq1 2493 . . . . . . . . . . . . . . . . 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 703 . . . . . . . . . . . . . . 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 861 . . . . . . . . . . . . . 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 696 . . . . . . . . . . . . 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 6105 . . . . . . . . . . . . . . 15  |-  ( f  oF  .+  g
)  e.  _V
103 mpfind.we . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  oF  .+  g )  ->  ( ps  <->  ze )
)
104102, 103elab 3095 . . . . . . . . . . . . . 14  |-  ( ( f  oF  .+  g )  e.  {
x  |  ps }  <->  ze )
105 oveq12 6089 . . . . . . . . . . . . . . 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 2499 . . . . . . . . . . . . . 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 3014 . . . . . . . . . . 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 1209 . . . . . . . . . 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 2507 . . . . . . . . 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 5811 . . . . . . . . . . 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 462 . . . . . . . . 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 906 . . . . . . . 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 707 . . . . . . 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, 28rngcl 16594 . . . . . . . . . 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 1211 . . . . . . . . 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 2433 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( I mPoly  ( Ss  R
) ) )  =  (mulGrp `  ( I mPoly  ( Ss  R ) ) )
121 eqid 2433 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) )  =  (mulGrp `  ( S  ^s  ( B  ^m  I
) ) )
122120, 121rhmmhm 16746 . . . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 16571 . . . . . . . . . . . . 13  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
126120, 28mgpplusg 16569 . . . . . . . . . . . . 13  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
127 eqid 2433 . . . . . . . . . . . . . 14  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )
128121, 127mgpplusg 16569 . . . . . . . . . . . . 13  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) )
129125, 126, 128mhmlin 15454 . . . . . . . . . . . 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 1211 . . . . . . . . . . 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 14412 . . . . . . . . . . 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 2465 . . . . . . . . . 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 6105 . . . . . . . . . . . . . . 15  |-  ( f  oF  .x.  g
)  e.  _V
135 mpfind.wf . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  oF  .x.  g )  ->  ( ps  <->  si )
)
136134, 135elab 3095 . . . . . . . . . . . . . 14  |-  ( ( f  oF  .x.  g )  e.  {
x  |  ps }  <->  si )
137 oveq12 6089 . . . . . . . . . . . . . . 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 2499 . . . . . . . . . . . . . 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 3014 . . . . . . . . . . 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 1209 . . . . . . . . . 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 2507 . . . . . . . . 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 5811 . . . . . . . . . . 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 462 . . . . . . . . 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 906 . . . . . . . 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 707 . . . . . . 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 17467 . . . . . . . . . . . . . 14  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  CRing )  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg
)
15130, 34, 150syl2anc 654 . . . . . . . . . . . . 13  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg )
152 eqid 2433 . . . . . . . . . . . . . 14  |-  (Scalar `  ( I mPoly  ( Ss  R
) ) )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) )
15329, 152asclrhm 17334 . . . . . . . . . . . . 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 2433 . . . . . . . . . . . . 13  |-  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
156155, 13rhmf 16748 . . . . . . . . . . . 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 462 . . . . . . . . . 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 17458 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
160159fveq2d 5683 . . . . . . . . . . . 12  |-  ( ph  ->  ( Base `  ( Ss  R ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
161160eleq2d 2500 . . . . . . . . . . 11  |-  ( ph  ->  ( i  e.  (
Base `  ( Ss  R
) )  <->  i  e.  ( Base `  (Scalar `  (
I mPoly  ( Ss  R ) ) ) ) ) )
162161biimpa 481 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
163158, 162ffvelrnd 5832 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
16430adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  I  e.  _V )
16531adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  S  e.  CRing )
16632adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  R  e.  (SubRing `  S
) )
16710subrgss 16790 . . . . . . . . . . . . . . 15  |-  ( R  e.  (SubRing `  S
)  ->  R  C_  B
)
16832, 167syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  C_  B )
1698, 10ressbas2 14212 . . . . . . . . . . . . . 14  |-  ( R 
C_  B  ->  R  =  ( Base `  ( Ss  R ) ) )
170168, 169syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  R  =  ( Base `  ( Ss  R ) ) )
171170eleq2d 2500 . . . . . . . . . . . 12  |-  ( ph  ->  ( i  e.  R  <->  i  e.  ( Base `  ( Ss  R ) ) ) )
172171biimpar 482 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  R )
1736, 7, 8, 10, 29, 164, 165, 166, 172evlssca 21374 . . . . . . . . . 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 2789 . . . . . . . . . . . . 13  |-  ( ph  ->  A. f  e.  R  ch )
176 snex 4521 . . . . . . . . . . . . . . . . 17  |-  { f }  e.  _V
17761, 176xpex 6497 . . . . . . . . . . . . . . . 16  |-  ( ( B  ^m  I )  X.  { f } )  e.  _V
178 mpfind.wa . . . . . . . . . . . . . . . 16  |-  ( x  =  ( ( B  ^m  I )  X. 
{ f } )  ->  ( ps  <->  ch )
)
179177, 178elab 3095 . . . . . . . . . . . . . . 15  |-  ( ( ( B  ^m  I
)  X.  { f } )  e.  {
x  |  ps }  <->  ch )
180 sneq 3875 . . . . . . . . . . . . . . . . 17  |-  ( f  =  i  ->  { f }  =  { i } )
181180xpeq2d 4851 . . . . . . . . . . . . . . . 16  |-  ( f  =  i  ->  (
( B  ^m  I
)  X.  { f } )  =  ( ( B  ^m  I
)  X.  { i } ) )
182181eleq1d 2499 . . . . . . . . . . . . . . 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 2937 . . . . . . . . . . . . 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 2804 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  R )  ->  (
( B  ^m  I
)  X.  { i } )  e.  {
x  |  ps }
)
187172, 186syldan 467 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } )
188173, 187eqeltrd 2507 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  ( (algSc `  ( I mPoly  ( Ss  R ) ) ) `  i ) )  e. 
{ x  |  ps } )
189 elpreima 5811 . . . . . . . . . . 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 462 . . . . . . . . 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 906 . . . . . . . 8  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
193192adantlr 707 . . . . . . 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 462 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  I  e.  _V )
19536adantr 462 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  ( Ss  R )  e.  Ring )
196 simpr 458 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  i  e.  I )
1977, 26, 13, 194, 195, 196mvrcl 17462 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
19831adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  S  e.  CRing )
19932adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  R  e.  (SubRing `  S )
)
2006, 26, 8, 10, 194, 198, 199, 196evlsvar 21375 . . . . . . . . . 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 5935 . . . . . . . . . . . . . . 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 3095 . . . . . . . . . . . . . 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 2789 . . . . . . . . . . . 12  |-  ( ph  ->  A. f  e.  I 
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }
)
207 fveq2 5679 . . . . . . . . . . . . . . 15  |-  ( f  =  i  ->  (
g `  f )  =  ( g `  i ) )
208207mpteq2dv 4367 . . . . . . . . . . . . . 14  |-  ( f  =  i  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  =  ( g  e.  ( B  ^m  I )  |->  ( g `
 i ) ) )
209208eleq1d 2499 . . . . . . . . . . . . 13  |-  ( f  =  i  ->  (
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }  <->  ( g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } ) )
210209cbvralv 2937 . . . . . . . . . . . 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 2804 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } )
213200, 212eqeltrd 2507 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( ( I evalSub  S
) `  R ) `  ( ( I mVar  ( Ss  R ) ) `  i ) )  e. 
{ x  |  ps } )
214 elpreima 5811 . . . . . . . . . . 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 462 . . . . . . . . 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 906 . . . . . . . 8  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
218217adantlr 707 . . . . . . 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 458 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
22030adantr 462 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  I  e.  _V )
22134adantr 462 . . . . . . 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 17516 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
223 fvimacnvi 5805 . . . . . 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 654 . . . . 5  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( (
( I evalSub  S ) `  R ) `  y
)  e.  { x  |  ps } )
225 eleq1 2493 . . . . 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 2831 . . 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 3096 . . 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 958    = wceq 1362    e. wcel 1755   {cab 2419   A.wral 2705   E.wrex 2706   _Vcvv 2962    C_ wss 3316   {csn 3865    e. cmpt 4338    X. cxp 4825   `'ccnv 4826   ran crn 4828   "cima 4830   Fun wfun 5400    Fn wfn 5401   -->wf 5402   ` cfv 5406  (class class class)co 6080    oFcof 6307    ^m cmap 7202   Basecbs 14157   ↾s cress 14158   +g cplusg 14221   .rcmulr 14222  Scalarcsca 14224    ^s cpws 14368   MndHom cmhm 15445    GrpHom cghm 15724  mulGrpcmgp 16565   Ringcrg 16577   CRingccrg 16578   RingHom crh 16738  SubRingcsubrg 16785  AssAlgcasa 17303  algSccascl 17305   mVar cmvr 17341   mPoly cmpl 17342   evalSub ces 17343
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1594  ax-4 1605  ax-5 1669  ax-6 1707  ax-7 1727  ax-8 1757  ax-9 1759  ax-10 1774  ax-11 1779  ax-12 1791  ax-13 1942  ax-ext 2414  ax-rep 4391  ax-sep 4401  ax-nul 4409  ax-pow 4458  ax-pr 4519  ax-un 6361  ax-inf2 7835  ax-cnex 9326  ax-resscn 9327  ax-1cn 9328  ax-icn 9329  ax-addcl 9330  ax-addrcl 9331  ax-mulcl 9332  ax-mulrcl 9333  ax-mulcom 9334  ax-addass 9335  ax-mulass 9336  ax-distr 9337  ax-i2m1 9338  ax-1ne0 9339  ax-1rid 9340  ax-rnegex 9341  ax-rrecex 9342  ax-cnre 9343  ax-pre-lttri 9344  ax-pre-lttrn 9345  ax-pre-ltadd 9346  ax-pre-mulgt0 9347
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 959  df-3an 960  df-tru 1365  df-ex 1590  df-nf 1593  df-sb 1700  df-eu 2258  df-mo 2259  df-clab 2420  df-cleq 2426  df-clel 2429  df-nfc 2558  df-ne 2598  df-nel 2599  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2964  df-sbc 3176  df-csb 3277  df-dif 3319  df-un 3321  df-in 3323  df-ss 3330  df-pss 3332  df-nul 3626  df-if 3780  df-pw 3850  df-sn 3866  df-pr 3868  df-tp 3870  df-op 3872  df-uni 4080  df-int 4117  df-iun 4161  df-iin 4162  df-br 4281  df-opab 4339  df-mpt 4340  df-tr 4374  df-eprel 4619  df-id 4623  df-po 4628  df-so 4629  df-fr 4666  df-se 4667  df-we 4668  df-ord 4709  df-on 4710  df-lim 4711  df-suc 4712  df-xp 4833  df-rel 4834  df-cnv 4835  df-co 4836  df-dm 4837  df-rn 4838  df-res 4839  df-ima 4840  df-iota 5369  df-fun 5408  df-fn 5409  df-f 5410  df-f1 5411  df-fo 5412  df-f1o 5413  df-fv 5414  df-isom 5415  df-riota 6039  df-ov 6083  df-oprab 6084  df-mpt2 6085  df-of 6309  df-ofr 6310  df-om 6466  df-1st 6566  df-2nd 6567  df-supp 6680  df-recs 6818  df-rdg 6852  df-1o 6908  df-2o 6909  df-oadd 6912  df-er 7089  df-map 7204  df-pm 7205  df-ixp 7252  df-en 7299  df-dom 7300  df-sdom 7301  df-fin 7302  df-fsupp 7609  df-sup 7679  df-oi 7712  df-card 8097  df-pnf 9408  df-mnf 9409  df-xr 9410  df-ltxr 9411  df-le 9412  df-sub 9585  df-neg 9586  df-nn 10311  df-2 10368  df-3 10369  df-4 10370  df-5 10371  df-6 10372  df-7 10373  df-8 10374  df-9 10375  df-10 10376  df-n0 10568  df-z 10635  df-dec 10744  df-uz 10850  df-fz 11425  df-fzo 11533  df-seq 11791  df-hash 12088  df-struct 14159  df-ndx 14160  df-slot 14161  df-base 14162  df-sets 14163  df-ress 14164  df-plusg 14234  df-mulr 14235  df-sca 14237  df-vsca 14238  df-ip 14239  df-tset 14240  df-ple 14241  df-ds 14243  df-hom 14245  df-cco 14246  df-0g 14363  df-gsum 14364  df-prds 14369  df-pws 14371  df-mre 14507  df-mrc 14508  df-acs 14510  df-mnd 15398  df-mhm 15447  df-submnd 15448  df-grp 15525  df-minusg 15526  df-sbg 15527  df-mulg 15528  df-subg 15658  df-ghm 15725  df-cntz 15815  df-cmn 16259  df-abl 16260  df-mgp 16566  df-rng 16580  df-cring 16581  df-ur 16582  df-rnghom 16740  df-subrg 16787  df-lmod 16874  df-lss 16936  df-lsp 16975  df-assa 17306  df-asp 17307  df-ascl 17308  df-psr 17351  df-mvr 17352  df-mpl 17353  df-evls 17354
This theorem is referenced by:  pf1ind  21406  mzpmfp  28928  mzpmfpOLD  28929
  Copyright terms: Public domain W3C validator