Metamath Proof Explorer


Theorem esplyindfv

Description: A recursive formula for the elementary symmetric polynomials, evaluated at a given set of points Z . (Contributed by Thierry Arnoux, 15-Feb-2026)

Ref Expression
Hypotheses esplyindfv.m · ˙ = R
esplyindfv.i φ I Fin
esplyindfv.r φ R CRing
esplyindfv.y φ Y I
esplyindfv.j J = I Y
esplyindfv.e No typesetting found for |- E = ( J eSymPoly R ) with typecode |-
esplyindfv.k φ K 0 J
esplyindfv.c C = h 0 J | finSupp 0 h
esplyindfv.f No typesetting found for |- F = ( ( I eSymPoly R ) ` ( K + 1 ) ) with typecode |-
esplyindfv.b B = Base R
esplyindfv.q Q = I eval R
esplyindfv.o O = J eval R
esplyindfv.p + ˙ = + R
esplyindfv.z φ Z : I B
Assertion esplyindfv φ Q F Z = Z Y · ˙ O E K Z J + ˙ O E K + 1 Z J

Proof

Step Hyp Ref Expression
1 esplyindfv.m · ˙ = R
2 esplyindfv.i φ I Fin
3 esplyindfv.r φ R CRing
4 esplyindfv.y φ Y I
5 esplyindfv.j J = I Y
6 esplyindfv.e Could not format E = ( J eSymPoly R ) : No typesetting found for |- E = ( J eSymPoly R ) with typecode |-
7 esplyindfv.k φ K 0 J
8 esplyindfv.c C = h 0 J | finSupp 0 h
9 esplyindfv.f Could not format F = ( ( I eSymPoly R ) ` ( K + 1 ) ) : No typesetting found for |- F = ( ( I eSymPoly R ) ` ( K + 1 ) ) with typecode |-
10 esplyindfv.b B = Base R
11 esplyindfv.q Q = I eval R
12 esplyindfv.o O = J eval R
13 esplyindfv.p + ˙ = + R
14 esplyindfv.z φ Z : I B
15 eqid I mPoly R = I mPoly R
16 eqid I mVar R = I mVar R
17 eqid + I mPoly R = + I mPoly R
18 eqid I mPoly R = I mPoly R
19 eqid h 0 I | finSupp 0 h = h 0 I | finSupp 0 h
20 eqid Could not format ( ( I extendVars R ) ` Y ) = ( ( I extendVars R ) ` Y ) : No typesetting found for |- ( ( I extendVars R ) ` Y ) = ( ( I extendVars R ) ` Y ) with typecode |-
21 3 crngringd φ R Ring
22 7 elfzelzd φ K
23 hashcl I Fin I 0
24 2 23 syl φ I 0
25 24 nn0zd φ I
26 5 uneq1i J Y = I Y Y
27 4 snssd φ Y I
28 undifr Y I I Y Y = I
29 27 28 sylib φ I Y Y = I
30 26 29 eqtrid φ J Y = I
31 30 fveq2d φ J Y = I
32 difssd φ I Y I
33 5 32 eqsstrid φ J I
34 2 33 ssfid φ J Fin
35 neldifsnd φ ¬ Y I Y
36 5 eleq2i Y J Y I Y
37 35 36 sylnibr φ ¬ Y J
38 hashunsng Y I J Fin ¬ Y J J Y = J + 1
39 38 imp Y I J Fin ¬ Y J J Y = J + 1
40 4 34 37 39 syl12anc φ J Y = J + 1
41 31 40 eqtr3d φ I = J + 1
42 41 oveq1d φ I 1 = J + 1 - 1
43 hashcl J Fin J 0
44 34 43 syl φ J 0
45 44 nn0cnd φ J
46 1cnd φ 1
47 45 46 pncand φ J + 1 - 1 = J
48 42 47 eqtr2d φ J = I 1
49 48 oveq2d φ 0 J = 0 I 1
50 7 49 eleqtrd φ K 0 I 1
51 elfzp1b K I K 0 I 1 K + 1 1 I
52 51 biimpa K I K 0 I 1 K + 1 1 I
53 22 25 50 52 syl21anc φ K + 1 1 I
54 15 16 17 18 19 20 2 21 4 5 6 53 8 esplyind Could not format ( ph -> ( ( I eSymPoly R ) ` ( K + 1 ) ) = ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) : No typesetting found for |- ( ph -> ( ( I eSymPoly R ) ` ( K + 1 ) ) = ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) with typecode |-
55 9 54 eqtrid Could not format ( ph -> F = ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) : No typesetting found for |- ( ph -> F = ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) with typecode |-
56 55 fveq2d Could not format ( ph -> ( Q ` F ) = ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ) : No typesetting found for |- ( ph -> ( Q ` F ) = ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ) with typecode |-
57 56 fveq1d Could not format ( ph -> ( ( Q ` F ) ` Z ) = ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) ) : No typesetting found for |- ( ph -> ( ( Q ` F ) ` Z ) = ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) ) with typecode |-
58 eqid Base I mPoly R = Base I mPoly R
59 10 fvexi B V
60 59 a1i φ B V
61 60 2 14 elmapdd φ Z B I
62 11 15 10 58 18 1 2 3 61 16 4 evlvarval φ I mVar R Y Base I mPoly R Q I mVar R Y Z = Z Y
63 eqid 0 R = 0 R
64 eqid Base J mPoly R = Base J mPoly R
65 22 zcnd φ K
66 65 46 pncand φ K + 1 - 1 = K
67 66 fveq2d φ E K + 1 - 1 = E K
68 6 fveq1i Could not format ( E ` K ) = ( ( J eSymPoly R ) ` K ) : No typesetting found for |- ( E ` K ) = ( ( J eSymPoly R ) ` K ) with typecode |-
69 fz0ssnn0 0 J 0
70 69 7 sselid φ K 0
71 8 34 21 70 64 esplympl Could not format ( ph -> ( ( J eSymPoly R ) ` K ) e. ( Base ` ( J mPoly R ) ) ) : No typesetting found for |- ( ph -> ( ( J eSymPoly R ) ` K ) e. ( Base ` ( J mPoly R ) ) ) with typecode |-
72 68 71 eqeltrid φ E K Base J mPoly R
73 67 72 eqeltrd φ E K + 1 - 1 Base J mPoly R
74 19 63 2 21 10 5 64 4 73 58 extvfvcl Could not format ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) e. ( Base ` ( I mPoly R ) ) ) : No typesetting found for |- ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) e. ( Base ` ( I mPoly R ) ) ) with typecode |-
75 67 fveq2d Could not format ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) = ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) : No typesetting found for |- ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) = ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) with typecode |-
76 75 fveq2d Could not format ( ph -> ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) = ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ) : No typesetting found for |- ( ph -> ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) = ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ) with typecode |-
77 76 fveq1d Could not format ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ` Z ) ) : No typesetting found for |- ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ` Z ) ) with typecode |-
78 eqid Could not format ( I extendVars R ) = ( I extendVars R ) : No typesetting found for |- ( I extendVars R ) = ( I extendVars R ) with typecode |-
79 11 12 5 64 10 78 3 2 4 72 14 evlextv Could not format ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) : No typesetting found for |- ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` K ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) with typecode |-
80 77 79 eqtrd Could not format ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) : No typesetting found for |- ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) with typecode |-
81 74 80 jca Could not format ( ph -> ( ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) ) : No typesetting found for |- ( ph -> ( ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) ) with typecode |-
82 11 15 10 58 18 1 2 3 61 62 81 evlmulval Could not format ( ph -> ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ) ` Z ) = ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) ) ) : No typesetting found for |- ( ph -> ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ) ` Z ) = ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) ) ) with typecode |-
83 6 fveq1i Could not format ( E ` ( K + 1 ) ) = ( ( J eSymPoly R ) ` ( K + 1 ) ) : No typesetting found for |- ( E ` ( K + 1 ) ) = ( ( J eSymPoly R ) ` ( K + 1 ) ) with typecode |-
84 peano2nn0 K 0 K + 1 0
85 70 84 syl φ K + 1 0
86 8 34 21 85 64 esplympl Could not format ( ph -> ( ( J eSymPoly R ) ` ( K + 1 ) ) e. ( Base ` ( J mPoly R ) ) ) : No typesetting found for |- ( ph -> ( ( J eSymPoly R ) ` ( K + 1 ) ) e. ( Base ` ( J mPoly R ) ) ) with typecode |-
87 83 86 eqeltrid φ E K + 1 Base J mPoly R
88 19 63 2 21 10 5 64 4 87 58 extvfvcl Could not format ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) e. ( Base ` ( I mPoly R ) ) ) : No typesetting found for |- ( ph -> ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) e. ( Base ` ( I mPoly R ) ) ) with typecode |-
89 11 12 5 64 10 78 3 2 4 87 14 evlextv Could not format ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) : No typesetting found for |- ( ph -> ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) with typecode |-
90 88 89 jca Could not format ( ph -> ( ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) : No typesetting found for |- ( ph -> ( ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ` Z ) = ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) with typecode |-
91 11 15 10 58 17 13 2 3 61 82 90 evladdval Could not format ( ph -> ( ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) = ( ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) .+ ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) ) : No typesetting found for |- ( ph -> ( ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) e. ( Base ` ( I mPoly R ) ) /\ ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) = ( ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) .+ ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) ) with typecode |-
92 91 simprd Could not format ( ph -> ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) = ( ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) .+ ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) : No typesetting found for |- ( ph -> ( ( Q ` ( ( ( ( I mVar R ) ` Y ) ( .r ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( ( K + 1 ) - 1 ) ) ) ) ( +g ` ( I mPoly R ) ) ( ( ( I extendVars R ) ` Y ) ` ( E ` ( K + 1 ) ) ) ) ) ` Z ) = ( ( ( Z ` Y ) .x. ( ( O ` ( E ` K ) ) ` ( Z |` J ) ) ) .+ ( ( O ` ( E ` ( K + 1 ) ) ) ` ( Z |` J ) ) ) ) with typecode |-
93 57 92 eqtrd φ Q F Z = Z Y · ˙ O E K Z J + ˙ O E K + 1 Z J