Metamath Proof Explorer


Theorem rexfrabdioph

Description: Diophantine set builder for existential quantifier, explicit substitution. (Contributed by Stefan O'Rear, 11-Oct-2014) (Revised by Stefan O'Rear, 6-May-2015)

Ref Expression
Hypothesis rexfrabdioph.1 ⊢ M = N + 1
Assertion rexfrabdioph ⊢ N ∈ ℕ 0 ∧ t ∈ ℕ 0 1 … M | [˙ t ↾ 1 … N / u]˙ [˙ t ⁡ M / v]˙ φ ∈ Dioph ⁡ M → u ∈ ℕ 0 1 … N | ∃ v ∈ ℕ 0 φ ∈ Dioph ⁡ N

Proof

Step Hyp Ref Expression
1 rexfrabdioph.1 ⊢ M = N + 1
2 nfcv ⊢ Ⅎ _ u ℕ 0 1 … N
3 nfcv ⊢ Ⅎ _ a ℕ 0 1 … N
4 nfv ⊢ Ⅎ a ∃ v ∈ ℕ 0 φ
5 nfcv ⊢ Ⅎ _ u ℕ 0
6 nfsbc1v ⊢ Ⅎ u [˙a / u]˙ [˙b / v]˙ φ
7 5 6 nfrexw ⊢ Ⅎ u ∃ b ∈ ℕ 0 [˙a / u]˙ [˙b / v]˙ φ
8 nfv ⊢ Ⅎ b φ
9 nfsbc1v ⊢ Ⅎ v [˙b / v]˙ φ
10 sbceq1a ⊢ v = b → φ ↔ [˙b / v]˙ φ
11 8 9 10 cbvrexw ⊢ ∃ v ∈ ℕ 0 φ ↔ ∃ b ∈ ℕ 0 [˙b / v]˙ φ
12 sbceq1a ⊢ u = a → [˙b / v]˙ φ ↔ [˙a / u]˙ [˙b / v]˙ φ
13 12 rexbidv ⊢ u = a → ∃ b ∈ ℕ 0 [˙b / v]˙ φ ↔ ∃ b ∈ ℕ 0 [˙a / u]˙ [˙b / v]˙ φ
14 11 13 bitrid ⊢ u = a → ∃ v ∈ ℕ 0 φ ↔ ∃ b ∈ ℕ 0 [˙a / u]˙ [˙b / v]˙ φ
15 2 3 4 7 14 cbvrabw ⊢ u ∈ ℕ 0 1 … N | ∃ v ∈ ℕ 0 φ = a ∈ ℕ 0 1 … N | ∃ b ∈ ℕ 0 [˙a / u]˙ [˙b / v]˙ φ
16 dfsbcq ⊢ b = t ⁡ M → [˙b / v]˙ φ ↔ [˙ t ⁡ M / v]˙ φ
17 16 sbcbidv ⊢ b = t ⁡ M → [˙a / u]˙ [˙b / v]˙ φ ↔ [˙a / u]˙ [˙ t ⁡ M / v]˙ φ
18 dfsbcq ⊢ a = t ↾ 1 … N → [˙a / u]˙ [˙ t ⁡ M / v]˙ φ ↔ [˙ t ↾ 1 … N / u]˙ [˙ t ⁡ M / v]˙ φ
19 1 17 18 rexrabdioph ⊢ N ∈ ℕ 0 ∧ t ∈ ℕ 0 1 … M | [˙ t ↾ 1 … N / u]˙ [˙ t ⁡ M / v]˙ φ ∈ Dioph ⁡ M → a ∈ ℕ 0 1 … N | ∃ b ∈ ℕ 0 [˙a / u]˙ [˙b / v]˙ φ ∈ Dioph ⁡ N
20 15 19 eqeltrid ⊢ N ∈ ℕ 0 ∧ t ∈ ℕ 0 1 … M | [˙ t ↾ 1 … N / u]˙ [˙ t ⁡ M / v]˙ φ ∈ Dioph ⁡ M → u ∈ ℕ 0 1 … N | ∃ v ∈ ℕ 0 φ ∈ Dioph ⁡ N