// Sports domain constraints // goodPattern(P) & occurs => R(X,Y) isGoodPatternFor(?P,?R) & disambiguatedAs(?WX, ?X) & disambiguatedAs(?WY, ?Y) & domain(?R,?DOM) & type(?X,?DOM) & range(?R,?RAN) & type(?Y,?RAN) & patternoccurrences(?P, ?WX, ?WY) => ?R(?X, ?Y) // R(X,Y) & occurs => goodPattern(P) ?R(?X, ?Y) & disambiguatedAs(?WX, ?X) & disambiguatedAs(?WY, ?Y) & patternoccurrences(?P, ?WX, ?WY) => isGoodPatternFor(?P, ?R) // Function constraint ?R(?X, ?D1) & type(?R, yagoFunction) & disjoint(?D1, ?D2) => ~?R(?X, ?D2) // Lifetime constraint bornOnDate(?X, ?BORN) & diedOnDate(?X, ?DIED) => isLifeTime(?BORN, ?DIED) // Ockham's Razor => ~?R(?X,?Y) // Disambiguation prior disambiguationPrior(?WIC,?X) => disambiguatedas(?WIC,?X)