Metamath Proof Explorer


Theorem rabrenfdioph

Description: Change variable numbers in a Diophantine class abstraction using explicit substitution. (Contributed by Stefan O'Rear, 17-Oct-2014)

Ref Expression
Assertion rabrenfdioph ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ A → b ∈ ℕ 0 1 … B | [˙ b ∘ F / a]˙ φ ∈ Dioph ⁡ B

Proof

Step Hyp Ref Expression
1 simpr ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ b ∈ ℕ 0 1 … B → b ∈ ℕ 0 1 … B
2 simplr ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ b ∈ ℕ 0 1 … B → F : 1 … A ⟶ 1 … B
3 ovex ⊢ 1 … A ∈ V
4 3 mapco2 ⊢ b ∈ ℕ 0 1 … B ∧ F : 1 … A ⟶ 1 … B → b ∘ F ∈ ℕ 0 1 … A
5 1 2 4 syl2anc ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ b ∈ ℕ 0 1 … B → b ∘ F ∈ ℕ 0 1 … A
6 5 biantrurd ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ b ∈ ℕ 0 1 … B → [˙ b ∘ F / a]˙ φ ↔ b ∘ F ∈ ℕ 0 1 … A ∧ [˙ b ∘ F / a]˙ φ
7 nfcv ⊢ Ⅎ _ a ℕ 0 1 … A
8 7 elrabsf ⊢ b ∘ F ∈ a ∈ ℕ 0 1 … A | φ ↔ b ∘ F ∈ ℕ 0 1 … A ∧ [˙ b ∘ F / a]˙ φ
9 6 8 bitr4di ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ b ∈ ℕ 0 1 … B → [˙ b ∘ F / a]˙ φ ↔ b ∘ F ∈ a ∈ ℕ 0 1 … A | φ
10 9 rabbidva ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B → b ∈ ℕ 0 1 … B | [˙ b ∘ F / a]˙ φ = b ∈ ℕ 0 1 … B | b ∘ F ∈ a ∈ ℕ 0 1 … A | φ
11 10 3adant3 ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ A → b ∈ ℕ 0 1 … B | [˙ b ∘ F / a]˙ φ = b ∈ ℕ 0 1 … B | b ∘ F ∈ a ∈ ℕ 0 1 … A | φ
12 diophren ⊢ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ A ∧ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B → b ∈ ℕ 0 1 … B | b ∘ F ∈ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ B
13 12 3coml ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ A → b ∈ ℕ 0 1 … B | b ∘ F ∈ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ B
14 11 13 eqeltrd ⊢ B ∈ ℕ 0 ∧ F : 1 … A ⟶ 1 … B ∧ a ∈ ℕ 0 1 … A | φ ∈ Dioph ⁡ A → b ∈ ℕ 0 1 … B | [˙ b ∘ F / a]˙ φ ∈ Dioph ⁡ B