
We reverse the game board to see if this is reachable.Īssume the scenario with the following alterations: Therefore 1 must be true and the white king is not in check. The black knight cannot attack the square containing king, however, because it would place his own king in check. The white king is in check and the only piece in attack range is black knight. The white king is in check already and that move will not solve the check.The white knight is currently protecting his king from check.The only two possible rules that can enforce that conclusion are: Therefore, the white knight must be restricted by some rule to not attack the black king. The black king is only reachable by the white knight. Let's ambiguously assume it's white's turn since the scenario is symmetric. Let's assume the board is reachable and see if there is a contradiction. Now the board I showed is either reachable or not reachable. So I understand that both kings being in check is not possible. The remaining state would be game over or that king escaping check. The enemy must escape check, still following the rule of not entering check in one move. Therefore, the only transition to checks from no checks is to the enemy being in check. This means that no matter how check is defined, he cannot make any move if his king meets that condition. (I will point out the significance of 'results' soon) Therefore, one player makes the initial move which transitions from the state of no kings being in check to some king(s) being in check.Īccording to the rules, this move is not allowed if that player's king results is in a check. Only one player can make a move at a time. I think you have proven that the scenario of both kings being in check (not necessarily the scenario of the board I showed) cannot exist by contradiction. I did some thinking and came up with this analysis: Is this how the actual game is ruled though? It seems an easy solution to the problem faced when programming the game logic, but I'm not sure if it is correct or not. If our king is in reach of the enemy knight's usual attack range, we consider it a check and must resolve it. Okay, so maybe we assume that reach always counts regardless of the enemy's check status. Go to step 2 (no matter how many times you have already).We realize that since we cannot actually move our knight, the enemy king is not actually in check, therefore he is freely able to use his knight to attack our king.However, we notice that we cannot do this because it will place us in check with the enemy rook.
#CHECKMATE DEFINITION FREE#
Then we realize, free from check, that we are now able to move our own knight to the enemy king forcing him to move from check and preventing further his choices.He does not have our king in check after all.


