MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  efgval2 Structured version   Visualization version   GIF version

Theorem efgval2 18829
Description: Value of the free group construction. (Contributed by Mario Carneiro, 27-Sep-2015.)
Hypotheses
Ref Expression
efgval.w 𝑊 = ( I ‘Word (𝐼 × 2o))
efgval.r = ( ~FG𝐼)
efgval2.m 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
efgval2.t 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
Assertion
Ref Expression
efgval2 = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)}
Distinct variable groups:   𝑦,𝑟,𝑧   𝑣,𝑛,𝑤,𝑦,𝑧,𝑟,𝑥   𝑛,𝑀   𝑣,𝑟,𝑤,𝑥,𝑀   𝑇,𝑟,𝑥   𝑛,𝑊,𝑟,𝑣,𝑤   𝑥,𝑦,𝑧,𝑊   ,𝑟,𝑥,𝑦,𝑧   𝑛,𝐼,𝑟,𝑣,𝑤,𝑥,𝑦,𝑧
Allowed substitution hints:   (𝑤,𝑣,𝑛)   𝑇(𝑦,𝑧,𝑤,𝑣,𝑛)   𝑀(𝑦,𝑧)

Proof of Theorem efgval2
Dummy variables 𝑎 𝑏 𝑢 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 efgval.w . . 3 𝑊 = ( I ‘Word (𝐼 × 2o))
2 efgval.r . . 3 = ( ~FG𝐼)
31, 2efgval 18822 . 2 = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
4 efgval2.m . . . . . . . . . . 11 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
5 efgval2.t . . . . . . . . . . 11 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
61, 2, 4, 5efgtf 18827 . . . . . . . . . 10 (𝑥𝑊 → ((𝑇𝑥) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ∧ (𝑇𝑥):((0...(♯‘𝑥)) × (𝐼 × 2o))⟶𝑊))
76simpld 497 . . . . . . . . 9 (𝑥𝑊 → (𝑇𝑥) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
87rneqd 5784 . . . . . . . 8 (𝑥𝑊 → ran (𝑇𝑥) = ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
98sseq1d 3977 . . . . . . 7 (𝑥𝑊 → (ran (𝑇𝑥) ⊆ [𝑥]𝑟 ↔ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ⊆ [𝑥]𝑟))
10 dfss3 3935 . . . . . . . 8 (ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ⊆ [𝑥]𝑟 ↔ ∀𝑎 ∈ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))𝑎 ∈ [𝑥]𝑟)
11 ovex 7166 . . . . . . . . . . 11 (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ∈ V
1211rgen2w 3138 . . . . . . . . . 10 𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ∈ V
13 eqid 2820 . . . . . . . . . . 11 (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))
14 vex 3476 . . . . . . . . . . . . 13 𝑎 ∈ V
15 vex 3476 . . . . . . . . . . . . 13 𝑥 ∈ V
1614, 15elec 8311 . . . . . . . . . . . 12 (𝑎 ∈ [𝑥]𝑟𝑥𝑟𝑎)
17 breq2 5046 . . . . . . . . . . . 12 (𝑎 = (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) → (𝑥𝑟𝑎𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
1816, 17syl5bb 285 . . . . . . . . . . 11 (𝑎 = (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) → (𝑎 ∈ [𝑥]𝑟𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
1913, 18ralrnmpo 7266 . . . . . . . . . 10 (∀𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ∈ V → (∀𝑎 ∈ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))𝑎 ∈ [𝑥]𝑟 ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
2012, 19ax-mp 5 . . . . . . . . 9 (∀𝑎 ∈ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))𝑎 ∈ [𝑥]𝑟 ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))
21 id 22 . . . . . . . . . . . . . . . 16 (𝑢 = ⟨𝑎, 𝑏⟩ → 𝑢 = ⟨𝑎, 𝑏⟩)
22 fveq2 6646 . . . . . . . . . . . . . . . . 17 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑀𝑢) = (𝑀‘⟨𝑎, 𝑏⟩))
23 df-ov 7136 . . . . . . . . . . . . . . . . 17 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
2422, 23syl6eqr 2873 . . . . . . . . . . . . . . . 16 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑀𝑢) = (𝑎𝑀𝑏))
2521, 24s2eqd 14205 . . . . . . . . . . . . . . 15 (𝑢 = ⟨𝑎, 𝑏⟩ → ⟨“𝑢(𝑀𝑢)”⟩ = ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩)
2625oteq3d 4793 . . . . . . . . . . . . . 14 (𝑢 = ⟨𝑎, 𝑏⟩ → ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩ = ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩)
2726oveq2d 7149 . . . . . . . . . . . . 13 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) = (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩))
2827breq2d 5054 . . . . . . . . . . . 12 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩)))
2928ralxp 5688 . . . . . . . . . . 11 (∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩))
30 eqidd 2821 . . . . . . . . . . . . . . . . 17 ((𝑎𝐼𝑏 ∈ 2o) → ⟨𝑎, 𝑏⟩ = ⟨𝑎, 𝑏⟩)
314efgmval 18817 . . . . . . . . . . . . . . . . 17 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
3230, 31s2eqd 14205 . . . . . . . . . . . . . . . 16 ((𝑎𝐼𝑏 ∈ 2o) → ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩ = ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩)
3332oteq3d 4793 . . . . . . . . . . . . . . 15 ((𝑎𝐼𝑏 ∈ 2o) → ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩ = ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)
3433oveq2d 7149 . . . . . . . . . . . . . 14 ((𝑎𝐼𝑏 ∈ 2o) → (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) = (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3534breq2d 5054 . . . . . . . . . . . . 13 ((𝑎𝐼𝑏 ∈ 2o) → (𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
3635ralbidva 3183 . . . . . . . . . . . 12 (𝑎𝐼 → (∀𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ ∀𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
3736ralbiia 3151 . . . . . . . . . . 11 (∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3829, 37bitri 277 . . . . . . . . . 10 (∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3938ralbii 3152 . . . . . . . . 9 (∀𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
4020, 39bitri 277 . . . . . . . 8 (∀𝑎 ∈ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))𝑎 ∈ [𝑥]𝑟 ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
4110, 40bitri 277 . . . . . . 7 (ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ⊆ [𝑥]𝑟 ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
429, 41syl6bb 289 . . . . . 6 (𝑥𝑊 → (ran (𝑇𝑥) ⊆ [𝑥]𝑟 ↔ ∀𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
4342ralbiia 3151 . . . . 5 (∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟 ↔ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
4443anbi2i 624 . . . 4 ((𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟) ↔ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
4544abbii 2885 . . 3 {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)} = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
4645inteqi 4856 . 2 {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)} = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
473, 46eqtr4i 2846 1 = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)}
Colors of variables: wff setvar class
Syntax hints:  wb 208  wa 398   = wceq 1537  wcel 2114  {cab 2798  wral 3125  Vcvv 3473  cdif 3910  wss 3913  cop 4549  cotp 4551   cint 4852   class class class wbr 5042  cmpt 5122   I cid 5435   × cxp 5529  ran crn 5532  wf 6327  cfv 6331  (class class class)co 7133  cmpo 7135  1oc1o 8073  2oc2o 8074   Er wer 8264  [cec 8265  0cc0 10515  ...cfz 12876  chash 13675  Word cword 13846   splice csplice 14091  ⟨“cs2 14183   ~FG cefg 18811
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2792  ax-rep 5166  ax-sep 5179  ax-nul 5186  ax-pow 5242  ax-pr 5306  ax-un 7439  ax-cnex 10571  ax-resscn 10572  ax-1cn 10573  ax-icn 10574  ax-addcl 10575  ax-addrcl 10576  ax-mulcl 10577  ax-mulrcl 10578  ax-mulcom 10579  ax-addass 10580  ax-mulass 10581  ax-distr 10582  ax-i2m1 10583  ax-1ne0 10584  ax-1rid 10585  ax-rnegex 10586  ax-rrecex 10587  ax-cnre 10588  ax-pre-lttri 10589  ax-pre-lttrn 10590  ax-pre-ltadd 10591  ax-pre-mulgt0 10592
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2653  df-clab 2799  df-cleq 2813  df-clel 2891  df-nfc 2959  df-ne 3007  df-nel 3111  df-ral 3130  df-rex 3131  df-reu 3132  df-rab 3134  df-v 3475  df-sbc 3753  df-csb 3861  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-pss 3932  df-nul 4270  df-if 4444  df-pw 4517  df-sn 4544  df-pr 4546  df-tp 4548  df-op 4550  df-ot 4552  df-uni 4815  df-int 4853  df-iun 4897  df-br 5043  df-opab 5105  df-mpt 5123  df-tr 5149  df-id 5436  df-eprel 5441  df-po 5450  df-so 5451  df-fr 5490  df-we 5492  df-xp 5537  df-rel 5538  df-cnv 5539  df-co 5540  df-dm 5541  df-rn 5542  df-res 5543  df-ima 5544  df-pred 6124  df-ord 6170  df-on 6171  df-lim 6172  df-suc 6173  df-iota 6290  df-fun 6333  df-fn 6334  df-f 6335  df-f1 6336  df-fo 6337  df-f1o 6338  df-fv 6339  df-riota 7091  df-ov 7136  df-oprab 7137  df-mpo 7138  df-om 7559  df-1st 7667  df-2nd 7668  df-wrecs 7925  df-recs 7986  df-rdg 8024  df-1o 8080  df-2o 8081  df-oadd 8084  df-er 8267  df-ec 8269  df-map 8386  df-en 8488  df-dom 8489  df-sdom 8490  df-fin 8491  df-card 9346  df-pnf 10655  df-mnf 10656  df-xr 10657  df-ltxr 10658  df-le 10659  df-sub 10850  df-neg 10851  df-nn 11617  df-n0 11877  df-z 11961  df-uz 12223  df-fz 12877  df-fzo 13018  df-hash 13676  df-word 13847  df-concat 13903  df-s1 13930  df-substr 13983  df-pfx 14013  df-splice 14092  df-s2 14190  df-efg 18814
This theorem is referenced by:  efgi2  18830  efgrelexlemb  18855  efgcpbllemb  18860
  Copyright terms: Public domain W3C validator