Metamath Proof Explorer


Theorem frgpnabllem2

Description: Lemma for frgpnabl . (Contributed by Mario Carneiro, 21-Apr-2016) (Revised by AV, 25-Apr-2024)

Ref Expression
Hypotheses frgpnabl.g
|- G = ( freeGrp ` I )
frgpnabl.w
|- W = ( _I ` Word ( I X. 2o ) )
frgpnabl.r
|- .~ = ( ~FG ` I )
frgpnabl.p
|- .+ = ( +g ` G )
frgpnabl.m
|- M = ( y e. I , z e. 2o |-> <. y , ( 1o \ z ) >. )
frgpnabl.t
|- T = ( v e. W |-> ( n e. ( 0 ... ( # ` v ) ) , w e. ( I X. 2o ) |-> ( v splice <. n , n , <" w ( M ` w ) "> >. ) ) )
frgpnabl.d
|- D = ( W \ U_ x e. W ran ( T ` x ) )
frgpnabl.u
|- U = ( varFGrp ` I )
frgpnabl.i
|- ( ph -> I e. V )
frgpnabl.a
|- ( ph -> A e. I )
frgpnabl.b
|- ( ph -> B e. I )
frgpnabl.n
|- ( ph -> ( ( U ` A ) .+ ( U ` B ) ) = ( ( U ` B ) .+ ( U ` A ) ) )
Assertion frgpnabllem2
|- ( ph -> A = B )

Proof

Step Hyp Ref Expression
1 frgpnabl.g
 |-  G = ( freeGrp ` I )
2 frgpnabl.w
 |-  W = ( _I ` Word ( I X. 2o ) )
3 frgpnabl.r
 |-  .~ = ( ~FG ` I )
4 frgpnabl.p
 |-  .+ = ( +g ` G )
5 frgpnabl.m
 |-  M = ( y e. I , z e. 2o |-> <. y , ( 1o \ z ) >. )
6 frgpnabl.t
 |-  T = ( v e. W |-> ( n e. ( 0 ... ( # ` v ) ) , w e. ( I X. 2o ) |-> ( v splice <. n , n , <" w ( M ` w ) "> >. ) ) )
7 frgpnabl.d
 |-  D = ( W \ U_ x e. W ran ( T ` x ) )
8 frgpnabl.u
 |-  U = ( varFGrp ` I )
9 frgpnabl.i
 |-  ( ph -> I e. V )
10 frgpnabl.a
 |-  ( ph -> A e. I )
11 frgpnabl.b
 |-  ( ph -> B e. I )
12 frgpnabl.n
 |-  ( ph -> ( ( U ` A ) .+ ( U ` B ) ) = ( ( U ` B ) .+ ( U ` A ) ) )
13 0ex
 |-  (/) e. _V
14 13 a1i
 |-  ( ph -> (/) e. _V )
15 difss
 |-  ( W \ U_ x e. W ran ( T ` x ) ) C_ W
16 7 15 eqsstri
 |-  D C_ W
17 1 2 3 4 5 6 7 8 9 11 10 frgpnabllem1
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> e. ( D i^i ( ( U ` B ) .+ ( U ` A ) ) ) )
18 17 elin1d
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> e. D )
19 16 18 sselid
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> e. W )
20 eqid
 |-  ( m e. { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } |-> ( m ` ( ( # ` m ) - 1 ) ) ) = ( m e. { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } |-> ( m ` ( ( # ` m ) - 1 ) ) )
21 2 3 5 6 7 20 efgredeu
 |-  ( <" <. B , (/) >. <. A , (/) >. "> e. W -> E! d e. D d .~ <" <. B , (/) >. <. A , (/) >. "> )
22 reurmo
 |-  ( E! d e. D d .~ <" <. B , (/) >. <. A , (/) >. "> -> E* d e. D d .~ <" <. B , (/) >. <. A , (/) >. "> )
23 19 21 22 3syl
 |-  ( ph -> E* d e. D d .~ <" <. B , (/) >. <. A , (/) >. "> )
24 1 2 3 4 5 6 7 8 9 10 11 frgpnabllem1
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> e. ( D i^i ( ( U ` A ) .+ ( U ` B ) ) ) )
25 24 elin1d
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> e. D )
26 2 3 efger
 |-  .~ Er W
27 26 a1i
 |-  ( ph -> .~ Er W )
28 1 frgpgrp
 |-  ( I e. V -> G e. Grp )
29 9 28 syl
 |-  ( ph -> G e. Grp )
30 eqid
 |-  ( Base ` G ) = ( Base ` G )
31 3 8 1 30 vrgpf
 |-  ( I e. V -> U : I --> ( Base ` G ) )
32 9 31 syl
 |-  ( ph -> U : I --> ( Base ` G ) )
33 32 10 ffvelrnd
 |-  ( ph -> ( U ` A ) e. ( Base ` G ) )
34 32 11 ffvelrnd
 |-  ( ph -> ( U ` B ) e. ( Base ` G ) )
35 30 4 grpcl
 |-  ( ( G e. Grp /\ ( U ` A ) e. ( Base ` G ) /\ ( U ` B ) e. ( Base ` G ) ) -> ( ( U ` A ) .+ ( U ` B ) ) e. ( Base ` G ) )
36 29 33 34 35 syl3anc
 |-  ( ph -> ( ( U ` A ) .+ ( U ` B ) ) e. ( Base ` G ) )
37 eqid
 |-  ( freeMnd ` ( I X. 2o ) ) = ( freeMnd ` ( I X. 2o ) )
38 1 37 3 frgpval
 |-  ( I e. V -> G = ( ( freeMnd ` ( I X. 2o ) ) /s .~ ) )
39 9 38 syl
 |-  ( ph -> G = ( ( freeMnd ` ( I X. 2o ) ) /s .~ ) )
40 2on
 |-  2o e. On
41 xpexg
 |-  ( ( I e. V /\ 2o e. On ) -> ( I X. 2o ) e. _V )
42 9 40 41 sylancl
 |-  ( ph -> ( I X. 2o ) e. _V )
43 wrdexg
 |-  ( ( I X. 2o ) e. _V -> Word ( I X. 2o ) e. _V )
44 fvi
 |-  ( Word ( I X. 2o ) e. _V -> ( _I ` Word ( I X. 2o ) ) = Word ( I X. 2o ) )
45 42 43 44 3syl
 |-  ( ph -> ( _I ` Word ( I X. 2o ) ) = Word ( I X. 2o ) )
46 2 45 eqtrid
 |-  ( ph -> W = Word ( I X. 2o ) )
47 eqid
 |-  ( Base ` ( freeMnd ` ( I X. 2o ) ) ) = ( Base ` ( freeMnd ` ( I X. 2o ) ) )
48 37 47 frmdbas
 |-  ( ( I X. 2o ) e. _V -> ( Base ` ( freeMnd ` ( I X. 2o ) ) ) = Word ( I X. 2o ) )
49 42 48 syl
 |-  ( ph -> ( Base ` ( freeMnd ` ( I X. 2o ) ) ) = Word ( I X. 2o ) )
50 46 49 eqtr4d
 |-  ( ph -> W = ( Base ` ( freeMnd ` ( I X. 2o ) ) ) )
51 3 fvexi
 |-  .~ e. _V
52 51 a1i
 |-  ( ph -> .~ e. _V )
53 fvexd
 |-  ( ph -> ( freeMnd ` ( I X. 2o ) ) e. _V )
54 39 50 52 53 qusbas
 |-  ( ph -> ( W /. .~ ) = ( Base ` G ) )
55 36 54 eleqtrrd
 |-  ( ph -> ( ( U ` A ) .+ ( U ` B ) ) e. ( W /. .~ ) )
56 24 elin2d
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> e. ( ( U ` A ) .+ ( U ` B ) ) )
57 qsel
 |-  ( ( .~ Er W /\ ( ( U ` A ) .+ ( U ` B ) ) e. ( W /. .~ ) /\ <" <. A , (/) >. <. B , (/) >. "> e. ( ( U ` A ) .+ ( U ` B ) ) ) -> ( ( U ` A ) .+ ( U ` B ) ) = [ <" <. A , (/) >. <. B , (/) >. "> ] .~ )
58 27 55 56 57 syl3anc
 |-  ( ph -> ( ( U ` A ) .+ ( U ` B ) ) = [ <" <. A , (/) >. <. B , (/) >. "> ] .~ )
59 17 elin2d
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> e. ( ( U ` B ) .+ ( U ` A ) ) )
60 59 12 eleqtrrd
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> e. ( ( U ` A ) .+ ( U ` B ) ) )
61 qsel
 |-  ( ( .~ Er W /\ ( ( U ` A ) .+ ( U ` B ) ) e. ( W /. .~ ) /\ <" <. B , (/) >. <. A , (/) >. "> e. ( ( U ` A ) .+ ( U ` B ) ) ) -> ( ( U ` A ) .+ ( U ` B ) ) = [ <" <. B , (/) >. <. A , (/) >. "> ] .~ )
62 27 55 60 61 syl3anc
 |-  ( ph -> ( ( U ` A ) .+ ( U ` B ) ) = [ <" <. B , (/) >. <. A , (/) >. "> ] .~ )
63 58 62 eqtr3d
 |-  ( ph -> [ <" <. A , (/) >. <. B , (/) >. "> ] .~ = [ <" <. B , (/) >. <. A , (/) >. "> ] .~ )
64 16 25 sselid
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> e. W )
65 27 64 erth
 |-  ( ph -> ( <" <. A , (/) >. <. B , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> <-> [ <" <. A , (/) >. <. B , (/) >. "> ] .~ = [ <" <. B , (/) >. <. A , (/) >. "> ] .~ ) )
66 63 65 mpbird
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> )
67 27 19 erref
 |-  ( ph -> <" <. B , (/) >. <. A , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> )
68 breq1
 |-  ( d = <" <. A , (/) >. <. B , (/) >. "> -> ( d .~ <" <. B , (/) >. <. A , (/) >. "> <-> <" <. A , (/) >. <. B , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> ) )
69 breq1
 |-  ( d = <" <. B , (/) >. <. A , (/) >. "> -> ( d .~ <" <. B , (/) >. <. A , (/) >. "> <-> <" <. B , (/) >. <. A , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> ) )
70 68 69 rmoi
 |-  ( ( E* d e. D d .~ <" <. B , (/) >. <. A , (/) >. "> /\ ( <" <. A , (/) >. <. B , (/) >. "> e. D /\ <" <. A , (/) >. <. B , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> ) /\ ( <" <. B , (/) >. <. A , (/) >. "> e. D /\ <" <. B , (/) >. <. A , (/) >. "> .~ <" <. B , (/) >. <. A , (/) >. "> ) ) -> <" <. A , (/) >. <. B , (/) >. "> = <" <. B , (/) >. <. A , (/) >. "> )
71 23 25 66 18 67 70 syl122anc
 |-  ( ph -> <" <. A , (/) >. <. B , (/) >. "> = <" <. B , (/) >. <. A , (/) >. "> )
72 71 fveq1d
 |-  ( ph -> ( <" <. A , (/) >. <. B , (/) >. "> ` 0 ) = ( <" <. B , (/) >. <. A , (/) >. "> ` 0 ) )
73 opex
 |-  <. A , (/) >. e. _V
74 s2fv0
 |-  ( <. A , (/) >. e. _V -> ( <" <. A , (/) >. <. B , (/) >. "> ` 0 ) = <. A , (/) >. )
75 73 74 ax-mp
 |-  ( <" <. A , (/) >. <. B , (/) >. "> ` 0 ) = <. A , (/) >.
76 opex
 |-  <. B , (/) >. e. _V
77 s2fv0
 |-  ( <. B , (/) >. e. _V -> ( <" <. B , (/) >. <. A , (/) >. "> ` 0 ) = <. B , (/) >. )
78 76 77 ax-mp
 |-  ( <" <. B , (/) >. <. A , (/) >. "> ` 0 ) = <. B , (/) >.
79 72 75 78 3eqtr3g
 |-  ( ph -> <. A , (/) >. = <. B , (/) >. )
80 opthg
 |-  ( ( A e. I /\ (/) e. _V ) -> ( <. A , (/) >. = <. B , (/) >. <-> ( A = B /\ (/) = (/) ) ) )
81 80 simprbda
 |-  ( ( ( A e. I /\ (/) e. _V ) /\ <. A , (/) >. = <. B , (/) >. ) -> A = B )
82 10 14 79 81 syl21anc
 |-  ( ph -> A = B )