Research Article

The Formalization of Discrete Fourier Transform in HOL

Algorithm 3

The formalization of EULER_COS.
val EULER_COS = store_thm(“EULER_COS”,
n:real. (cos n,0) = (1)/(2) (exp (i n) + exp (i (-n)))”,
GEN_TAC THEN REWRITE_TAC [EXP_IMAGINARY] THEN
REWRITE_TAC [complex_add, RE, IM, FST, SND] THEN
REWRITE_TAC [COS_NEG, SIN_NEG] THEN
SRW_TAC [REAL_DOUBLE] THEN
REWRITE_TAC [complex_scalar_lmul, RE, IM, FST, SND]
THEN SRW_TAC [REAL_MUL_ASSOC])