Metamath Proof Explorer


Theorem extvfval

Description: The "variable extension" function evaluated for adding a variable with index A . (Contributed by Thierry Arnoux, 25-Jan-2026)

Ref Expression
Hypotheses extvval.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ finSupp 0 }
extvval.1 0 = ( 0g𝑅 )
extvval.i ( 𝜑𝐼𝑉 )
extvval.r ( 𝜑𝑅𝑊 )
extvfval.a ( 𝜑𝐴𝐼 )
extvfval.j 𝐽 = ( 𝐼 ∖ { 𝐴 } )
extvfval.m 𝑀 = ( Base ‘ ( 𝐽 mPoly 𝑅 ) )
Assertion extvfval ( 𝜑 → ( ( 𝐼 extendVars 𝑅 ) ‘ 𝐴 ) = ( 𝑓𝑀 ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) ) )

Proof

Step Hyp Ref Expression
1 extvval.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ finSupp 0 }
2 extvval.1 0 = ( 0g𝑅 )
3 extvval.i ( 𝜑𝐼𝑉 )
4 extvval.r ( 𝜑𝑅𝑊 )
5 extvfval.a ( 𝜑𝐴𝐼 )
6 extvfval.j 𝐽 = ( 𝐼 ∖ { 𝐴 } )
7 extvfval.m 𝑀 = ( Base ‘ ( 𝐽 mPoly 𝑅 ) )
8 sneq ( 𝑎 = 𝐴 → { 𝑎 } = { 𝐴 } )
9 8 difeq2d ( 𝑎 = 𝐴 → ( 𝐼 ∖ { 𝑎 } ) = ( 𝐼 ∖ { 𝐴 } ) )
10 9 6 eqtr4di ( 𝑎 = 𝐴 → ( 𝐼 ∖ { 𝑎 } ) = 𝐽 )
11 10 fvoveq1d ( 𝑎 = 𝐴 → ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) ) = ( Base ‘ ( 𝐽 mPoly 𝑅 ) ) )
12 11 7 eqtr4di ( 𝑎 = 𝐴 → ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) ) = 𝑀 )
13 fveqeq2 ( 𝑎 = 𝐴 → ( ( 𝑥𝑎 ) = 0 ↔ ( 𝑥𝐴 ) = 0 ) )
14 10 reseq2d ( 𝑎 = 𝐴 → ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) = ( 𝑥𝐽 ) )
15 14 fveq2d ( 𝑎 = 𝐴 → ( 𝑓 ‘ ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) ) = ( 𝑓 ‘ ( 𝑥𝐽 ) ) )
16 13 15 ifbieq1d ( 𝑎 = 𝐴 → if ( ( 𝑥𝑎 ) = 0 , ( 𝑓 ‘ ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) ) , 0 ) = if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) )
17 16 mpteq2dv ( 𝑎 = 𝐴 → ( 𝑥𝐷 ↦ if ( ( 𝑥𝑎 ) = 0 , ( 𝑓 ‘ ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) ) , 0 ) ) = ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) )
18 12 17 mpteq12dv ( 𝑎 = 𝐴 → ( 𝑓 ∈ ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) ) ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝑎 ) = 0 , ( 𝑓 ‘ ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) ) , 0 ) ) ) = ( 𝑓𝑀 ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) ) )
19 eqid ( 𝐼 ∖ { 𝑎 } ) = ( 𝐼 ∖ { 𝑎 } )
20 eqid ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) ) = ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) )
21 1 2 3 4 19 20 extvval ( 𝜑 → ( 𝐼 extendVars 𝑅 ) = ( 𝑎𝐼 ↦ ( 𝑓 ∈ ( Base ‘ ( ( 𝐼 ∖ { 𝑎 } ) mPoly 𝑅 ) ) ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝑎 ) = 0 , ( 𝑓 ‘ ( 𝑥 ↾ ( 𝐼 ∖ { 𝑎 } ) ) ) , 0 ) ) ) ) )
22 7 fvexi 𝑀 ∈ V
23 22 mptex ( 𝑓𝑀 ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) ) ∈ V
24 23 a1i ( 𝜑 → ( 𝑓𝑀 ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) ) ∈ V )
25 18 21 5 24 fvmptd4 ( 𝜑 → ( ( 𝐼 extendVars 𝑅 ) ‘ 𝐴 ) = ( 𝑓𝑀 ↦ ( 𝑥𝐷 ↦ if ( ( 𝑥𝐴 ) = 0 , ( 𝑓 ‘ ( 𝑥𝐽 ) ) , 0 ) ) ) )