make inverse a polymorphic theorem instead of being specific