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

Theorem efgtf 18861
 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
efgtf (𝑋𝑊 → ((𝑇𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) ∧ (𝑇𝑋):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊))
Distinct variable groups:   𝑎,𝑏,𝑦,𝑧   𝑣,𝑛,𝑤,𝑦,𝑧,𝑎   𝑀,𝑎   𝑛,𝑏,𝑣,𝑤,𝑀   𝑇,𝑎,𝑏   𝑋,𝑎,𝑏   𝑊,𝑎,𝑏,𝑛,𝑣,𝑤,𝑦,𝑧   ,𝑎,𝑏,𝑦,𝑧   𝐼,𝑎,𝑏,𝑛,𝑣,𝑤,𝑦,𝑧
Allowed substitution hints:   (𝑤,𝑣,𝑛)   𝑇(𝑦,𝑧,𝑤,𝑣,𝑛)   𝑀(𝑦,𝑧)   𝑋(𝑦,𝑧,𝑤,𝑣,𝑛)

Proof of Theorem efgtf
Dummy variable 𝑢 is distinct from all other variables.
StepHypRef Expression
1 efgval.w . . . . . . . . . 10 𝑊 = ( I ‘Word (𝐼 × 2o))
2 fviss 6726 . . . . . . . . . 10 ( I ‘Word (𝐼 × 2o)) ⊆ Word (𝐼 × 2o)
31, 2eqsstri 3951 . . . . . . . . 9 𝑊 ⊆ Word (𝐼 × 2o)
4 simpl 486 . . . . . . . . 9 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑋𝑊)
53, 4sseldi 3915 . . . . . . . 8 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑋 ∈ Word (𝐼 × 2o))
6 simprr 772 . . . . . . . . 9 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑏 ∈ (𝐼 × 2o))
7 efgval2.m . . . . . . . . . . . 12 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
87efgmf 18852 . . . . . . . . . . 11 𝑀:(𝐼 × 2o)⟶(𝐼 × 2o)
98ffvelrni 6837 . . . . . . . . . 10 (𝑏 ∈ (𝐼 × 2o) → (𝑀𝑏) ∈ (𝐼 × 2o))
109ad2antll 728 . . . . . . . . 9 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝑀𝑏) ∈ (𝐼 × 2o))
116, 10s2cld 14244 . . . . . . . 8 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → ⟨“𝑏(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2o))
12 splcl 14125 . . . . . . . 8 ((𝑋 ∈ Word (𝐼 × 2o) ∧ ⟨“𝑏(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2o)) → (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) ∈ Word (𝐼 × 2o))
135, 11, 12syl2anc 587 . . . . . . 7 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) ∈ Word (𝐼 × 2o))
141efgrcl 18854 . . . . . . . . 9 (𝑋𝑊 → (𝐼 ∈ V ∧ 𝑊 = Word (𝐼 × 2o)))
1514simprd 499 . . . . . . . 8 (𝑋𝑊𝑊 = Word (𝐼 × 2o))
1615adantr 484 . . . . . . 7 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑊 = Word (𝐼 × 2o))
1713, 16eleqtrrd 2893 . . . . . 6 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) ∈ 𝑊)
1817ralrimivva 3156 . . . . 5 (𝑋𝑊 → ∀𝑎 ∈ (0...(♯‘𝑋))∀𝑏 ∈ (𝐼 × 2o)(𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) ∈ 𝑊)
19 eqid 2798 . . . . . 6 (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩))
2019fmpo 7761 . . . . 5 (∀𝑎 ∈ (0...(♯‘𝑋))∀𝑏 ∈ (𝐼 × 2o)(𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) ∈ 𝑊 ↔ (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊)
2118, 20sylib 221 . . . 4 (𝑋𝑊 → (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊)
22 ovex 7178 . . . . 5 (0...(♯‘𝑋)) ∈ V
2314simpld 498 . . . . . 6 (𝑋𝑊𝐼 ∈ V)
24 2on 8112 . . . . . 6 2o ∈ On
25 xpexg 7466 . . . . . 6 ((𝐼 ∈ V ∧ 2o ∈ On) → (𝐼 × 2o) ∈ V)
2623, 24, 25sylancl 589 . . . . 5 (𝑋𝑊 → (𝐼 × 2o) ∈ V)
27 xpexg 7466 . . . . 5 (((0...(♯‘𝑋)) ∈ V ∧ (𝐼 × 2o) ∈ V) → ((0...(♯‘𝑋)) × (𝐼 × 2o)) ∈ V)
2822, 26, 27sylancr 590 . . . 4 (𝑋𝑊 → ((0...(♯‘𝑋)) × (𝐼 × 2o)) ∈ V)
291fvexi 6669 . . . . 5 𝑊 ∈ V
3029a1i 11 . . . 4 (𝑋𝑊𝑊 ∈ V)
31 fex2 7633 . . . 4 (((𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊 ∧ ((0...(♯‘𝑋)) × (𝐼 × 2o)) ∈ V ∧ 𝑊 ∈ V) → (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) ∈ V)
3221, 28, 30, 31syl3anc 1368 . . 3 (𝑋𝑊 → (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) ∈ V)
33 fveq2 6655 . . . . . 6 (𝑢 = 𝑋 → (♯‘𝑢) = (♯‘𝑋))
3433oveq2d 7161 . . . . 5 (𝑢 = 𝑋 → (0...(♯‘𝑢)) = (0...(♯‘𝑋)))
35 eqidd 2799 . . . . 5 (𝑢 = 𝑋 → (𝐼 × 2o) = (𝐼 × 2o))
36 oveq1 7152 . . . . 5 (𝑢 = 𝑋 → (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩))
3734, 35, 36mpoeq123dv 7218 . . . 4 (𝑢 = 𝑋 → (𝑎 ∈ (0...(♯‘𝑢)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
38 efgval2.t . . . . 5 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
39 oteq1 4778 . . . . . . . . . 10 (𝑛 = 𝑎 → ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩ = ⟨𝑎, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)
40 oteq2 4779 . . . . . . . . . 10 (𝑛 = 𝑎 → ⟨𝑎, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩ = ⟨𝑎, 𝑎, ⟨“𝑤(𝑀𝑤)”⟩⟩)
4139, 40eqtrd 2833 . . . . . . . . 9 (𝑛 = 𝑎 → ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩ = ⟨𝑎, 𝑎, ⟨“𝑤(𝑀𝑤)”⟩⟩)
4241oveq2d 7161 . . . . . . . 8 (𝑛 = 𝑎 → (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩) = (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑤(𝑀𝑤)”⟩⟩))
43 id 22 . . . . . . . . . . 11 (𝑤 = 𝑏𝑤 = 𝑏)
44 fveq2 6655 . . . . . . . . . . 11 (𝑤 = 𝑏 → (𝑀𝑤) = (𝑀𝑏))
4543, 44s2eqd 14236 . . . . . . . . . 10 (𝑤 = 𝑏 → ⟨“𝑤(𝑀𝑤)”⟩ = ⟨“𝑏(𝑀𝑏)”⟩)
4645oteq3d 4783 . . . . . . . . 9 (𝑤 = 𝑏 → ⟨𝑎, 𝑎, ⟨“𝑤(𝑀𝑤)”⟩⟩ = ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)
4746oveq2d 7161 . . . . . . . 8 (𝑤 = 𝑏 → (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑤(𝑀𝑤)”⟩⟩) = (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩))
4842, 47cbvmpov 7238 . . . . . . 7 (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑣)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩))
49 fveq2 6655 . . . . . . . . 9 (𝑣 = 𝑢 → (♯‘𝑣) = (♯‘𝑢))
5049oveq2d 7161 . . . . . . . 8 (𝑣 = 𝑢 → (0...(♯‘𝑣)) = (0...(♯‘𝑢)))
51 eqidd 2799 . . . . . . . 8 (𝑣 = 𝑢 → (𝐼 × 2o) = (𝐼 × 2o))
52 oveq1 7152 . . . . . . . 8 (𝑣 = 𝑢 → (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩) = (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩))
5350, 51, 52mpoeq123dv 7218 . . . . . . 7 (𝑣 = 𝑢 → (𝑎 ∈ (0...(♯‘𝑣)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑢)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5448, 53syl5eq 2845 . . . . . 6 (𝑣 = 𝑢 → (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑢)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5554cbvmptv 5137 . . . . 5 (𝑣𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩))) = (𝑢𝑊 ↦ (𝑎 ∈ (0...(♯‘𝑢)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5638, 55eqtri 2821 . . . 4 𝑇 = (𝑢𝑊 ↦ (𝑎 ∈ (0...(♯‘𝑢)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑢 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5737, 56fvmptg 6753 . . 3 ((𝑋𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) ∈ V) → (𝑇𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5832, 57mpdan 686 . 2 (𝑋𝑊 → (𝑇𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)))
5958feq1d 6480 . . 3 (𝑋𝑊 → ((𝑇𝑋):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊 ↔ (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊))
6021, 59mpbird 260 . 2 (𝑋𝑊 → (𝑇𝑋):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊)
6158, 60jca 515 1 (𝑋𝑊 → ((𝑇𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀𝑏)”⟩⟩)) ∧ (𝑇𝑋):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ wa 399   = wceq 1538   ∈ wcel 2111  ∀wral 3106  Vcvv 3442   ∖ cdif 3880  ⟨cop 4534  ⟨cotp 4536   ↦ cmpt 5114   I cid 5428   × cxp 5521  Oncon0 6166  ⟶wf 6328  ‘cfv 6332  (class class class)co 7145   ∈ cmpo 7147  1oc1o 8096  2oc2o 8097  0cc0 10544  ...cfz 12905  ♯chash 13706  Word cword 13877   splice csplice 14122  ⟨“cs2 14214   ~FG cefg 18845 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5158  ax-sep 5171  ax-nul 5178  ax-pow 5235  ax-pr 5299  ax-un 7454  ax-cnex 10600  ax-resscn 10601  ax-1cn 10602  ax-icn 10603  ax-addcl 10604  ax-addrcl 10605  ax-mulcl 10606  ax-mulrcl 10607  ax-mulcom 10608  ax-addass 10609  ax-mulass 10610  ax-distr 10611  ax-i2m1 10612  ax-1ne0 10613  ax-1rid 10614  ax-rnegex 10615  ax-rrecex 10616  ax-cnre 10617  ax-pre-lttri 10618  ax-pre-lttrn 10619  ax-pre-ltadd 10620  ax-pre-mulgt0 10621 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rab 3115  df-v 3444  df-sbc 3723  df-csb 3831  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3902  df-nul 4247  df-if 4429  df-pw 4502  df-sn 4529  df-pr 4531  df-tp 4533  df-op 4535  df-ot 4537  df-uni 4805  df-int 4843  df-iun 4887  df-br 5035  df-opab 5097  df-mpt 5115  df-tr 5141  df-id 5429  df-eprel 5434  df-po 5442  df-so 5443  df-fr 5482  df-we 5484  df-xp 5529  df-rel 5530  df-cnv 5531  df-co 5532  df-dm 5533  df-rn 5534  df-res 5535  df-ima 5536  df-pred 6123  df-ord 6169  df-on 6170  df-lim 6171  df-suc 6172  df-iota 6291  df-fun 6334  df-fn 6335  df-f 6336  df-f1 6337  df-fo 6338  df-f1o 6339  df-fv 6340  df-riota 7103  df-ov 7148  df-oprab 7149  df-mpo 7150  df-om 7574  df-1st 7684  df-2nd 7685  df-wrecs 7948  df-recs 8009  df-rdg 8047  df-1o 8103  df-2o 8104  df-oadd 8107  df-er 8290  df-map 8409  df-en 8511  df-dom 8512  df-sdom 8513  df-fin 8514  df-card 9370  df-pnf 10684  df-mnf 10685  df-xr 10686  df-ltxr 10687  df-le 10688  df-sub 10879  df-neg 10880  df-nn 11644  df-n0 11904  df-z 11990  df-uz 12252  df-fz 12906  df-fzo 13049  df-hash 13707  df-word 13878  df-concat 13934  df-s1 13961  df-substr 14014  df-pfx 14044  df-splice 14123  df-s2 14221 This theorem is referenced by:  efgtval  18862  efgval2  18863  efgtlen  18865  efginvrel2  18866  efgsp1  18876  efgredleme  18882  efgredlem  18886  efgrelexlemb  18889  efgcpbllemb  18894  frgpnabllem1  19007
 Copyright terms: Public domain W3C validator