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