Metamath Proof Explorer


Theorem mzpcompact2

Description: Polynomials are finitary objects and can only reference a finite number of variables, even if the index set is infinite. Thus, every polynomial can be expressed as a (uniquely minimal, although we do not prove that) polynomial on a finite number of variables, which is then extended by adding an arbitrary set of ignored variables. (Contributed by Stefan O'Rear, 9-Oct-2014)

Ref Expression
Assertion mzpcompact2 ( 𝐴 ∈ ( mzPoly ‘ 𝐵 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 elfvex ( 𝐴 ∈ ( mzPoly ‘ 𝐵 ) → 𝐵 ∈ V )
2 fveq2 ( 𝑑 = 𝐵 → ( mzPoly ‘ 𝑑 ) = ( mzPoly ‘ 𝐵 ) )
3 2 eleq2d ( 𝑑 = 𝐵 → ( 𝐴 ∈ ( mzPoly ‘ 𝑑 ) ↔ 𝐴 ∈ ( mzPoly ‘ 𝐵 ) ) )
4 sseq2 ( 𝑑 = 𝐵 → ( 𝑎𝑑𝑎𝐵 ) )
5 oveq2 ( 𝑑 = 𝐵 → ( ℤ ↑m 𝑑 ) = ( ℤ ↑m 𝐵 ) )
6 5 mpteq1d ( 𝑑 = 𝐵 → ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) )
7 6 eqeq2d ( 𝑑 = 𝐵 → ( 𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ↔ 𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) )
8 4 7 anbi12d ( 𝑑 = 𝐵 → ( ( 𝑎𝑑𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ↔ ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ) )
9 8 2rexbidv ( 𝑑 = 𝐵 → ( ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝑑𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ↔ ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ) )
10 3 9 imbi12d ( 𝑑 = 𝐵 → ( ( 𝐴 ∈ ( mzPoly ‘ 𝑑 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝑑𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ) ↔ ( 𝐴 ∈ ( mzPoly ‘ 𝐵 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ) ) )
11 vex 𝑑 ∈ V
12 11 mzpcompact2lem ( 𝐴 ∈ ( mzPoly ‘ 𝑑 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝑑𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝑑 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) )
13 10 12 vtoclg ( 𝐵 ∈ V → ( 𝐴 ∈ ( mzPoly ‘ 𝐵 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) ) )
14 1 13 mpcom ( 𝐴 ∈ ( mzPoly ‘ 𝐵 ) → ∃ 𝑎 ∈ Fin ∃ 𝑏 ∈ ( mzPoly ‘ 𝑎 ) ( 𝑎𝐵𝐴 = ( 𝑐 ∈ ( ℤ ↑m 𝐵 ) ↦ ( 𝑏 ‘ ( 𝑐𝑎 ) ) ) ) )