A Machine-Checked Constructive Metatheory of Computation Tree Logic