;;; 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))))

;;; Sub1
(define-path sub1 (compose object1- superclass- ! subclass superclass- !
		    
       subclass))



;;; Super1

(define-path super1 (compose superclass subclass- ! superclass object1- !
		             object2))




;;; The superclass path can be defined by either superclass or super1


(define-path superclass (or superclass super1))

 













