recursive forgetting