;;; ********************************************************************* ;;; Copyright (c) 1989, Lawrence Erlbaum Assoc. All rights reserved. ;;; ;;; Use and copying of this software and preparation of derivative works ;;; based upon this software are permitted. Any distribution of this ;;; software or derivative works must comply with all applicable United ;;; States export control laws. ;;; ;;; This software is made available AS IS. The author makes no warranty ;;; about the software, its performance or its conformity to any ;;; specification. ;;; ********************************************************************* (DEFMOP M-INGRED (M-ROOT)) (DEFMOP M-MEAT (M-INGRED)) (DEFMOP M-VEGETABLE (M-INGRED)) (DEFMOP M-CRISP-VEGETABLE (M-VEGETABLE)) (DEFMOP M-STURDY-VEGETABLE (M-VEGETABLE)) (DEFMOP M-LARGE-INGRED (M-INGRED)) (DEFMOP M-SMALL-INGRED (M-INGRED)) (DEFMOP M-BONELESS-MEAT (M-MEAT)) (DEFMOP I-M-BEEF (M-BONELESS-MEAT M-LARGE-INGRED) INSTANCE) (DEFMOP M-BONY-MEAT (M-MEAT)) (DEFMOP I-M-CHICKEN (M-BONY-MEAT M-LARGE-INGRED) INSTANCE) (DEFMOP I-M-BROCCOLI (M-CRISP-VEGETABLE M-LARGE-INGRED) INSTANCE) (DEFMOP I-M-SNOW-PEAS (M-CRISP-VEGETABLE M-SMALL-INGRED) INSTANCE) (DEFMOP I-M-GREEN-BEANS (M-STURDY-VEGETABLE M-SMALL-INGRED) INSTANCE) (DEFMOP I-M-GREEN-PEPPERS (M-STURDY-VEGETABLE M-LARGE-INGRED) INSTANCE) (DEFMOP I-M-PEANUTS (M-STURDY-VEGETABLE M-SMALL-INGRED) INSTANCE) (DEFMOP M-SPICES (M-INGRED)) (DEFMOP I-M-SPICES (M-SPICES) INSTANCE) (DEFMOP M-RECIPE-STYLE (M-ROOT)) (DEFMOP I-M-STIR-FRIED (M-RECIPE-STYLE) INSTANCE) (DEFMOP M-TASTE (M-ROOT)) (DEFMOP I-M-HOT (M-TASTE) INSTANCE) (DEFMOP I-M-MILD (M-TASTE) INSTANCE) (DEFMOP M-RULE (M-ROOT)) (DEFMOP M-COOK-ACT (M-ACT)) (DEFMOP I-M-BONE (M-COOK-ACT) INSTANCE) (DEFMOP I-M-CHOP (M-COOK-ACT) INSTANCE) (DEFMOP I-M-LET-STAND (M-COOK-ACT) INSTANCE) (DEFMOP I-M-STIR-FRY (M-COOK-ACT) INSTANCE) (DEFMOP I-M-SERVE (M-COOK-ACT) INSTANCE) (DEFMOP M-STEP (M-EVENT) (ACTION M-ACT)) (DEFMOP M-COOK-STEP (M-STEP) (ACTION M-COOK-ACT)) (DEFMOP M-BONE-STEP (M-COOK-STEP) (ACTION I-M-BONE) (OBJECT M-BONY-MEAT)) (DEFMOP M-CHOP-STEP (M-COOK-STEP) (ACTION I-M-CHOP) (OBJECT M-LARGE-INGRED)) (DEFMOP M-LET-STAND-STEP (M-COOK-STEP) (ACTION I-M-LET-STAND) (OBJECT NIL)) (DEFMOP M-STIR-FRY-STEP (M-COOK-STEP) (ACTION I-M-STIR-FRY) (OBJECT NIL)) (DEFMOP M-SERVE-STEP (M-COOK-STEP) (ACTION I-M-SERVE) (OBJECT NIL)) (DEFMOP M-INGRED-GROUP (M-GROUP) (1 M-INGRED)) (DEFMOP M-STEP-GROUP (M-GROUP) (1 M-COOK-STEP)) (DEFMOP I-M-EMPTY-GROUP (M-STEP-GROUP) INSTANCE) (DEFMOP M-RECIPE-STEPS (M-ROOT) (BONE-STEPS M-STEP-GROUP) (CHOP-STEPS M-STEP-GROUP) (LET-STAND-STEPS M-STEP-GROUP) (STIR-FRY-STEPS M-STEP-GROUP) (SERVE-STEPS M-STEP-GROUP)) #| (DEFMOP EQL (M-FUNCTION)) (DEFMOP NOT-EQL (M-FUNCTION)) (DEFMOP COMPARE-CONSTRAINT (CONSTRAINT-FN)) (DEFMOP M-COMPARE (M-PATTERN) (ABST-FN COMPARE-CONSTRAINT) (COMPARE-FN M-FUNCTION)) (DEFMOP M-EQUAL (M-COMPARE) (COMPARE-FN EQL)) (DEFMOP M-NOT-EQUAL (M-COMPARE) (COMPARE-FN NOT-EQL)) (DEFMOP M-PATH (M-GROUP) (1 M-ROLE)) |# (DEFMOP MAKE-MOP (M-FUNCTION)) (DEFMOP M-MAKE-MOP (M-PATTERN) (CALC-FN MAKE-MOP)) ;;; (ROLE M-ROLE)) (DEFMOP INGRED (M-ROLE) INSTANCE) (DEFMOP M-PRECONS (M-ROOT)) (DEFMOP M-BONY-INGRED-PRECONS (M-PRECONS) (INGRED M-BONY-MEAT) (BONE-STEPS M-MAKE-MOP (MOP M-BONE-STEP) (OBJECT INGRED))) (DEFMOP M-LARGE-INGRED-PRECONS (M-PRECONS) (INGRED M-LARGE-INGRED) (CHOP-STEPS M-MAKE-MOP (MOP M-CHOP-STEP) (OBJECT INGRED))) (DEFMOP ADAPT-STEPS (M-FUNCTION)) (DEFMOP M-RECIPE (M-CASE) (MEAT M-MEAT) (VEGE M-VEGETABLE) (STEPS M-PATTERN (CALC-FN ADAPT-STEPS))) (DEFMOP I-M-BEEF-AND-GREEN-BEANS (M-RECIPE) (MEAT I-M-BEEF) (VEGE I-M-GREEN-BEANS) (STYLE I-M-STIR-FRIED) (STEPS M-RECIPE-STEPS (BONE-STEPS I-M-EMPTY-GROUP) (CHOP-STEPS M-STEP-GROUP (1 M-CHOP-STEP (OBJECT I-M-BEEF))) (LET-STAND-STEPS M-STEP-GROUP (1 M-LET-STAND-STEP (OBJECT M-INGRED-GROUP (1 I-M-BEEF) (2 I-M-SPICES)))) (STIR-FRY-STEPS M-STEP-GROUP (1 M-STIR-FRY-STEP (OBJECT M-INGRED-GROUP (1 I-M-BEEF) (2 I-M-SPICES))) (2 M-STIR-FRY-STEP (OBJECT M-INGRED-GROUP (1 I-M-BEEF) (2 I-M-GREEN-BEANS) (3 I-M-SPICES)))) (SERVE-STEPS M-STEP-GROUP (1 M-SERVE-STEP (OBJECT M-INGRED-GROUP (1 I-M-BEEF) (2 I-M-GREEN-BEANS) (3 I-M-SPICES)))))) (DEFMOP I-M-CHICKEN-AND-PEANUTS (M-RECIPE) (MEAT I-M-CHICKEN) (VEGE I-M-GREEN-PEPPERS) (VEGE2 I-M-PEANUTS) (TASTE I-M-HOT) (STYLE I-M-STIR-FRIED) (STEPS M-RECIPE-STEPS (BONE-STEPS M-STEP-GROUP (1 M-BONE-STEP (OBJECT I-M-CHICKEN))) (CHOP-STEPS M-STEP-GROUP (1 M-CHOP-STEP (OBJECT I-M-CHICKEN)) (2 M-CHOP-STEP (OBJECT I-M-GREEN-PEPPERS))) (LET-STAND-STEPS M-STEP-GROUP (1 M-LET-STAND-STEP (OBJECT M-INGRED-GROUP (1 I-M-CHICKEN) (2 I-M-SPICES)))) (STIR-FRY-STEPS M-STEP-GROUP (1 M-STIR-FRY-STEP (OBJECT M-INGRED-GROUP (1 I-M-CHICKEN) (2 I-M-GREEN-PEPPERS) (3 I-M-PEANUTS) (4 I-M-SPICES)))) (SERVE-STEPS M-STEP-GROUP (1 M-SERVE-STEP (OBJECT M-INGRED-GROUP (1 I-M-CHICKEN) (2 I-M-GREEN-PEPPERS) (3 I-M-PEANUTS) (4 I-M-SPICES)))))) (DEFMOP M-BAD-STATE (M-STATE)) (DEFMOP I-M-SOGGY (M-BAD-STATE) INSTANCE) (DEFMOP M-FAILURE (M-ROOT) (STATE M-BAD-STATE)) (DEFMOP M-EXPLANATION (M-ROOT) (FAILURE M-FAILURE)) (DEFMOP M-SIDE-EFFECT-EXPLANATION (M-EXPLANATION) (CAUSE M-STEP (OBJECT M-GROUP))) (DEFMOP ISA-CONSTRAINT (CONSTRAINT-FN)) (DEFMOP ABST (M-ROLE) INSTANCE) (DEFMOP M-MAP (M-ROOT) (ABST M-ROOT) (SPEC M-PATTERN (ABST-FN ISA-CONSTRAINT) (ROLE ABST))) (DEFMOP M-MAP-GROUP (M-GROUP) (1 M-MAP)) (DEFMOP SPLIT-STEP (M-FUNCTION)) (DEFMOP APPLY-REPAIR (M-FUNCTION)) (DEFMOP M-REPAIR (M-ROOT) (EXPLANATION M-EXPLANATION)) (DEFMOP M-SPLIT-REPAIR (M-REPAIR) (EXPLANATION M-SIDE-EFFECT-EXPLANATION) (REPAIR M-PATTERN (CALC-FN SPLIT-STEP)) (REPAIRED-SOLUTION M-PATTERN (CALC-FN APPLY-REPAIR)))