est-ce qu'on pourrait pas plutot partir des borders et remonter ?
«Pour une classe c, toutes les super-classes de c sont en conflit deux a deux»
Ca a l'air d'etre equivalent aux trois cas du commentaire.

~~~
for e in borders do add_all_conflict(poset[e].greaters)
~~~

sachant que `add_all_conflict` fait conflicter tout le monde

~~~
fun add_all_conflict(es: Collection[E])
do
   for e1 in es do for e2 in es do add_conflict(e1,e2)
end
~~~