Metamath Proof Explorer


Definition df-selv

Description: Define the "variable selection" function. The function ( ( I selectVars R )J ) maps elements of ( I mPoly R ) bijectively onto ( J mPoly ( ( I \ J ) mPoly R ) ) in the natural way, for example if I = { x , y } and J = { y } it would map 1 + x + y + x y e. ( { x , y } mPoly ZZ ) to ( 1 + x ) + ( 1 + x ) y e. ( { y } mPoly ( { x } mPoly ZZ ) ) . This, for example, allows one to treat a multivariate polynomial as a univariate polynomial with coefficients in a polynomial ring with one less variable. (Contributed by Mario Carneiro, 21-Mar-2015)

Ref Expression
Assertion df-selv selectVars = ( 𝑖 ∈ V , 𝑟 ∈ V ↦ ( 𝑗 ∈ 𝒫 𝑖 ↦ ( 𝑓 ∈ ( Base ‘ ( 𝑖 mPoly 𝑟 ) ) ↦ ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) ) ) ) )

Detailed syntax breakdown

Step Hyp Ref Expression
0 cslv selectVars
1 vi 𝑖
2 cvv V
3 vr 𝑟
4 vj 𝑗
5 1 cv 𝑖
6 5 cpw 𝒫 𝑖
7 vf 𝑓
8 cbs Base
9 cmpl mPoly
10 3 cv 𝑟
11 5 10 9 co ( 𝑖 mPoly 𝑟 )
12 11 8 cfv ( Base ‘ ( 𝑖 mPoly 𝑟 ) )
13 4 cv 𝑗
14 5 13 cdif ( 𝑖𝑗 )
15 14 10 9 co ( ( 𝑖𝑗 ) mPoly 𝑟 )
16 vu 𝑢
17 16 cv 𝑢
18 13 17 9 co ( 𝑗 mPoly 𝑢 )
19 vt 𝑡
20 cascl algSc
21 19 cv 𝑡
22 21 20 cfv ( algSc ‘ 𝑡 )
23 vc 𝑐
24 23 cv 𝑐
25 17 20 cfv ( algSc ‘ 𝑢 )
26 24 25 ccom ( 𝑐 ∘ ( algSc ‘ 𝑢 ) )
27 vd 𝑑
28 ces evalSub
29 5 21 28 co ( 𝑖 evalSub 𝑡 )
30 27 cv 𝑑
31 30 crn ran 𝑑
32 31 29 cfv ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 )
33 7 cv 𝑓
34 30 33 ccom ( 𝑑𝑓 )
35 34 32 cfv ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) )
36 vx 𝑥
37 36 cv 𝑥
38 37 13 wcel 𝑥𝑗
39 cmvr mVar
40 13 17 39 co ( 𝑗 mVar 𝑢 )
41 37 40 cfv ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 )
42 14 10 39 co ( ( 𝑖𝑗 ) mVar 𝑟 )
43 37 42 cfv ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 )
44 43 24 cfv ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) )
45 38 41 44 cif if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) )
46 36 5 45 cmpt ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) )
47 46 35 cfv ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) )
48 27 26 47 csb ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) )
49 23 22 48 csb ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) )
50 19 18 49 csb ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) )
51 16 15 50 csb ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) )
52 7 12 51 cmpt ( 𝑓 ∈ ( Base ‘ ( 𝑖 mPoly 𝑟 ) ) ↦ ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) ) )
53 4 6 52 cmpt ( 𝑗 ∈ 𝒫 𝑖 ↦ ( 𝑓 ∈ ( Base ‘ ( 𝑖 mPoly 𝑟 ) ) ↦ ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) ) ) )
54 1 3 2 2 53 cmpo ( 𝑖 ∈ V , 𝑟 ∈ V ↦ ( 𝑗 ∈ 𝒫 𝑖 ↦ ( 𝑓 ∈ ( Base ‘ ( 𝑖 mPoly 𝑟 ) ) ↦ ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) ) ) ) )
55 0 54 wceq selectVars = ( 𝑖 ∈ V , 𝑟 ∈ V ↦ ( 𝑗 ∈ 𝒫 𝑖 ↦ ( 𝑓 ∈ ( Base ‘ ( 𝑖 mPoly 𝑟 ) ) ↦ ( ( 𝑖𝑗 ) mPoly 𝑟 ) / 𝑢 ( 𝑗 mPoly 𝑢 ) / 𝑡 ( algSc ‘ 𝑡 ) / 𝑐 ( 𝑐 ∘ ( algSc ‘ 𝑢 ) ) / 𝑑 ( ( ( ( 𝑖 evalSub 𝑡 ) ‘ ran 𝑑 ) ‘ ( 𝑑𝑓 ) ) ‘ ( 𝑥𝑖 ↦ if ( 𝑥𝑗 , ( ( 𝑗 mVar 𝑢 ) ‘ 𝑥 ) , ( 𝑐 ‘ ( ( ( 𝑖𝑗 ) mVar 𝑟 ) ‘ 𝑥 ) ) ) ) ) ) ) )