Metamath Proof Explorer


Theorem selvfval

Description: Value of the "variable selection" function. (Contributed by SN, 4-Nov-2023)

Ref Expression
Hypotheses selvffval.i φIV
selvffval.r φRW
selvfval.j φJI
Assertion selvfval φIselectVarsRJ=fBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx

Proof

Step Hyp Ref Expression
1 selvffval.i φIV
2 selvffval.r φRW
3 selvfval.j φJI
4 1 2 selvffval φIselectVarsR=j𝒫IfBaseImPolyRIjmPolyR/ujmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx
5 difeq2 j=JIj=IJ
6 5 oveq1d j=JIjmPolyR=IJmPolyR
7 oveq1 j=JjmPolyu=JmPolyu
8 eleq2 j=JxjxJ
9 oveq1 j=JjmVaru=JmVaru
10 9 fveq1d j=JjmVarux=JmVarux
11 5 oveq1d j=JIjmVarR=IJmVarR
12 11 fveq1d j=JIjmVarRx=IJmVarRx
13 12 fveq2d j=JcIjmVarRx=cIJmVarRx
14 8 10 13 ifbieq12d j=JifxjjmVaruxcIjmVarRx=ifxJJmVaruxcIJmVarRx
15 14 mpteq2dv j=JxIifxjjmVaruxcIjmVarRx=xIifxJJmVaruxcIJmVarRx
16 15 fveq2d j=JIevalSubtranddfxIifxjjmVaruxcIjmVarRx=IevalSubtranddfxIifxJJmVaruxcIJmVarRx
17 16 csbeq2dv j=JcalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=calgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
18 17 csbeq2dv j=JalgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=algSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
19 7 18 csbeq12dv j=JjmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=JmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
20 6 19 csbeq12dv j=JIjmPolyR/ujmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=IJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
21 20 mpteq2dv j=JfBaseImPolyRIjmPolyR/ujmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=fBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
22 21 adantl φj=JfBaseImPolyRIjmPolyR/ujmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxjjmVaruxcIjmVarRx=fBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx
23 1 3 sselpwd φJ𝒫I
24 fvex BaseImPolyRV
25 mptexg BaseImPolyRVfBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRxV
26 24 25 mp1i φfBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRxV
27 4 22 23 26 fvmptd φIselectVarsRJ=fBaseImPolyRIJmPolyR/uJmPolyu/talgSct/ccalgScu/dIevalSubtranddfxIifxJJmVaruxcIJmVarRx