Variable elimination