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

Theorem mpfind 19967
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  o F  .+  g )  ->  ( ps  <->  ze )
)
mpfind.wf  |-  ( x  =  ( f  o F  .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 2528 . . . 4  |-  ( ph  ->  A  e.  ran  (
( I evalSub  S ) `  R ) )
42mpfrcl 19941 . . . . . . . . 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 2438 . . . . . . . . 9  |-  ( ( I evalSub  S ) `  R
)  =  ( ( I evalSub  S ) `  R
)
7 eqid 2438 . . . . . . . . 9  |-  ( I mPoly 
( Ss  R ) )  =  ( I mPoly  ( Ss  R ) )
8 eqid 2438 . . . . . . . . 9  |-  ( Ss  R )  =  ( Ss  R )
9 eqid 2438 . . . . . . . . 9  |-  ( S  ^s  ( B  ^m  I
) )  =  ( S  ^s  ( B  ^m  I
) )
10 mpfind.cb . . . . . . . . 9  |-  B  =  ( Base `  S
)
116, 7, 8, 9, 10evlsrhm 19944 . . . . . . . 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 2438 . . . . . . . 8  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (
I mPoly  ( Ss  R ) ) )
14 eqid 2438 . . . . . . . 8  |-  ( Base `  ( S  ^s  ( B  ^m  I ) ) )  =  ( Base `  ( S  ^s  ( B  ^m  I ) ) )
1513, 14rhmf 15829 . . . . . . 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 5593 . . . . . 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 5776 . . . . 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 203 . . 3  |-  ( ph  ->  E. y  e.  (
Base `  ( I mPoly  ( Ss  R ) ) ) ( ( ( I evalSub  S ) `  R
) `  y )  =  A )
22 ffun 5595 . . . . . . . 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 453 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  Fun  ( ( I evalSub  S ) `  R
) )
25 eqid 2438 . . . . . . 7  |-  ( Base `  ( Ss  R ) )  =  ( Base `  ( Ss  R ) )
26 eqid 2438 . . . . . . 7  |-  ( I mVar  ( Ss  R ) )  =  ( I mVar  ( Ss  R ) )
27 eqid 2438 . . . . . . 7  |-  ( +g  `  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (
I mPoly  ( Ss  R ) ) )
28 eqid 2438 . . . . . . 7  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( .r `  ( I mPoly  ( Ss  R
) ) )
29 eqid 2438 . . . . . . 7  |-  (algSc `  ( I mPoly  ( Ss  R
) ) )  =  (algSc `  ( I mPoly  ( Ss  R ) ) )
305simp1d 970 . . . . . . . . . . . 12  |-  ( ph  ->  I  e.  _V )
315simp2d 971 . . . . . . . . . . . . . 14  |-  ( ph  ->  S  e.  CRing )
325simp3d 972 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  e.  (SubRing `  S
) )
338subrgcrng 15874 . . . . . . . . . . . . . 14  |-  ( ( S  e.  CRing  /\  R  e.  (SubRing `  S )
)  ->  ( Ss  R
)  e.  CRing )
3431, 32, 33syl2anc 644 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  e.  CRing )
35 crngrng 15676 . . . . . . . . . . . . 13  |-  ( ( Ss  R )  e.  CRing  -> 
( Ss  R )  e.  Ring )
3634, 35syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  ( Ss  R )  e.  Ring )
377mplrng 16517 . . . . . . . . . . . 12  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  Ring )  ->  ( I mPoly  ( Ss  R ) )  e. 
Ring )
3830, 36, 37syl2anc 644 . . . . . . . . . . 11  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e.  Ring )
3938adantr 453 . . . . . . . . . 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 734 . . . . . . . . . . . 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 5852 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . 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 203 . . . . . . . . . . 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 447 . . . . . . . . . 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 735 . . . . . . . . . . . 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 5852 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . 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 203 . . . . . . . . . . 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 447 . . . . . . . . . 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 15693 . . . . . . . . . 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 1185 . . . . . . . . 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 15828 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . 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 2438 . . . . . . . . . . . . 13  |-  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  ( S  ^s  ( B  ^m  I ) ) )
5813, 27, 57ghmlin 15013 . . . . . . . . . . . 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 1185 . . . . . . . . . . 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 453 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  S  e.  CRing )
61 ovex 6108 . . . . . . . . . . . . 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 453 . . . . . . . . . . . . 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 5873 . . . . . . . . . . . 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 5873 . . . . . . . . . . . 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 13714 . . . . . . . . . . 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 )  o F 
.+  ( ( ( I evalSub  S ) `  R
) `  j )
) )
6859, 67eqtrd 2470 . . . . . . . . . 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 )  o F  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) ) )
69 simpl 445 . . . . . . . . . . 11  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ph )
7018adantr 453 . . . . . . . . . . . . . 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 5869 . . . . . . . . . . . . . 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 644 . . . . . . . . . . . . 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 2529 . . . . . . . . . . . 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 453 . . . . . . . . . . . . 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 5846 . . . . . . . . . . . . 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 644 . . . . . . . . . . . 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 520 . . . . . . . . . . 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 5869 . . . . . . . . . . . . . 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 644 . . . . . . . . . . . . 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 2529 . . . . . . . . . . . 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 5846 . . . . . . . . . . . . 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 644 . . . . . . . . . . . 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 520 . . . . . . . . . . 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 5744 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  i )  e.  _V
85 fvex 5744 . . . . . . . . . . . 12  |-  ( ( ( I evalSub  S ) `
 R ) `  j )  e.  _V
86 eleq1 2498 . . . . . . . . . . . . . . . 16  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( f  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  i )  e.  Q
) )
87 vex 2961 . . . . . . . . . . . . . . . . . 18  |-  f  e. 
_V
88 mpfind.wc . . . . . . . . . . . . . . . . . 18  |-  ( x  =  f  ->  ( ps 
<->  ta ) )
8987, 88elab 3084 . . . . . . . . . . . . . . . . 17  |-  ( f  e.  { x  |  ps }  <->  ta )
90 eleq1 2498 . . . . . . . . . . . . . . . . 17  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( f  e.  {
x  |  ps }  <->  ( ( ( I evalSub  S
) `  R ) `  i )  e.  {
x  |  ps }
) )
9189, 90syl5bbr 252 . . . . . . . . . . . . . . . 16  |-  ( f  =  ( ( ( I evalSub  S ) `  R
) `  i )  ->  ( ta  <->  ( (
( I evalSub  S ) `  R ) `  i
)  e.  { x  |  ps } ) )
9286, 91anbi12d 693 . . . . . . . . . . . . . . 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 2498 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( g  e.  Q  <->  ( ( ( I evalSub  S
) `  R ) `  j )  e.  Q
) )
94 vex 2961 . . . . . . . . . . . . . . . . . 18  |-  g  e. 
_V
95 mpfind.wd . . . . . . . . . . . . . . . . . 18  |-  ( x  =  g  ->  ( ps 
<->  et ) )
9694, 95elab 3084 . . . . . . . . . . . . . . . . 17  |-  ( g  e.  { x  |  ps }  <->  et )
97 eleq1 2498 . . . . . . . . . . . . . . . . 17  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( g  e.  {
x  |  ps }  <->  ( ( ( I evalSub  S
) `  R ) `  j )  e.  {
x  |  ps }
) )
9896, 97syl5bbr 252 . . . . . . . . . . . . . . . 16  |-  ( g  =  ( ( ( I evalSub  S ) `  R
) `  j )  ->  ( et  <->  ( (
( I evalSub  S ) `  R ) `  j
)  e.  { x  |  ps } ) )
9993, 98anbi12d 693 . . . . . . . . . . . . . . 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 845 . . . . . . . . . . . . . 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 686 . . . . . . . . . . . . 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 6108 . . . . . . . . . . . . . . 15  |-  ( f  o F  .+  g
)  e.  _V
103 mpfind.we . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  o F  .+  g )  ->  ( ps  <->  ze )
)
104102, 103elab 3084 . . . . . . . . . . . . . 14  |-  ( ( f  o F  .+  g )  e.  {
x  |  ps }  <->  ze )
105 oveq12 6092 . . . . . . . . . . . . . . 15  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( f  o F  .+  g )  =  ( ( ( ( I evalSub  S ) `
 R ) `  i )  o F 
.+  ( ( ( I evalSub  S ) `  R
) `  j )
) )
106105eleq1d 2504 . . . . . . . . . . . . . 14  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
f  o F  .+  g )  e.  {
x  |  ps }  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  o F  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
107104, 106syl5bbr 252 . . . . . . . . . . . . 13  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( ze  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  o F  .+  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
108101, 107imbi12d 313 . . . . . . . . . . . 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 )  o F  .+  ( ( ( 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 3009 . . . . . . . . . . 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 )  o F 
.+  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
11169, 77, 83, 110syl12anc 1183 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  o F 
.+  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
11268, 111eqeltrd 2512 . . . . . . . . 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 5852 . . . . . . . . . . 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 453 . . . . . . . . 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 890 . . . . . . . 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 697 . . . . . . 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 15679 . . . . . . . . . 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 1185 . . . . . . . . 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 2438 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( I mPoly  ( Ss  R
) ) )  =  (mulGrp `  ( I mPoly  ( Ss  R ) ) )
121 eqid 2438 . . . . . . . . . . . . . . 15  |-  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) )  =  (mulGrp `  ( S  ^s  ( B  ^m  I
) ) )
122120, 121rhmmhm 15827 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . 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 15656 . . . . . . . . . . . . 13  |-  ( Base `  ( I mPoly  ( Ss  R ) ) )  =  ( Base `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
126120, 28mgpplusg 15654 . . . . . . . . . . . . 13  |-  ( .r
`  ( I mPoly  ( Ss  R ) ) )  =  ( +g  `  (mulGrp `  ( I mPoly  ( Ss  R ) ) ) )
127 eqid 2438 . . . . . . . . . . . . . 14  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )
128121, 127mgpplusg 15654 . . . . . . . . . . . . 13  |-  ( .r
`  ( S  ^s  ( B  ^m  I ) ) )  =  ( +g  `  (mulGrp `  ( S  ^s  ( B  ^m  I ) ) ) )
129125, 126, 128mhmlin 14747 . . . . . . . . . . . 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 1185 . . . . . . . . . . 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 13715 . . . . . . . . . . 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 )  o F 
.x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
133130, 132eqtrd 2470 . . . . . . . . . 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 )  o F 
.x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
134 ovex 6108 . . . . . . . . . . . . . . 15  |-  ( f  o F  .x.  g
)  e.  _V
135 mpfind.wf . . . . . . . . . . . . . . 15  |-  ( x  =  ( f  o F  .x.  g )  ->  ( ps  <->  si )
)
136134, 135elab 3084 . . . . . . . . . . . . . 14  |-  ( ( f  o F  .x.  g )  e.  {
x  |  ps }  <->  si )
137 oveq12 6092 . . . . . . . . . . . . . . 15  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( f  o F  .x.  g )  =  ( ( ( ( I evalSub  S ) `
 R ) `  i )  o F 
.x.  ( ( ( I evalSub  S ) `  R
) `  j )
) )
138137eleq1d 2504 . . . . . . . . . . . . . 14  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( (
f  o F  .x.  g )  e.  {
x  |  ps }  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  o F  .x.  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
139136, 138syl5bbr 252 . . . . . . . . . . . . 13  |-  ( ( f  =  ( ( ( I evalSub  S ) `
 R ) `  i )  /\  g  =  ( ( ( I evalSub  S ) `  R
) `  j )
)  ->  ( si  <->  ( ( ( ( I evalSub  S ) `  R
) `  i )  o F  .x.  ( ( ( I evalSub  S ) `
 R ) `  j ) )  e. 
{ x  |  ps } ) )
140101, 139imbi12d 313 . . . . . . . . . . . 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 )  o F  .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 3009 . . . . . . . . . . 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 )  o F 
.x.  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
14369, 77, 83, 142syl12anc 1183 . . . . . . . . . 10  |-  ( (
ph  /\  ( i  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } )  /\  j  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) ) )  ->  ( ( ( ( I evalSub  S ) `
 R ) `  i )  o F 
.x.  ( ( ( I evalSub  S ) `  R
) `  j )
)  e.  { x  |  ps } )
144133, 143eqeltrd 2512 . . . . . . . . 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 5852 . . . . . . . . . . 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 453 . . . . . . . . 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 890 . . . . . . . 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 697 . . . . . . 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 16519 . . . . . . . . . . . . . 14  |-  ( ( I  e.  _V  /\  ( Ss  R )  e.  CRing )  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg
)
15130, 34, 150syl2anc 644 . . . . . . . . . . . . 13  |-  ( ph  ->  ( I mPoly  ( Ss  R ) )  e. AssAlg )
152 eqid 2438 . . . . . . . . . . . . . 14  |-  (Scalar `  ( I mPoly  ( Ss  R
) ) )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) )
15329, 152asclrhm 16402 . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . 13  |-  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
156155, 13rhmf 15829 . . . . . . . . . . . 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 453 . . . . . . . . . 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 16510 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Ss  R )  =  (Scalar `  ( I mPoly  ( Ss  R ) ) ) )
160159fveq2d 5734 . . . . . . . . . . . 12  |-  ( ph  ->  ( Base `  ( Ss  R ) )  =  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
161160eleq2d 2505 . . . . . . . . . . 11  |-  ( ph  ->  ( i  e.  (
Base `  ( Ss  R
) )  <->  i  e.  ( Base `  (Scalar `  (
I mPoly  ( Ss  R ) ) ) ) ) )
162161biimpa 472 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  ( Base `  (Scalar `  ( I mPoly  ( Ss  R ) ) ) ) )
163158, 162ffvelrnd 5873 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
16430adantr 453 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  I  e.  _V )
16531adantr 453 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  S  e.  CRing )
16632adantr 453 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  ->  R  e.  (SubRing `  S
) )
16710subrgss 15871 . . . . . . . . . . . . . . 15  |-  ( R  e.  (SubRing `  S
)  ->  R  C_  B
)
16832, 167syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  R  C_  B )
1698, 10ressbas2 13522 . . . . . . . . . . . . . 14  |-  ( R 
C_  B  ->  R  =  ( Base `  ( Ss  R ) ) )
170168, 169syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  R  =  ( Base `  ( Ss  R ) ) )
171170eleq2d 2505 . . . . . . . . . . . 12  |-  ( ph  ->  ( i  e.  R  <->  i  e.  ( Base `  ( Ss  R ) ) ) )
172171biimpar 473 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
i  e.  R )
1736, 7, 8, 10, 29, 164, 165, 166, 172evlssca 19945 . . . . . . . . . 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 2791 . . . . . . . . . . . . 13  |-  ( ph  ->  A. f  e.  R  ch )
176 snex 4407 . . . . . . . . . . . . . . . . 17  |-  { f }  e.  _V
17761, 176xpex 4992 . . . . . . . . . . . . . . . 16  |-  ( ( B  ^m  I )  X.  { f } )  e.  _V
178 mpfind.wa . . . . . . . . . . . . . . . 16  |-  ( x  =  ( ( B  ^m  I )  X. 
{ f } )  ->  ( ps  <->  ch )
)
179177, 178elab 3084 . . . . . . . . . . . . . . 15  |-  ( ( ( B  ^m  I
)  X.  { f } )  e.  {
x  |  ps }  <->  ch )
180 sneq 3827 . . . . . . . . . . . . . . . . 17  |-  ( f  =  i  ->  { f }  =  { i } )
181180xpeq2d 4904 . . . . . . . . . . . . . . . 16  |-  ( f  =  i  ->  (
( B  ^m  I
)  X.  { f } )  =  ( ( B  ^m  I
)  X.  { i } ) )
182181eleq1d 2504 . . . . . . . . . . . . . . 15  |-  ( f  =  i  ->  (
( ( B  ^m  I )  X.  {
f } )  e. 
{ x  |  ps } 
<->  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } ) )
183179, 182syl5bbr 252 . . . . . . . . . . . . . 14  |-  ( f  =  i  ->  ( ch 
<->  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } ) )
184183cbvralv 2934 . . . . . . . . . . . . 13  |-  ( A. f  e.  R  ch  <->  A. i  e.  R  ( ( B  ^m  I
)  X.  { i } )  e.  {
x  |  ps }
)
185175, 184sylib 190 . . . . . . . . . . . 12  |-  ( ph  ->  A. i  e.  R  ( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } )
186185r19.21bi 2806 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  R )  ->  (
( B  ^m  I
)  X.  { i } )  e.  {
x  |  ps }
)
187172, 186syldan 458 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( B  ^m  I )  X.  {
i } )  e. 
{ x  |  ps } )
188173, 187eqeltrd 2512 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( ( ( I evalSub  S ) `  R
) `  ( (algSc `  ( I mPoly  ( Ss  R ) ) ) `  i ) )  e. 
{ x  |  ps } )
189 elpreima 5852 . . . . . . . . . . 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 453 . . . . . . . . 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 890 . . . . . . . 8  |-  ( (
ph  /\  i  e.  ( Base `  ( Ss  R
) ) )  -> 
( (algSc `  (
I mPoly  ( Ss  R ) ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
193192adantlr 697 . . . . . . 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 453 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  I  e.  _V )
19536adantr 453 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  ( Ss  R )  e.  Ring )
196 simpr 449 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  i  e.  I )
1977, 26, 13, 194, 195, 196mvrcl 16514 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
19831adantr 453 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  S  e.  CRing )
19932adantr 453 . . . . . . . . . . 11  |-  ( (
ph  /\  i  e.  I )  ->  R  e.  (SubRing `  S )
)
2006, 26, 8, 10, 194, 198, 199, 196evlsvar 19946 . . . . . . . . . 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 5968 . . . . . . . . . . . . . . 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 3084 . . . . . . . . . . . . . 14  |-  ( ( g  e.  ( B  ^m  I )  |->  ( g `  f ) )  e.  { x  |  ps }  <->  th )
205201, 204sylibr 205 . . . . . . . . . . . . 13  |-  ( (
ph  /\  f  e.  I )  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  e.  { x  |  ps } )
206205ralrimiva 2791 . . . . . . . . . . . 12  |-  ( ph  ->  A. f  e.  I 
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }
)
207 fveq2 5730 . . . . . . . . . . . . . . 15  |-  ( f  =  i  ->  (
g `  f )  =  ( g `  i ) )
208207mpteq2dv 4298 . . . . . . . . . . . . . 14  |-  ( f  =  i  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  f ) )  =  ( g  e.  ( B  ^m  I )  |->  ( g `
 i ) ) )
