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

Theorem efgtlen 19952
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
efgtlen ((𝑋 ∈ 𝑊 ∧ 𝐴 ∈ ran (𝑇‘𝑋)) → (♯‘𝐴) = ((♯‘𝑋) + 2))
Distinct variable groups:   𝑦,𝑧   𝑣,𝑛,𝑤,𝑦,𝑧   𝑛,𝑀,𝑣,𝑤   𝑛,𝑊,𝑣,𝑤,𝑦,𝑧   𝑦, ∼ ,𝑧   𝑛,𝐼,𝑣,𝑤,𝑦,𝑧
Allowed substitution hints:   𝐴(𝑦, 𝑧, 𝑤, 𝑣, 𝑛)   ∼ (𝑤, 𝑣, 𝑛)   𝑇(𝑦, 𝑧, 𝑤, 𝑣, 𝑛)   𝑀(𝑦, 𝑧)   𝑋(𝑦, 𝑧, 𝑤, 𝑣, 𝑛)

Proof of Theorem efgtlen
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 efgval.w . . . . . . . 8 𝑊 = ( I ‘Word (𝐼 × 2o))
2 efgval.r . . . . . . . 8 ∼ = ( ~FG ‘𝐼)
3 efgval2.m . . . . . . . 8 𝑀 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o ∖ 𝑧)⟩)
4 efgval2.t . . . . . . . 8 𝑇 = (𝑣 ∈ 𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2o) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀‘𝑤)”⟩⟩)))
51, 2, 3, 4efgtf 19948 . . . . . . 7 (𝑋 ∈ 𝑊 → ((𝑇‘𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) ∧ (𝑇‘𝑋):((0...(♯‘𝑋)) × (𝐼 × 2o))⟶𝑊))
65simpld 500 . . . . . 6 (𝑋 ∈ 𝑊 → (𝑇‘𝑋) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)))
76rneqd 5924 . . . . 5 (𝑋 ∈ 𝑊 → ran (𝑇‘𝑋) = ran (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)))
87eleq2d 2849 . . . 4 (𝑋 ∈ 𝑊 → (𝐴 ∈ ran (𝑇‘𝑋) ↔ 𝐴 ∈ ran (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩))))
9 eqid 2763 . . . . 5 (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) = (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩))
10 ovex 7460 . . . . 5 (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩) ∈ V
119, 10elrnmpo 7563 . . . 4 (𝐴 ∈ ran (𝑎 ∈ (0...(♯‘𝑋)), 𝑏 ∈ (𝐼 × 2o) ↦ (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) ↔ ∃𝑎 ∈ (0...(♯‘𝑋))∃𝑏 ∈ (𝐼 × 2o)𝐴 = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩))
128, 11bitrdi 290 . . 3 (𝑋 ∈ 𝑊 → (𝐴 ∈ ran (𝑇‘𝑋) ↔ ∃𝑎 ∈ (0...(♯‘𝑋))∃𝑏 ∈ (𝐼 × 2o)𝐴 = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)))
13 fviss 6970 . . . . . . . . 9 ( I ‘Word (𝐼 × 2o)) ⊆ Word (𝐼 × 2o)
141, 13eqsstri 3958 . . . . . . . 8 𝑊 ⊆ Word (𝐼 × 2o)
15 simpl 488 . . . . . . . 8 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑋 ∈ 𝑊)
1614, 15sselid 3910 . . . . . . 7 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑋 ∈ Word (𝐼 × 2o))
17 elfzuz 13662 . . . . . . . . 9 (𝑎 ∈ (0...(♯‘𝑋)) → 𝑎 ∈ (ℤ≥‘0))
1817ad2antrl 741 . . . . . . . 8 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈ (ℤ≥‘0))
19 eluzfz2b 13676 . . . . . . . 8 (𝑎 ∈ (ℤ≥‘0) ↔ 𝑎 ∈ (0...𝑎))
2018, 19sylib 221 . . . . . . 7 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈ (0...𝑎))
21 simprl 783 . . . . . . 7 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈ (0...(♯‘𝑋)))
22 simprr 785 . . . . . . . 8 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑏 ∈ (𝐼 × 2o))
233efgmf 19939 . . . . . . . . . 10 𝑀:(𝐼 × 2o)⟶(𝐼 × 2o)
2423ffvelcdmi 7091 . . . . . . . . 9 (𝑏 ∈ (𝐼 × 2o) → (𝑀‘𝑏) ∈ (𝐼 × 2o))
2522, 24syl 18 . . . . . . . 8 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝑀‘𝑏) ∈ (𝐼 × 2o))
2622, 25s2cld 15033 . . . . . . 7 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → ⟨“𝑏(𝑀‘𝑏)”⟩ ∈ Word (𝐼 × 2o))
2716, 20, 21, 26spllen 14914 . . . . . 6 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (♯‘(𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) = ((♯‘𝑋) + ((♯‘⟨“𝑏(𝑀‘𝑏)”⟩) − (𝑎 − 𝑎))))
28 s2len 15051 . . . . . . . . . 10 (♯‘⟨“𝑏(𝑀‘𝑏)”⟩) = 2
2928a1i 11 . . . . . . . . 9 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (♯‘⟨“𝑏(𝑀‘𝑏)”⟩) = 2)
30 eluzelcn 12987 . . . . . . . . . . 11 (𝑎 ∈ (ℤ≥‘0) → 𝑎 ∈ ℂ)
3118, 30syl 18 . . . . . . . . . 10 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → 𝑎 ∈ ℂ)
3231subidd 11667 . . . . . . . . 9 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝑎 − 𝑎) = 0)
3329, 32oveq12d 7445 . . . . . . . 8 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → ((♯‘⟨“𝑏(𝑀‘𝑏)”⟩) − (𝑎 − 𝑎)) = (2 − 0))
34 2cn 12428 . . . . . . . . 9 2 ∈ ℂ
3534subid1i 11640 . . . . . . . 8 (2 − 0) = 2
3633, 35eqtrdi 2814 . . . . . . 7 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → ((♯‘⟨“𝑏(𝑀‘𝑏)”⟩) − (𝑎 − 𝑎)) = 2)
3736oveq2d 7443 . . . . . 6 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → ((♯‘𝑋) + ((♯‘⟨“𝑏(𝑀‘𝑏)”⟩) − (𝑎 − 𝑎))) = ((♯‘𝑋) + 2))
3827, 37eqtrd 2798 . . . . 5 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (♯‘(𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) = ((♯‘𝑋) + 2))
39 fveqeq2 6902 . . . . 5 (𝐴 = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩) → ((♯‘𝐴) = ((♯‘𝑋) + 2) ↔ (♯‘(𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩)) = ((♯‘𝑋) + 2)))
4038, 39syl5ibrcom 250 . . . 4 ((𝑋 ∈ 𝑊 ∧ (𝑎 ∈ (0...(♯‘𝑋)) ∧ 𝑏 ∈ (𝐼 × 2o))) → (𝐴 = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩) → (♯‘𝐴) = ((♯‘𝑋) + 2)))
4140rexlimdvva 3222 . . 3 (𝑋 ∈ 𝑊 → (∃𝑎 ∈ (0...(♯‘𝑋))∃𝑏 ∈ (𝐼 × 2o)𝐴 = (𝑋 splice ⟨𝑎, 𝑎, ⟨“𝑏(𝑀‘𝑏)”⟩⟩) → (♯‘𝐴) = ((♯‘𝑋) + 2)))
4212, 41sylbid 243 . 2 (𝑋 ∈ 𝑊 → (𝐴 ∈ ran (𝑇‘𝑋) → (♯‘𝐴) = ((♯‘𝑋) + 2)))
4342imp 412 1 ((𝑋 ∈ 𝑊 ∧ 𝐴 ∈ ran (𝑇‘𝑋)) → (♯‘𝐴) = ((♯‘𝑋) + 2))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1569   ∈ wcel 2146  ∃wrex 3089   ∖ cdif 4047  ⟨cop 4837  ⟨cotp 4860   ↦ cmpt 5188   I cid 5548   × cxp 5652  ran crn 5655  ⟶wf 6542  ‘cfv 6546  (class class class)co 7427   ∈ cmpo 7429  1oc1o 8480  2oc2o 8481  ℂcc 11208  0cc0 11210   + caddc 11213   − cmin 11551  2c2 12407  ℤ≥cuz 12975  ...cfz 13649  ♯chash 14484  Word cword 14668   splice csplice 14909  ⟨“cs2 15003   ~FG cefg 19932
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2196  ax-12 2215  ax-ext 2735  ax-rep 5234  ax-sep 5251  ax-nul 5262  ax-pow 5330  ax-pr 5394  ax-un 7758  ax-cnex 11266  ax-resscn 11267  ax-1cn 11268  ax-icn 11269  ax-addcl 11270  ax-addrcl 11271  ax-mulcl 11272  ax-mulrcl 11273  ax-mulcom 11274  ax-addass 11275  ax-mulass 11276  ax-distr 11277  ax-i2m1 11278  ax-1ne0 11279  ax-1rid 11280  ax-rnegex 11281  ax-rrecex 11282  ax-cnre 11283  ax-pre-lttri 11284  ax-pre-lttrn 11285  ax-pre-ltadd 11286  ax-pre-mulgt0 11287
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2101  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-nel 3065  df-ral 3080  df-rex 3090  df-reu 3369  df-rab 3416  df-v 3455  df-sbc 3742  df-csb 3851  df-ss 3900  df-pss 4016  df-dif 4049  df-in 4093  df-un 4153  df-nul 4281  df-if 4485  df-pw 4561  df-sn 4588  df-pr 4590  df-op 4838  df-ot 4861  df-uni 4870  df-int 4910  df-iun 4955  df-br 5106  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5549  df-eprel 5554  df-po 5562  df-so 5563  df-fr 5607  df-we 5609  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6310  df-ord 6371  df-on 6372  df-lim 6373  df-suc 6374  df-iota 6500  df-fun 6548  df-fn 6549  df-f 6550  df-f1 6551  df-fo 6552  df-f1o 6553  df-fv 6554  df-riota 7384  df-ov 7430  df-oprab 7431  df-mpo 7432  df-om 7885  df-1st 8008  df-2nd 8009  df-frecs 8310  df-wrecs 8341  df-recs 8390  df-rdg 8429  df-1o 8487  df-2o 8488  df-er 8728  df-map 8860  df-en 8985  df-dom 8986  df-sdom 8987  df-fin 8988  df-card 10030  df-pnf 11355  df-mnf 11356  df-xr 11357  df-ltxr 11358  df-le 11359  df-sub 11553  df-neg 11554  df-nn 12346  df-2 12415  df-n0 12617  df-z 12704  df-uz 12976  df-fz 13650  df-fzo 13799  df-hash 14485  df-word 14669  df-concat 14726  df-s1 14753  df-substr 14800  df-pfx 14832  df-splice 14910  df-s2 15010
This theorem is used by:  efgsfo  19965  efgredlemg  19968  efgredlemd  19970  efgredlem  19973  frgpnabllem1  20099
  Copyright terms: Public domain W3C validator