For uniformity, we decided to make the rules for objectified associations the same as for normal object types (by default, an object type is not independent). Suppose you had a schema consisting of just the fact type "Person(.id) was born in Country(.code)". By default, Person and country are not independent, so their roles in this fact type are implied mandatory even if you don't declare them to be mandatory. Similarly, the role of Teaching in the example under discussion is implied mandatory unless you declare Teaching to be independent.
This rule might seem strange at first, but you get used to it.