InqLog.FO.SingleUnaryPredicate
The only existing predicate symbol should be unary, so it needs arity 1.
This is implemented by the singleton arity type unit.
As we only have one predicate symbol, there is no need for a case distinction on p.
As there exists no function symbol, the type of function symbols shall be the empty type Empty_set.
Destructing a f : Empty_set gives us no object.
Alternatively, one could also define any type to be FAri f.
As there exists no function symbol, every function symbol can be considered to be rigid.