;;; Composition of certain paths ;;; Make Before Transitive ;(define-path before (compose before (kstar (compose after- ! before)))) ;;; Make After Transitive ;(define-path after (compose after (kstar (compose before- ! after)))) ;; If X is a member of the class Y and Y is a subclass of Z then ;; X is a member of the class Z. (define-path class (compose class (kstar (compose subclass- ! superclass)))) ;; Make subclass transitive (define-path subclass (compose subclass (kstar (compose superclass- ! subclass)))) ;;Make superclass transitive (define-path superclass (compose superclass (kstar (compose subclass- ! superclass)))) ;; Make member move over equiv arcs (define-path member (compose member (kstar (compose equiv- ! equiv))))