Metamath Proof Explorer


Theorem mrsubcn

Description: A substitution does not change the value of constant substrings. (Contributed by Mario Carneiro, 18-Jul-2016)

Ref Expression
Hypotheses mrsubccat.s ⊢ S = mRSubst ⁡ T
mrsubccat.r ⊢ R = mREx ⁡ T
mrsubcn.v ⊢ V = mVR ⁡ T
mrsubcn.c ⊢ C = mCN ⁡ T
Assertion mrsubcn ⊢ F ∈ ran ⁡ S ∧ X ∈ C ∖ V → F ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩

Proof

Step Hyp Ref Expression
1 mrsubccat.s ⊢ S = mRSubst ⁡ T
2 mrsubccat.r ⊢ R = mREx ⁡ T
3 mrsubcn.v ⊢ V = mVR ⁡ T
4 mrsubcn.c ⊢ C = mCN ⁡ T
5 n0i ⊢ F ∈ ran ⁡ S → ¬ ran ⁡ S = ∅
6 1 rnfvprc ⊢ ¬ T ∈ V → ran ⁡ S = ∅
7 5 6 nsyl2 ⊢ F ∈ ran ⁡ S → T ∈ V
8 3 2 1 mrsubff ⊢ T ∈ V → S : R ↑ 𝑝𝑚 V ⟶ R R
9 ffun ⊢ S : R ↑ 𝑝𝑚 V ⟶ R R → Fun ⁡ S
10 7 8 9 3syl ⊢ F ∈ ran ⁡ S → Fun ⁡ S
11 3 2 1 mrsubrn ⊢ ran ⁡ S = S R V
12 11 eleq2i ⊢ F ∈ ran ⁡ S ↔ F ∈ S R V
13 12 biimpi ⊢ F ∈ ran ⁡ S → F ∈ S R V
14 fvelima ⊢ Fun ⁡ S ∧ F ∈ S R V → ∃ f ∈ R V S ⁡ f = F
15 10 13 14 syl2anc ⊢ F ∈ ran ⁡ S → ∃ f ∈ R V S ⁡ f = F
16 elmapi ⊢ f ∈ R V → f : V ⟶ R
17 16 adantl ⊢ X ∈ C ∖ V ∧ f ∈ R V → f : V ⟶ R
18 ssidd ⊢ X ∈ C ∖ V ∧ f ∈ R V → V ⊆ V
19 eldifi ⊢ X ∈ C ∖ V → X ∈ C
20 elun1 ⊢ X ∈ C → X ∈ C ∪ V
21 19 20 syl ⊢ X ∈ C ∖ V → X ∈ C ∪ V
22 21 adantr ⊢ X ∈ C ∖ V ∧ f ∈ R V → X ∈ C ∪ V
23 4 3 2 1 mrsubcv ⊢ f : V ⟶ R ∧ V ⊆ V ∧ X ∈ C ∪ V → S ⁡ f ⁡ ⟨“ X ”⟩ = if X ∈ V f ⁡ X ⟨“ X ”⟩
24 17 18 22 23 syl3anc ⊢ X ∈ C ∖ V ∧ f ∈ R V → S ⁡ f ⁡ ⟨“ X ”⟩ = if X ∈ V f ⁡ X ⟨“ X ”⟩
25 eldifn ⊢ X ∈ C ∖ V → ¬ X ∈ V
26 25 adantr ⊢ X ∈ C ∖ V ∧ f ∈ R V → ¬ X ∈ V
27 26 iffalsed ⊢ X ∈ C ∖ V ∧ f ∈ R V → if X ∈ V f ⁡ X ⟨“ X ”⟩ = ⟨“ X ”⟩
28 24 27 eqtrd ⊢ X ∈ C ∖ V ∧ f ∈ R V → S ⁡ f ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩
29 fveq1 ⊢ S ⁡ f = F → S ⁡ f ⁡ ⟨“ X ”⟩ = F ⁡ ⟨“ X ”⟩
30 29 eqeq1d ⊢ S ⁡ f = F → S ⁡ f ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩ ↔ F ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩
31 28 30 syl5ibcom ⊢ X ∈ C ∖ V ∧ f ∈ R V → S ⁡ f = F → F ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩
32 31 rexlimdva ⊢ X ∈ C ∖ V → ∃ f ∈ R V S ⁡ f = F → F ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩
33 15 32 mpan9 ⊢ F ∈ ran ⁡ S ∧ X ∈ C ∖ V → F ⁡ ⟨“ X ”⟩ = ⟨“ X ”⟩