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

Theorem efgval2 18850
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 18843 . 2 = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
4 efgval2.m . . . . . . . . . . 11 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
5 efgval2.t . . . . . . . . . . 11 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
61, 2, 4, 5efgtf 18848 . . . . . . . . . 10 (𝑥𝑊 → ((𝑇𝑥) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ∧ (𝑇𝑥):((0...(♯‘𝑥)) × (𝐼 × 2o))⟶𝑊))
76simpld 497 . . . . . . . . 9 (𝑥𝑊 → (𝑇𝑥) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
87rneqd 5808 . . . . . . . 8 (𝑥𝑊 → ran (𝑇𝑥) = ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
98sseq1d 3998 . . . . . . 7 (𝑥𝑊 → (ran (𝑇𝑥) ⊆ [𝑥]𝑟 ↔ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ⊆ [𝑥]𝑟))
10 dfss3 3956 . . . . . . . 8 (ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ⊆ [𝑥]𝑟 ↔ ∀𝑎 ∈ ran (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))𝑎 ∈ [𝑥]𝑟)
11 ovex 7189 . . . . . . . . . . 11 (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ∈ V
1211rgen2w 3151 . . . . . . . . . 10 𝑚 ∈ (0...(♯‘𝑥))∀𝑢 ∈ (𝐼 × 2o)(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ∈ V
13 eqid 2821 . . . . . . . . . . 11 (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) = (𝑚 ∈ (0...(♯‘𝑥)), 𝑢 ∈ (𝐼 × 2o) ↦ (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩))
14 vex 3497 . . . . . . . . . . . . 13 𝑎 ∈ V
15 vex 3497 . . . . . . . . . . . . 13 𝑥 ∈ V
1614, 15elec 8333 . . . . . . . . . . . 12 (𝑎 ∈ [𝑥]𝑟𝑥𝑟𝑎)
17 breq2 5070 . . . . . . . . . . . 12 (𝑎 = (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) → (𝑥𝑟𝑎𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
1816, 17syl5bb 285 . . . . . . . . . . 11 (𝑎 = (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) → (𝑎 ∈ [𝑥]𝑟𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)))
1913, 18ralrnmpo 7289 . . . . . . . . . 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 6670 . . . . . . . . . . . . . . . . 17 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑀𝑢) = (𝑀‘⟨𝑎, 𝑏⟩))
23 df-ov 7159 . . . . . . . . . . . . . . . . 17 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
2422, 23syl6eqr 2874 . . . . . . . . . . . . . . . 16 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑀𝑢) = (𝑎𝑀𝑏))
2521, 24s2eqd 14225 . . . . . . . . . . . . . . 15 (𝑢 = ⟨𝑎, 𝑏⟩ → ⟨“𝑢(𝑀𝑢)”⟩ = ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩)
2625oteq3d 4817 . . . . . . . . . . . . . 14 (𝑢 = ⟨𝑎, 𝑏⟩ → ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩ = ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩)
2726oveq2d 7172 . . . . . . . . . . . . 13 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) = (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩))
2827breq2d 5078 . . . . . . . . . . . 12 (𝑢 = ⟨𝑎, 𝑏⟩ → (𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩)))
2928ralxp 5712 . . . . . . . . . . 11 (∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩))
30 eqidd 2822 . . . . . . . . . . . . . . . . 17 ((𝑎𝐼𝑏 ∈ 2o) → ⟨𝑎, 𝑏⟩ = ⟨𝑎, 𝑏⟩)
314efgmval 18838 . . . . . . . . . . . . . . . . 17 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
3230, 31s2eqd 14225 . . . . . . . . . . . . . . . 16 ((𝑎𝐼𝑏 ∈ 2o) → ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩ = ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩)
3332oteq3d 4817 . . . . . . . . . . . . . . 15 ((𝑎𝐼𝑏 ∈ 2o) → ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩ = ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)
3433oveq2d 7172 . . . . . . . . . . . . . 14 ((𝑎𝐼𝑏 ∈ 2o) → (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) = (𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3534breq2d 5078 . . . . . . . . . . . . 13 ((𝑎𝐼𝑏 ∈ 2o) → (𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
3635ralbidva 3196 . . . . . . . . . . . 12 (𝑎𝐼 → (∀𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ ∀𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
3736ralbiia 3164 . . . . . . . . . . 11 (∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩(𝑎𝑀𝑏)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3829, 37bitri 277 . . . . . . . . . 10 (∀𝑢 ∈ (𝐼 × 2o)𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩) ↔ ∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
3938ralbii 3165 . . . . . . . . 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 3164 . . . . 5 (∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟 ↔ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))
4443anbi2i 624 . . . 4 ((𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟) ↔ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩)))
4544abbii 2886 . . 3 {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)} = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
4645inteqi 4880 . 2 {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)} = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊𝑚 ∈ (0...(♯‘𝑥))∀𝑎𝐼𝑏 ∈ 2o 𝑥𝑟(𝑥 splice ⟨𝑚, 𝑚, ⟨“⟨𝑎, 𝑏⟩⟨𝑎, (1o𝑏)⟩”⟩⟩))}
473, 46eqtr4i 2847 1 = {𝑟 ∣ (𝑟 Er 𝑊 ∧ ∀𝑥𝑊 ran (𝑇𝑥) ⊆ [𝑥]𝑟)}
Colors of variables: wff setvar class
Syntax hints:  wb 208  wa 398   = wceq 1537  wcel 2114  {cab 2799  wral 3138  Vcvv 3494  cdif 3933  wss 3936  cop 4573  cotp 4575   cint 4876   class class class wbr 5066  cmpt 5146   I cid 5459   × cxp 5553  ran crn 5556  wf 6351  cfv 6355  (class class class)co 7156  cmpo 7158  1oc1o 8095  2oc2o 8096   Er wer 8286  [cec 8287  0cc0 10537  ...cfz 12893  chash 13691  Word cword 13862   splice csplice 14111  ⟨“cs2 14203   ~FG cefg 18832
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 2793  ax-rep 5190  ax-sep 5203  ax-nul 5210  ax-pow 5266  ax-pr 5330  ax-un 7461  ax-cnex 10593  ax-resscn 10594  ax-1cn 10595  ax-icn 10596  ax-addcl 10597  ax-addrcl 10598  ax-mulcl 10599  ax-mulrcl 10600  ax-mulcom 10601  ax-addass 10602  ax-mulass 10603  ax-distr 10604  ax-i2m1 10605  ax-1ne0 10606  ax-1rid 10607  ax-rnegex 10608  ax-rrecex 10609  ax-cnre 10610  ax-pre-lttri 10611  ax-pre-lttrn 10612  ax-pre-ltadd 10613  ax-pre-mulgt0 10614
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 2654  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rab 3147  df-v 3496  df-sbc 3773  df-csb 3884  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-pss 3954  df-nul 4292  df-if 4468  df-pw 4541  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-ot 4576  df-uni 4839  df-int 4877  df-iun 4921  df-br 5067  df-opab 5129  df-mpt 5147  df-tr 5173  df-id 5460  df-eprel 5465  df-po 5474  df-so 5475  df-fr 5514  df-we 5516  df-xp 5561  df-rel 5562  df-cnv 5563  df-co 5564  df-dm 5565  df-rn 5566  df-res 5567  df-ima 5568  df-pred 6148  df-ord 6194  df-on 6195  df-lim 6196  df-suc 6197  df-iota 6314  df-fun 6357  df-fn 6358  df-f 6359  df-f1 6360  df-fo 6361  df-f1o 6362  df-fv 6363  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-om 7581  df-1st 7689  df-2nd 7690  df-wrecs 7947  df-recs 8008  df-rdg 8046  df-1o 8102  df-2o 8103  df-oadd 8106  df-er 8289  df-ec 8291  df-map 8408  df-en 8510  df-dom 8511  df-sdom 8512  df-fin 8513  df-card 9368  df-pnf 10677  df-mnf 10678  df-xr 10679  df-ltxr 10680  df-le 10681  df-sub 10872  df-neg 10873  df-nn 11639  df-n0 11899  df-z 11983  df-uz 12245  df-fz 12894  df-fzo 13035  df-hash 13692  df-word 13863  df-concat 13923  df-s1 13950  df-substr 14003  df-pfx 14033  df-splice 14112  df-s2 14210  df-efg 18835
This theorem is referenced by:  efgi2  18851  efgrelexlemb  18876  efgcpbllemb  18881
  Copyright terms: Public domain W3C validator