implemented ⊤
implemented ⊥