Metamath Proof Explorer


Theorem eldioph4i

Description: Forward-only version of eldioph4b . (Contributed by Stefan O'Rear, 16-Oct-2014)

Ref Expression
Hypotheses eldioph4b.a 𝑊 ∈ V
eldioph4b.b ¬ 𝑊 ∈ Fin
eldioph4b.c ( 𝑊 ∩ ℕ ) = ∅
Assertion eldioph4i ( ( 𝑁 ∈ ℕ0𝑃 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) ) → { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } ∈ ( Dioph ‘ 𝑁 ) )

Proof

Step Hyp Ref Expression
1 eldioph4b.a 𝑊 ∈ V
2 eldioph4b.b ¬ 𝑊 ∈ Fin
3 eldioph4b.c ( 𝑊 ∩ ℕ ) = ∅
4 uneq1 ( 𝑡 = 𝑎 → ( 𝑡𝑤 ) = ( 𝑎𝑤 ) )
5 4 fveqeq2d ( 𝑡 = 𝑎 → ( ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 ↔ ( 𝑃 ‘ ( 𝑎𝑤 ) ) = 0 ) )
6 5 rexbidv ( 𝑡 = 𝑎 → ( ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 ↔ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑤 ) ) = 0 ) )
7 uneq2 ( 𝑤 = 𝑏 → ( 𝑎𝑤 ) = ( 𝑎𝑏 ) )
8 7 fveqeq2d ( 𝑤 = 𝑏 → ( ( 𝑃 ‘ ( 𝑎𝑤 ) ) = 0 ↔ ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 ) )
9 8 cbvrexvw ( ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑤 ) ) = 0 ↔ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 )
10 6 9 bitrdi ( 𝑡 = 𝑎 → ( ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 ↔ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 ) )
11 10 cbvrabv { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 }
12 fveq1 ( 𝑝 = 𝑃 → ( 𝑝 ‘ ( 𝑎𝑏 ) ) = ( 𝑃 ‘ ( 𝑎𝑏 ) ) )
13 12 eqeq1d ( 𝑝 = 𝑃 → ( ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 ↔ ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 ) )
14 13 rexbidv ( 𝑝 = 𝑃 → ( ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 ↔ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 ) )
15 14 rabbidv ( 𝑝 = 𝑃 → { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 } )
16 15 rspceeqv ( ( 𝑃 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) ∧ { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑎𝑏 ) ) = 0 } ) → ∃ 𝑝 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 } )
17 11 16 mpan2 ( 𝑃 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) → ∃ 𝑝 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 } )
18 17 anim2i ( ( 𝑁 ∈ ℕ0𝑃 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) ) → ( 𝑁 ∈ ℕ0 ∧ ∃ 𝑝 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 } ) )
19 1 2 3 eldioph4b ( { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } ∈ ( Dioph ‘ 𝑁 ) ↔ ( 𝑁 ∈ ℕ0 ∧ ∃ 𝑝 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } = { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑏 ∈ ( ℕ0m 𝑊 ) ( 𝑝 ‘ ( 𝑎𝑏 ) ) = 0 } ) )
20 18 19 sylibr ( ( 𝑁 ∈ ℕ0𝑃 ∈ ( mzPoly ‘ ( 𝑊 ∪ ( 1 ... 𝑁 ) ) ) ) → { 𝑡 ∈ ( ℕ0m ( 1 ... 𝑁 ) ) ∣ ∃ 𝑤 ∈ ( ℕ0m 𝑊 ) ( 𝑃 ‘ ( 𝑡𝑤 ) ) = 0 } ∈ ( Dioph ‘ 𝑁 ) )