(DEFINE FACT , (LAMBDA (X) , , (COND , , , ((EQN X 0) 1) , , , ( T (TIMES (FACT (SUB1 X)) X )) , , ,,,) , ,,,) ,,,)