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

Theorem efginvrel2 18186
Description: The inverse of the reverse of a word composed with the word relates to the identity. (This provides an explicit expression for the representation of the group inverse, given a representative of the free group equivalence class.) (Contributed by Mario Carneiro, 1-Oct-2015.)
Hypotheses
Ref Expression
efgval.w 𝑊 = ( I ‘Word (𝐼 × 2𝑜))
efgval.r = ( ~FG𝐼)
efgval2.m 𝑀 = (𝑦𝐼, 𝑧 ∈ 2𝑜 ↦ ⟨𝑦, (1𝑜𝑧)⟩)
efgval2.t 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(#‘𝑣)), 𝑤 ∈ (𝐼 × 2𝑜) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
Assertion
Ref Expression
efginvrel2 (𝐴𝑊 → (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))) ∅)
Distinct variable groups:   𝑦,𝑧   𝑣,𝑛,𝑤,𝑦,𝑧   𝑛,𝑀,𝑣,𝑤   𝑛,𝑊,𝑣,𝑤,𝑦,𝑧   𝑦, ,𝑧   𝑛,𝐼,𝑣,𝑤,𝑦,𝑧
Allowed substitution hints:   𝐴(𝑦,𝑧,𝑤,𝑣,𝑛)   (𝑤,𝑣,𝑛)   𝑇(𝑦,𝑧,𝑤,𝑣,𝑛)   𝑀(𝑦,𝑧)

