Creating new facts to the knowledge base based on the opponent's available actions:
For all opponent's actions
Check if there is a ApieceMove available
Find which positions are available (and not removed)
Based on this crate new facts: OPPONENTTO(piecename,pos)
From each available position and the type of piece
create new facts: POSSIBLETHREAT(piecename,pos) ???
Creating new facts to the knowledge base based on the opponent's available actions: For all opponent's actions Check if there is a ApieceMove available Find which positions are available (and not removed) Based on this crate new facts: OPPONENTTO(piecename,pos) From each available position and the type of piece create new facts: POSSIBLETHREAT(piecename,pos) ???