Why is the definition of check not circular? If you want to determine whether a player is in check I think you would:

1.1) determine every legal move of the opposition;

1.2.) determine whether such a move threatens our king (i.e. could 'take' the king)

To determine 1.1) above you need to:

2.1.) consider every active piece of the opposition and its possible moves;

2.2.) see whether that move conforms to a valid type of move (i.e. moves likes a castle,knight etc)

2.3.) confirm that such a move doesn't place the opposition in check (otherwise it's not a valid move)

Yet 2.3 requires us to go back to 1.1-in order to determine whether the opposition's move is not check (and thus valid) we need to consider all the possible moves of our side (the side which we wanted to determine if it was in check originally).

It seems that this leads to some horrible circular dependency. Obviously, it doesn't as otherwise chess wouldn't be a game!

Where am I going wrong?
A move can be illegal because the opponent could "take" the king. This "taking the king" move does not need to be "legal". See Can a piece pinned to my king put the opponent&#39;s king in check? and Is the king actually in check if the attacking piece cannot be moved?