HIGH and LOW are supposed to represent the states of a digital input or output pin, and it is rather
unwise to conflate that with the boolean/bool/logical type TRUE and FALSE.
Even if this coincidentally happens to work on some particular hardware ( because those keywords happen
to be replaced by 0 and 1 , for example ), it's still a bad idea.
So where you say
boolean isHighLow = HIGH;
boolean HighLowToggle = (isHighLow == HIGH)? HIGH : LOW;
Your first line is wrong, because "HIGH" isn't really a proper keyword for the state of a boolean variable.
Even if this compiler lets you do it.
Your second line is wrong for the same reason.
And if you have some boolean variable and you want to use the so-called "ternary operator", there is no need
to check the equality of a boolean variable to anything, the boolean variable itself represents the boolean state.
boolean select=TRUE ;
int value = (select)?3:4 ;
int another_value = ( select == TRUE )?3:4 ; // the equality test is unnecessary and pointless here ( except in Ada, perhaps )