queen-pawn-pin-relation.cql
; queen-pawn-pin-relation.cql can be downloaded here.;; positions where in the variations black moves to pin a P by a q ;; but in the mainline black cannot do that because the K and only the K has moved. ;; the source is the variations and the target is the mainline in the relation as this was ;; more efficient {since it is rarer to have a ray than not to have a ray} ;; The lcamax 4 specification is used to guarantee that that variation ;; and the mainline are not too 'nearby': at least one of them must be ;; a distance of at least 4 from their latest common ancestor. This ;; eliminates certain uninteresting expressions of the theme. cql( input heijden.pgn variations) btm variation move from q square $pinningsquare in . move from q to $pinningsquare square $pinnedpawn in P ray (K $pinnedpawn $pinningsquare) relation mainline btm P on $pinnedpawn not ray (K $pinnedpawn $pinningsquare) (sourcesquares K mismatch 1) (sourcesquares not K mismatch 1) (lcamax 4 1000)