Metamath Proof Explorer


Theorem rabdiophlem2

Description: Lemma for arithmetic diophantine sets. Reuse a polynomial expression under a new quantifier. (Contributed by Stefan O'Rear, 10-Oct-2014)

Ref Expression
Hypothesis rabdiophlem2.1 ⊢ M = N + 1
Assertion rabdiophlem2 ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → t ∈ ℤ 1 … M ⟼ ⦋ t ↾ 1 … N / u⦌ A ∈ mzPoly ⁡ 1 … M

Proof

Step Hyp Ref Expression
1 rabdiophlem2.1 ⊢ M = N + 1
2 nfcv ⊢ Ⅎ _ a A
3 nfcsb1v ⊢ Ⅎ _ u ⦋ a / u⦌ A
4 csbeq1a ⊢ u = a → A = ⦋ a / u⦌ A
5 2 3 4 cbvmpt ⊢ u ∈ ℤ 1 … N ⟼ A = a ∈ ℤ 1 … N ⟼ ⦋ a / u⦌ A
6 5 fveq1i ⊢ u ∈ ℤ 1 … N ⟼ A ⁡ t ↾ 1 … N = a ∈ ℤ 1 … N ⟼ ⦋ a / u⦌ A ⁡ t ↾ 1 … N
7 eqid ⊢ a ∈ ℤ 1 … N ⟼ ⦋ a / u⦌ A = a ∈ ℤ 1 … N ⟼ ⦋ a / u⦌ A
8 csbeq1 ⊢ a = t ↾ 1 … N → ⦋ a / u⦌ A = ⦋ t ↾ 1 … N / u⦌ A
9 1 mapfzcons1cl ⊢ t ∈ ℤ 1 … M → t ↾ 1 … N ∈ ℤ 1 … N
10 9 adantl ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N ∧ t ∈ ℤ 1 … M → t ↾ 1 … N ∈ ℤ 1 … N
11 mzpf ⊢ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → u ∈ ℤ 1 … N ⟼ A : ℤ 1 … N ⟶ ℤ
12 eqid ⊢ u ∈ ℤ 1 … N ⟼ A = u ∈ ℤ 1 … N ⟼ A
13 12 fmpt ⊢ ∀ u ∈ ℤ 1 … N A ∈ ℤ ↔ u ∈ ℤ 1 … N ⟼ A : ℤ 1 … N ⟶ ℤ
14 11 13 sylibr ⊢ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → ∀ u ∈ ℤ 1 … N A ∈ ℤ
15 14 ad2antlr ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N ∧ t ∈ ℤ 1 … M → ∀ u ∈ ℤ 1 … N A ∈ ℤ
16 nfcsb1v ⊢ Ⅎ _ u ⦋ t ↾ 1 … N / u⦌ A
17 16 nfel1 ⊢ Ⅎ u ⦋ t ↾ 1 … N / u⦌ A ∈ ℤ
18 csbeq1a ⊢ u = t ↾ 1 … N → A = ⦋ t ↾ 1 … N / u⦌ A
19 18 eleq1d ⊢ u = t ↾ 1 … N → A ∈ ℤ ↔ ⦋ t ↾ 1 … N / u⦌ A ∈ ℤ
20 17 19 rspc ⊢ t ↾ 1 … N ∈ ℤ 1 … N → ∀ u ∈ ℤ 1 … N A ∈ ℤ → ⦋ t ↾ 1 … N / u⦌ A ∈ ℤ
21 10 15 20 sylc ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N ∧ t ∈ ℤ 1 … M → ⦋ t ↾ 1 … N / u⦌ A ∈ ℤ
22 7 8 10 21 fvmptd3 ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N ∧ t ∈ ℤ 1 … M → a ∈ ℤ 1 … N ⟼ ⦋ a / u⦌ A ⁡ t ↾ 1 … N = ⦋ t ↾ 1 … N / u⦌ A
23 6 22 eqtr2id ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N ∧ t ∈ ℤ 1 … M → ⦋ t ↾ 1 … N / u⦌ A = u ∈ ℤ 1 … N ⟼ A ⁡ t ↾ 1 … N
24 23 mpteq2dva ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → t ∈ ℤ 1 … M ⟼ ⦋ t ↾ 1 … N / u⦌ A = t ∈ ℤ 1 … M ⟼ u ∈ ℤ 1 … N ⟼ A ⁡ t ↾ 1 … N
25 ovexd ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → 1 … M ∈ V
26 fzssp1 ⊢ 1 … N ⊆ 1 … N + 1
27 1 oveq2i ⊢ 1 … M = 1 … N + 1
28 26 27 sseqtrri ⊢ 1 … N ⊆ 1 … M
29 28 a1i ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → 1 … N ⊆ 1 … M
30 simpr ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N
31 mzpresrename ⊢ 1 … M ∈ V ∧ 1 … N ⊆ 1 … M ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → t ∈ ℤ 1 … M ⟼ u ∈ ℤ 1 … N ⟼ A ⁡ t ↾ 1 … N ∈ mzPoly ⁡ 1 … M
32 25 29 30 31 syl3anc ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → t ∈ ℤ 1 … M ⟼ u ∈ ℤ 1 … N ⟼ A ⁡ t ↾ 1 … N ∈ mzPoly ⁡ 1 … M
33 24 32 eqeltrd ⊢ N ∈ ℕ 0 ∧ u ∈ ℤ 1 … N ⟼ A ∈ mzPoly ⁡ 1 … N → t ∈ ℤ 1 … M ⟼ ⦋ t ↾ 1 … N / u⦌ A ∈ mzPoly ⁡ 1 … M