209208eleq1d 2504 . . . . . . . . . . . . 13  |-  ( f  =  i  ->  (
( g  e.  ( B  ^m  I ) 
|->  ( g `  f
) )  e.  {
x  |  ps }  <->  ( g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } ) )
210209cbvralv 2934 . . . . . . . . . . . 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 190 . . . . . . . . . . 11  |-  ( ph  ->  A. i  e.  I 
( g  e.  ( B  ^m  I ) 
|->  ( g `  i
) )  e.  {
x  |  ps }
)
212211r19.21bi 2806 . . . . . . . . . 10  |-  ( (
ph  /\  i  e.  I )  ->  (
g  e.  ( B  ^m  I )  |->  ( g `  i ) )  e.  { x  |  ps } )
213200, 212eqeltrd 2512 . . . . . . . . 9  |-  ( (
ph  /\  i  e.  I )  ->  (
( ( I evalSub  S
) `  R ) `  ( ( I mVar  ( Ss  R ) ) `  i ) )  e. 
{ x  |  ps } )
214 elpreima 5852 . . . . . . . . . . 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 453 . . . . . . . . 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 890 . . . . . . . 8  |-  ( (
ph  /\  i  e.  I )  ->  (
( I mVar  ( Ss  R ) ) `  i
)  e.  ( `' ( ( I evalSub  S
) `  R ) " { x  |  ps } ) )
218217adantlr 697 . . . . . . 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 449 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )
22030adantr 453 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  I  e.  _V )
22134adantr 453 . . . . . . 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 16564 . . . . . 6  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  y  e.  ( `' ( ( I evalSub  S ) `  R
) " { x  |  ps } ) )
223 fvimacnvi 5846 . . . . . 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 644 . . . . 5  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( (
( I evalSub  S ) `  R ) `  y
)  e.  { x  |  ps } )
225 eleq1 2498 . . . . 5  |-  ( ( ( ( I evalSub  S
) `  R ) `  y )  =  A  ->  ( ( ( ( I evalSub  S ) `
 R ) `  y )  e.  {
x  |  ps }  <->  A  e.  { x  |  ps } ) )
226224, 225syl5ibcom 213 . . . 4  |-  ( (
ph  /\  y  e.  ( Base `  ( I mPoly  ( Ss  R ) ) ) )  ->  ( (
( ( I evalSub  S
) `  R ) `  y )  =  A  ->  A  e.  {
x  |  ps }
) )
227226rexlimdva 2832 . . 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 3085 . . 3  |-  ( A  e.  Q  ->  ( A  e.  { x  |  ps }  <->  rh )
)
2311, 230syl 16 . 2  |-  ( ph  ->  ( A  e.  {
x  |  ps }  <->  rh ) )
232228, 231mpbid 203 1  |-  ( ph  ->  rh )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   {cab 2424   A.wral 2707   E.wrex 2708   _Vcvv 2958    C_ wss 3322   {csn 3816    e. cmpt 4268    X. cxp 4878   `'ccnv 4879   ran crn 4881   "cima 4883   Fun wfun 5450    Fn wfn 5451   -->wf 5452   ` cfv 5456  (class class class)co 6083    o Fcof 6305    ^m cmap 7020   Basecbs 13471   ↾s cress 13472   +g cplusg 13531   .rcmulr 13532  Scalarcsca 13534    ^s cpws 13672   MndHom cmhm 14738    GrpHom cghm 15005  mulGrpcmgp 15650   Ringcrg 15662   CRingccrg 15663   RingHom crh 15819  SubRingcsubrg 15866  AssAlgcasa 16371  algSccascl 16373   mVar cmvr 16409   mPoly cmpl 16410   evalSub ces 16411
This theorem is referenced by:  pf1ind  19977  mzpmfp  26806
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4322  ax-sep 4332  ax-nul 4340  ax-pow 4379  ax-pr 4405  ax-un 4703  ax-inf2 7598  ax-cnex 9048  ax-resscn 9049  ax-1cn 9050  ax-icn 9051  ax-addcl 9052  ax-addrcl 9053  ax-mulcl 9054  ax-mulrcl 9055  ax-mulcom 9056  ax-addass 9057  ax-mulass 9058  ax-distr 9059  ax-i2m1 9060  ax-1ne0 9061  ax-1rid 9062  ax-rnegex 9063  ax-rrecex 9064  ax-cnre 9065  ax-pre-lttri 9066  ax-pre-lttrn 9067  ax-pre-ltadd 9068  ax-pre-mulgt0 9069
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-int 4053  df-iun 4097  df-iin 4098  df-br 4215  df-opab 4269  df-mpt 4270  df-tr 4305  df-eprel 4496  df-id 4500  df-po 4505  df-so 4506  df-fr 4543  df-se 4544  df-we 4545  df-ord 4586  df-on 4587  df-lim 4588  df-suc 4589  df-om 4848  df-xp 4886  df-rel 4887  df-cnv 4888  df-co 4889  df-dm 4890  df-rn 4891  df-res 4892  df-ima 4893  df-iota 5420  df-fun 5458  df-fn 5459  df-f 5460  df-f1 5461  df-fo 5462  df-f1o 5463  df-fv 5464  df-isom 5465  df-ov 6086  df-oprab 6087  df-mpt2 6088  df-of 6307  df-ofr 6308  df-1st 6351  df-2nd 6352  df-riota 6551  df-recs 6635  df-rdg 6670  df-1o 6726  df-2o 6727  df-oadd 6730  df-er 6907  df-map 7022  df-pm 7023  df-ixp 7066  df-en 7112  df-dom 7113  df-sdom 7114  df-fin 7115  df-sup 7448  df-oi 7481  df-card 7828  df-pnf 9124  df-mnf 9125  df-xr 9126  df-ltxr 9127  df-le 9128  df-sub 9295  df-neg 9296  df-nn 10003  df-2 10060  df-3 10061  df-4 10062  df-5 10063  df-6 10064  df-7 10065  df-8 10066  df-9 10067  df-10 10068  df-n0 10224  df-z 10285  df-dec 10385  df-uz 10491  df-fz 11046  df-fzo 11138  df-seq 11326  df-hash 11621  df-struct 13473  df-ndx 13474  df-slot 13475  df-base 13476  df-sets 13477  df-ress 13478  df-plusg 13544  df-mulr 13545  df-sca 13547  df-vsca 13548  df-tset 13550  df-ple 13551  df-ds 13553  df-hom 13555  df-cco 13556  df-prds 13673  df-pws 13675  df-0g 13729  df-gsum 13730  df-mre 13813  df-mrc 13814  df-acs 13816  df-mnd 14692  df-mhm 14740  df-submnd 14741  df-grp 14814  df-minusg 14815  df-sbg 14816  df-mulg 14817  df-subg 14943  df-ghm 15006  df-cntz 15118  df-cmn 15416  df-abl 15417  df-mgp 15651  df-rng 15665  df-cring 15666  df-ur 15667  df-rnghom 15821  df-subrg 15868  df-lmod 15954  df-lss 16011  df-lsp 16050  df-assa 16374  df-asp 16375  df-ascl 16376  df-psr 16419  df-mvr 16420  df-mpl 16421  df-evls 16422
  Copyright terms: Public domain W3C validator