# underpromotion-relation.cql

; underpromotion-relation.cql can be downloaded here.; This template can be used to find underpromotion studies ; Pairs of positions differing only in that a single white non-pawn ; piece has changed in the source {in the mainline} and the target {in ; the variation}. Thus, that piece ; must have been promoted to a different piece in a variation. ; The lcasum is the sum of the distances of the source and target to their ; latest common ancestor; the output is sorted by this sum, and a min sum of 10 is required. cql( input heijden.pgn variations) mainline relation variation (tomove match) (sourcesquares [RNBQ] targetsquares [RNBQ] mismatch 1) (mismatch 1) (sort "Sum of distances to the LCA" lcasum 10 1000)