abstract triangle