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

 