Proof of Theorem efginvrel2
Dummy variables 𝑎 𝑏 𝑐 𝑢 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 efgval.w . . . 4 𝑊 = ( I ‘Word (𝐼 × 2𝑜))
2 fviss 6295 . . . 4 ( I ‘Word (𝐼 × 2𝑜)) ⊆ Word (𝐼 × 2𝑜)
31, 2eqsstri 3668 . . 3 𝑊 ⊆ Word (𝐼 × 2𝑜)
43sseli 3632 . 2 (𝐴𝑊𝐴 ∈ Word (𝐼 × 2𝑜))
5 id 22 . . . . . 6 (𝑐 = ∅ → 𝑐 = ∅)
6 fveq2 6229 . . . . . . . . 9 (𝑐 = ∅ → (reverse‘𝑐) = (reverse‘∅))
7 rev0 13559 . . . . . . . . 9 (reverse‘∅) = ∅
86, 7syl6eq 2701 . . . . . . . 8 (𝑐 = ∅ → (reverse‘𝑐) = ∅)
98coeq2d 5317 . . . . . . 7 (𝑐 = ∅ → (𝑀 ∘ (reverse‘𝑐)) = (𝑀 ∘ ∅))
10 co02 5687 . . . . . . 7 (𝑀 ∘ ∅) = ∅
119, 10syl6eq 2701 . . . . . 6 (𝑐 = ∅ → (𝑀 ∘ (reverse‘𝑐)) = ∅)
125, 11oveq12d 6708 . . . . 5 (𝑐 = ∅ → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) = (∅ ++ ∅))
1312breq1d 4695 . . . 4 (𝑐 = ∅ → ((𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅ ↔ (∅ ++ ∅) ∅))
1413imbi2d 329 . . 3 (𝑐 = ∅ → ((𝐴𝑊 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅) ↔ (𝐴𝑊 → (∅ ++ ∅) ∅)))
15 id 22 . . . . . 6 (𝑐 = 𝑎𝑐 = 𝑎)
16 fveq2 6229 . . . . . . 7 (𝑐 = 𝑎 → (reverse‘𝑐) = (reverse‘𝑎))
1716coeq2d 5317 . . . . . 6 (𝑐 = 𝑎 → (𝑀 ∘ (reverse‘𝑐)) = (𝑀 ∘ (reverse‘𝑎)))
1815, 17oveq12d 6708 . . . . 5 (𝑐 = 𝑎 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) = (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))
1918breq1d 4695 . . . 4 (𝑐 = 𝑎 → ((𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅ ↔ (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅))
2019imbi2d 329 . . 3 (𝑐 = 𝑎 → ((𝐴𝑊 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅) ↔ (𝐴𝑊 → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅)))
21 id 22 . . . . . 6 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → 𝑐 = (𝑎 ++ ⟨“𝑏”⟩))
22 fveq2 6229 . . . . . . 7 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → (reverse‘𝑐) = (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))
2322coeq2d 5317 . . . . . 6 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → (𝑀 ∘ (reverse‘𝑐)) = (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩))))
2421, 23oveq12d 6708 . . . . 5 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))))
2524breq1d 4695 . . . 4 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → ((𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅ ↔ ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅))
2625imbi2d 329 . . 3 (𝑐 = (𝑎 ++ ⟨“𝑏”⟩) → ((𝐴𝑊 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅) ↔ (𝐴𝑊 → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅)))
27 id 22 . . . . . 6 (𝑐 = 𝐴𝑐 = 𝐴)
28 fveq2 6229 . . . . . . 7 (𝑐 = 𝐴 → (reverse‘𝑐) = (reverse‘𝐴))
2928coeq2d 5317 . . . . . 6 (𝑐 = 𝐴 → (𝑀 ∘ (reverse‘𝑐)) = (𝑀 ∘ (reverse‘𝐴)))
3027, 29oveq12d 6708 . . . . 5 (𝑐 = 𝐴 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) = (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))))
3130breq1d 4695 . . . 4 (𝑐 = 𝐴 → ((𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅ ↔ (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))) ∅))
3231imbi2d 329 . . 3 (𝑐 = 𝐴 → ((𝐴𝑊 → (𝑐 ++ (𝑀 ∘ (reverse‘𝑐))) ∅) ↔ (𝐴𝑊 → (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))) ∅)))
33 wrd0 13362 . . . . 5 ∅ ∈ Word (𝐼 × 2𝑜)
34 ccatlid 13404 . . . . 5 (∅ ∈ Word (𝐼 × 2𝑜) → (∅ ++ ∅) = ∅)
3533, 34ax-mp 5 . . . 4 (∅ ++ ∅) = ∅
36 efgval.r . . . . . . 7 = ( ~FG𝐼)
371, 36efger 18177 . . . . . 6 Er 𝑊
3837a1i 11 . . . . 5 (𝐴𝑊 Er 𝑊)
391efgrcl 18174 . . . . . . 7 (𝐴𝑊 → (𝐼 ∈ V ∧ 𝑊 = Word (𝐼 × 2𝑜)))
4039simprd 478 . . . . . 6 (𝐴𝑊𝑊 = Word (𝐼 × 2𝑜))
4133, 40syl5eleqr 2737 . . . . 5 (𝐴𝑊 → ∅ ∈ 𝑊)
4238, 41erref 7807 . . . 4 (𝐴𝑊 → ∅ ∅)
4335, 42syl5eqbr 4720 . . 3 (𝐴𝑊 → (∅ ++ ∅) ∅)
4437a1i 11 . . . . . . 7 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → Er 𝑊)
45 simprl 809 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → 𝑎 ∈ Word (𝐼 × 2𝑜))
46 revcl 13556 . . . . . . . . . . . 12 (𝑎 ∈ Word (𝐼 × 2𝑜) → (reverse‘𝑎) ∈ Word (𝐼 × 2𝑜))
4746ad2antrl 764 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (reverse‘𝑎) ∈ Word (𝐼 × 2𝑜))
48 efgval2.m . . . . . . . . . . . 12 𝑀 = (𝑦𝐼, 𝑧 ∈ 2𝑜 ↦ ⟨𝑦, (1𝑜𝑧)⟩)
4948efgmf 18172 . . . . . . . . . . 11 𝑀:(𝐼 × 2𝑜)⟶(𝐼 × 2𝑜)
50 wrdco 13623 . . . . . . . . . . 11 (((reverse‘𝑎) ∈ Word (𝐼 × 2𝑜) ∧ 𝑀:(𝐼 × 2𝑜)⟶(𝐼 × 2𝑜)) → (𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜))
5147, 49, 50sylancl 695 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜))
52 ccatcl 13392 . . . . . . . . . 10 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ (𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜)) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ Word (𝐼 × 2𝑜))
5345, 51, 52syl2anc 694 . . . . . . . . 9 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ Word (𝐼 × 2𝑜))
5440adantr 480 . . . . . . . . 9 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → 𝑊 = Word (𝐼 × 2𝑜))
5553, 54eleqtrrd 2733 . . . . . . . 8 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ 𝑊)
56 lencl 13356 . . . . . . . . . . . . . 14 (𝑎 ∈ Word (𝐼 × 2𝑜) → (#‘𝑎) ∈ ℕ0)
5756ad2antrl 764 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ ℕ0)
58 nn0uz 11760 . . . . . . . . . . . . 13 0 = (ℤ‘0)
5957, 58syl6eleq 2740 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ (ℤ‘0))
60 ccatlen 13393 . . . . . . . . . . . . . 14 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ (𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜)) → (#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) = ((#‘𝑎) + (#‘(𝑀 ∘ (reverse‘𝑎)))))
6145, 51, 60syl2anc 694 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) = ((#‘𝑎) + (#‘(𝑀 ∘ (reverse‘𝑎)))))
6257nn0zd 11518 . . . . . . . . . . . . . . 15 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ ℤ)
63 uzid 11740 . . . . . . . . . . . . . . 15 ((#‘𝑎) ∈ ℤ → (#‘𝑎) ∈ (ℤ‘(#‘𝑎)))
6462, 63syl 17 . . . . . . . . . . . . . 14 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ (ℤ‘(#‘𝑎)))
65 lencl 13356 . . . . . . . . . . . . . . 15 ((𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜) → (#‘(𝑀 ∘ (reverse‘𝑎))) ∈ ℕ0)
6651, 65syl 17 . . . . . . . . . . . . . 14 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘(𝑀 ∘ (reverse‘𝑎))) ∈ ℕ0)
67 uzaddcl 11782 . . . . . . . . . . . . . 14 (((#‘𝑎) ∈ (ℤ‘(#‘𝑎)) ∧ (#‘(𝑀 ∘ (reverse‘𝑎))) ∈ ℕ0) → ((#‘𝑎) + (#‘(𝑀 ∘ (reverse‘𝑎)))) ∈ (ℤ‘(#‘𝑎)))
6864, 66, 67syl2anc 694 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((#‘𝑎) + (#‘(𝑀 ∘ (reverse‘𝑎)))) ∈ (ℤ‘(#‘𝑎)))
6961, 68eqeltrd 2730 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) ∈ (ℤ‘(#‘𝑎)))
70 elfzuzb 12374 . . . . . . . . . . . 12 ((#‘𝑎) ∈ (0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) ↔ ((#‘𝑎) ∈ (ℤ‘0) ∧ (#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) ∈ (ℤ‘(#‘𝑎))))
7159, 69, 70sylanbrc 699 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ (0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))))
72 simprr 811 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → 𝑏 ∈ (𝐼 × 2𝑜))
73 efgval2.t . . . . . . . . . . . 12 𝑇 = (𝑣𝑊 ↦ (𝑛 ∈ (0...(#‘𝑣)), 𝑤 ∈ (𝐼 × 2𝑜) ↦ (𝑣 splice ⟨𝑛, 𝑛, ⟨“𝑤(𝑀𝑤)”⟩⟩)))
741, 36, 48, 73efgtval 18182 . . . . . . . . . . 11 (((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ 𝑊 ∧ (#‘𝑎) ∈ (0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) ∧ 𝑏 ∈ (𝐼 × 2𝑜)) → ((#‘𝑎)(𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))𝑏) = ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) splice ⟨(#‘𝑎), (#‘𝑎), ⟨“𝑏(𝑀𝑏)”⟩⟩))
7555, 71, 72, 74syl3anc 1366 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((#‘𝑎)(𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))𝑏) = ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) splice ⟨(#‘𝑎), (#‘𝑎), ⟨“𝑏(𝑀𝑏)”⟩⟩))
7633a1i 11 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ∅ ∈ Word (𝐼 × 2𝑜))
7749ffvelrni 6398 . . . . . . . . . . . . 13 (𝑏 ∈ (𝐼 × 2𝑜) → (𝑀𝑏) ∈ (𝐼 × 2𝑜))
7872, 77syl 17 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀𝑏) ∈ (𝐼 × 2𝑜))
7972, 78s2cld 13662 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ⟨“𝑏(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2𝑜))
80 ccatrid 13405 . . . . . . . . . . . . . 14 (𝑎 ∈ Word (𝐼 × 2𝑜) → (𝑎 ++ ∅) = 𝑎)
8180ad2antrl 764 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ ∅) = 𝑎)
8281eqcomd 2657 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → 𝑎 = (𝑎 ++ ∅))
8382oveq1d 6705 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) = ((𝑎 ++ ∅) ++ (𝑀 ∘ (reverse‘𝑎))))
84 eqidd 2652 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) = (#‘𝑎))
85 hash0 13196 . . . . . . . . . . . . 13 (#‘∅) = 0
8685oveq2i 6701 . . . . . . . . . . . 12 ((#‘𝑎) + (#‘∅)) = ((#‘𝑎) + 0)
8757nn0cnd 11391 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) ∈ ℂ)
8887addid1d 10274 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((#‘𝑎) + 0) = (#‘𝑎))
8986, 88syl5req 2698 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (#‘𝑎) = ((#‘𝑎) + (#‘∅)))
9045, 76, 51, 79, 83, 84, 89splval2 13554 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) splice ⟨(#‘𝑎), (#‘𝑎), ⟨“𝑏(𝑀𝑏)”⟩⟩) = ((𝑎 ++ ⟨“𝑏(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))))
9172s1cld 13419 . . . . . . . . . . . . . . . 16 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ⟨“𝑏”⟩ ∈ Word (𝐼 × 2𝑜))
92 revccat 13561 . . . . . . . . . . . . . . . 16 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ ⟨“𝑏”⟩ ∈ Word (𝐼 × 2𝑜)) → (reverse‘(𝑎 ++ ⟨“𝑏”⟩)) = ((reverse‘⟨“𝑏”⟩) ++ (reverse‘𝑎)))
9345, 91, 92syl2anc 694 . . . . . . . . . . . . . . 15 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (reverse‘(𝑎 ++ ⟨“𝑏”⟩)) = ((reverse‘⟨“𝑏”⟩) ++ (reverse‘𝑎)))
94 revs1 13560 . . . . . . . . . . . . . . . 16 (reverse‘⟨“𝑏”⟩) = ⟨“𝑏”⟩
9594oveq1i 6700 . . . . . . . . . . . . . . 15 ((reverse‘⟨“𝑏”⟩) ++ (reverse‘𝑎)) = (⟨“𝑏”⟩ ++ (reverse‘𝑎))
9693, 95syl6eq 2701 . . . . . . . . . . . . . 14 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (reverse‘(𝑎 ++ ⟨“𝑏”⟩)) = (⟨“𝑏”⟩ ++ (reverse‘𝑎)))
9796coeq2d 5317 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩))) = (𝑀 ∘ (⟨“𝑏”⟩ ++ (reverse‘𝑎))))
9849a1i 11 . . . . . . . . . . . . . 14 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → 𝑀:(𝐼 × 2𝑜)⟶(𝐼 × 2𝑜))
99 ccatco 13627 . . . . . . . . . . . . . 14 ((⟨“𝑏”⟩ ∈ Word (𝐼 × 2𝑜) ∧ (reverse‘𝑎) ∈ Word (𝐼 × 2𝑜) ∧ 𝑀:(𝐼 × 2𝑜)⟶(𝐼 × 2𝑜)) → (𝑀 ∘ (⟨“𝑏”⟩ ++ (reverse‘𝑎))) = ((𝑀 ∘ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘𝑎))))
10091, 47, 98, 99syl3anc 1366 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀 ∘ (⟨“𝑏”⟩ ++ (reverse‘𝑎))) = ((𝑀 ∘ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘𝑎))))
101 s1co 13625 . . . . . . . . . . . . . . 15 ((𝑏 ∈ (𝐼 × 2𝑜) ∧ 𝑀:(𝐼 × 2𝑜)⟶(𝐼 × 2𝑜)) → (𝑀 ∘ ⟨“𝑏”⟩) = ⟨“(𝑀𝑏)”⟩)
10272, 49, 101sylancl 695 . . . . . . . . . . . . . 14 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀 ∘ ⟨“𝑏”⟩) = ⟨“(𝑀𝑏)”⟩)
103102oveq1d 6705 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑀 ∘ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘𝑎))) = (⟨“(𝑀𝑏)”⟩ ++ (𝑀 ∘ (reverse‘𝑎))))
10497, 100, 1033eqtrd 2689 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩))) = (⟨“(𝑀𝑏)”⟩ ++ (𝑀 ∘ (reverse‘𝑎))))
105104oveq2d 6706 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (⟨“(𝑀𝑏)”⟩ ++ (𝑀 ∘ (reverse‘𝑎)))))
106 ccatcl 13392 . . . . . . . . . . . . 13 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ ⟨“𝑏”⟩ ∈ Word (𝐼 × 2𝑜)) → (𝑎 ++ ⟨“𝑏”⟩) ∈ Word (𝐼 × 2𝑜))
10745, 91, 106syl2anc 694 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ ⟨“𝑏”⟩) ∈ Word (𝐼 × 2𝑜))
10878s1cld 13419 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ⟨“(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2𝑜))
109 ccatass 13406 . . . . . . . . . . . 12 (((𝑎 ++ ⟨“𝑏”⟩) ∈ Word (𝐼 × 2𝑜) ∧ ⟨“(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2𝑜) ∧ (𝑀 ∘ (reverse‘𝑎)) ∈ Word (𝐼 × 2𝑜)) → (((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (⟨“(𝑀𝑏)”⟩ ++ (𝑀 ∘ (reverse‘𝑎)))))
110107, 108, 51, 109syl3anc 1366 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (⟨“(𝑀𝑏)”⟩ ++ (𝑀 ∘ (reverse‘𝑎)))))
111 ccatass 13406 . . . . . . . . . . . . . 14 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ ⟨“𝑏”⟩ ∈ Word (𝐼 × 2𝑜) ∧ ⟨“(𝑀𝑏)”⟩ ∈ Word (𝐼 × 2𝑜)) → ((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) = (𝑎 ++ (⟨“𝑏”⟩ ++ ⟨“(𝑀𝑏)”⟩)))
11245, 91, 108, 111syl3anc 1366 . . . . . . . . . . . . 13 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) = (𝑎 ++ (⟨“𝑏”⟩ ++ ⟨“(𝑀𝑏)”⟩)))
113 df-s2 13639 . . . . . . . . . . . . . 14 ⟨“𝑏(𝑀𝑏)”⟩ = (⟨“𝑏”⟩ ++ ⟨“(𝑀𝑏)”⟩)
114113oveq2i 6701 . . . . . . . . . . . . 13 (𝑎 ++ ⟨“𝑏(𝑀𝑏)”⟩) = (𝑎 ++ (⟨“𝑏”⟩ ++ ⟨“(𝑀𝑏)”⟩))
115112, 114syl6eqr 2703 . . . . . . . . . . . 12 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) = (𝑎 ++ ⟨“𝑏(𝑀𝑏)”⟩))
116115oveq1d 6705 . . . . . . . . . . 11 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (((𝑎 ++ ⟨“𝑏”⟩) ++ ⟨“(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))) = ((𝑎 ++ ⟨“𝑏(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))))
117105, 110, 1163eqtr2rd 2692 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏(𝑀𝑏)”⟩) ++ (𝑀 ∘ (reverse‘𝑎))) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))))
11875, 90, 1173eqtrd 2689 . . . . . . . . 9 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((#‘𝑎)(𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))𝑏) = ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))))
1191, 36, 48, 73efgtf 18181 . . . . . . . . . . . 12 ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ 𝑊 → ((𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) = (𝑚 ∈ (0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))), 𝑢 ∈ (𝐼 × 2𝑜) ↦ ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) splice ⟨𝑚, 𝑚, ⟨“𝑢(𝑀𝑢)”⟩⟩)) ∧ (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))):((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜))⟶𝑊))
120119simprd 478 . . . . . . . . . . 11 ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ 𝑊 → (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))):((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜))⟶𝑊)
121 ffn 6083 . . . . . . . . . . 11 ((𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))):((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜))⟶𝑊 → (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) Fn ((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜)))
12255, 120, 1213syl 18 . . . . . . . . . 10 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) Fn ((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜)))
123 fnovrn 6851 . . . . . . . . . 10 (((𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))) Fn ((0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) × (𝐼 × 2𝑜)) ∧ (#‘𝑎) ∈ (0...(#‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) ∧ 𝑏 ∈ (𝐼 × 2𝑜)) → ((#‘𝑎)(𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))𝑏) ∈ ran (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))))
124122, 71, 72, 123syl3anc 1366 . . . . . . . . 9 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((#‘𝑎)(𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))𝑏) ∈ ran (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))))
125118, 124eqeltrrd 2731 . . . . . . . 8 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∈ ran (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎)))))
1261, 36, 48, 73efgi2 18184 . . . . . . . 8 (((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∈ 𝑊 ∧ ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∈ ran (𝑇‘(𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))))
12755, 125, 126syl2anc 694 . . . . . . 7 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))))
12844, 127ersym 7799 . . . . . 6 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))))
12944ertr 7802 . . . . . 6 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∧ (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅) → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅))
130128, 129mpand 711 . . . . 5 ((𝐴𝑊 ∧ (𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜))) → ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅ → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅))
131130expcom 450 . . . 4 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜)) → (𝐴𝑊 → ((𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅ → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅)))
132131a2d 29 . . 3 ((𝑎 ∈ Word (𝐼 × 2𝑜) ∧ 𝑏 ∈ (𝐼 × 2𝑜)) → ((𝐴𝑊 → (𝑎 ++ (𝑀 ∘ (reverse‘𝑎))) ∅) → (𝐴𝑊 → ((𝑎 ++ ⟨“𝑏”⟩) ++ (𝑀 ∘ (reverse‘(𝑎 ++ ⟨“𝑏”⟩)))) ∅)))
13314, 20, 26, 32, 43, 132wrdind 13522 . 2 (𝐴 ∈ Word (𝐼 × 2𝑜) → (𝐴𝑊 → (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))) ∅))
1344, 133mpcom 38 1 (𝐴𝑊 → (𝐴 ++ (𝑀 ∘ (reverse‘𝐴))) ∅)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 383   = wceq 1523  wcel 2030  Vcvv 3231  cdif 3604  c0 3948  cop 4216  cotp 4218   class class class wbr 4685  cmpt 4762   I cid 5052   × cxp 5141  ran crn 5144  ccom 5147   Fn wfn 5921  wf 5922  cfv 5926  (class class class)co 6690  cmpt2 6692  1𝑜c1o 7598  2𝑜c2o 7599   Er wer 7784  0cc0 9974   + caddc 9977  0cn0 11330  cz 11415  cuz 11725  ...cfz 12364  #chash 13157  Word cword 13323   ++ cconcat 13325  ⟨“cs1 13326   splice csplice 13328  reversecreverse 13329  ⟨“cs2 13632   ~FG cefg 18165
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-rep 4804  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-cnex 10030  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-ot 4219  df-uni 4469  df-int 4508  df-iun 4554  df-iin 4555  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-om 7108  df-1st 7210  df-2nd 7211  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-1o 7605  df-2o 7606  df-oadd 7609  df-er 7787  df-ec 7789  df-map 7901  df-pm 7902  df-en 7998  df-dom 7999  df-sdom 8000  df-fin 8001  df-card 8803  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-nn 11059  df-n0 11331  df-xnn0 11402  df-z 11416  df-uz 11726  df-fz 12365  df-fzo 12505  df-hash 13158  df-word 13331  df-lsw 13332  df-concat 13333  df-s1 13334  df-substr 13335  df-splice 13336  df-reverse 13337  df-s2 13639  df-efg 18168
This theorem is referenced by:  efginvrel1  18187  frgpinv  18223
  Copyright terms: Public domain W3C validator