leeo
Regular
The notation for commutators, stable for years, recently changed. The precedence rules were removed, and the ";" was removed from the notation.
I have completed a parser that expands the old standard commutator notation, and would like to begin a discussion as what to include to bring the notation and my parser back into compliance. I like to work with examples, so here it goes.
[D,L] == D L D' L' // standard commutator form
[U:F] == U F U' // standard conjugate form
This is all that remains of the standard currently. I can see how unintuitive the ";" was in the notation, so I will agree with its removal. However, I see nothing wrong with the understanding that "," is seen everywhere as a form of separator, so why not stipulate that "," binds less strongly than ":"
[U,L:F] == [U,[L:F]] == [U,L F L'] == U L F L' U' L F' L'
Now, I prefer [U,L F L'] to [U,L:F], but things get interesting with
[U F,B D:R] == [ U F, [B D:R]] == [U F, B D R D' B' ] == U F B D R D' B' F' U' B D R' D' B'
What I did this evening was to permit "::" as a replacement for the old ";", and would not miss the removal of ";" -- no one used it. Still, the setup moves, apply algorithm X, undo setup moves motif is very common. So how about the following?
[U :: L:B ] == [ U : [ L:B ] ] == [ U : L B L' ] == U L B L' U'
[U :: F,D ] == [ U : [ F , D ]] == [ U : F D F' D' ] == U F D F' D' U'
now for the following corner conjugate, which I leave to the reader to figure out what it does:
[ F :: F L2 F' , R' ] == [ F : [ F L2 F' , R' ]] == [ F : F L2 F' R' F L2 F' R ] == F F L2 F' R' F L2 F' R F' == F2 L2 F' R' F L2 F' R F'
It should be very intuitive that "::" is simply ":", but it will bind only after "," or ":", much as "my dear aunt sally", where _m_uliplication and _d_ivision binds stronger in algebraic equations than _a_ddition and _s_ubtratction.
I have completed a parser that expands the old standard commutator notation, and would like to begin a discussion as what to include to bring the notation and my parser back into compliance. I like to work with examples, so here it goes.
[D,L] == D L D' L' // standard commutator form
[U:F] == U F U' // standard conjugate form
This is all that remains of the standard currently. I can see how unintuitive the ";" was in the notation, so I will agree with its removal. However, I see nothing wrong with the understanding that "," is seen everywhere as a form of separator, so why not stipulate that "," binds less strongly than ":"
[U,L:F] == [U,[L:F]] == [U,L F L'] == U L F L' U' L F' L'
Now, I prefer [U,L F L'] to [U,L:F], but things get interesting with
[U F,B D:R] == [ U F, [B D:R]] == [U F, B D R D' B' ] == U F B D R D' B' F' U' B D R' D' B'
What I did this evening was to permit "::" as a replacement for the old ";", and would not miss the removal of ";" -- no one used it. Still, the setup moves, apply algorithm X, undo setup moves motif is very common. So how about the following?
[U :: L:B ] == [ U : [ L:B ] ] == [ U : L B L' ] == U L B L' U'
[U :: F,D ] == [ U : [ F , D ]] == [ U : F D F' D' ] == U F D F' D' U'
now for the following corner conjugate, which I leave to the reader to figure out what it does:
[ F :: F L2 F' , R' ] == [ F : [ F L2 F' , R' ]] == [ F : F L2 F' R' F L2 F' R ] == F F L2 F' R' F L2 F' R F' == F2 L2 F' R' F L2 F' R F'
It should be very intuitive that "::" is simply ":", but it will bind only after "," or ":", much as "my dear aunt sally", where _m_uliplication and _d_ivision binds stronger in algebraic equations than _a_ddition and _s_ubtratction.