A participant function is a unary function from model fragments to entities.
(<=> (Participant-Function ?F) (And (Unary-Function ?F) (Domain ?F Model-Fragment) (Range ?F Entity)))
(Unary-Function ?F)
(<= (Range $X Entity) (Participant-Function $X)) (<= (Domain $X Model-Fragment) (Participant-Function $X)) (<=> (Participant-Function ?F) (And (Unary-Function ?F) (Domain ?F Model-Fragment) (Range ?F Entity))) (=> (Has-Participant-Function $X $Y) (Participant-Function $Y)) (=> (Participant-Function-Total-On $X $Y) (Participant-Function $X)) (<=> (Participant-Function-Total-On ?Function ?Class) (And (Participant-Function ?Function) (Class ?Class) (Total-On ?Function ?Class)))