;;;______________________________________________________ ;;; Types (def-type ELEMENT U1 U2 U3 U4 U5 U6 U7 U8 U9 U10 U11 U12 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z10 Z11 AA1 AA2 AA3 AA4 AA5 AA6 AA7 AA8 AA9 AA10 AB1 AB2 AB3 AB4 AB5 AB6 AB7 AB8 AB9 AB10 AB11 AB12 AB13 AB14 AC1 AC2 AC3 AC4 AC5 AC6 AC7 AC8 AC9 AC10 AC11 AC12 AC13 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 ) ;;;______________________________________________________ ;;; Predicates - Extensionally Defined Relations (def-pred LOGIC_TYPE-SENDER :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U2) (V2) (W2) (X2) (Y2) (Z2) (AA2) (AB2) (AC2) (AD2) ) :neg :COMPUTED :induction NIL :constraint NIL :commutative NIL ) (def-pred LOGIC_TYPE-RECEIVER :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U4) (V3) (W3) (W5) (X4) (Y4) (Z3) (AA3) (AB4) (AC3) (AD3) ) :neg :COMPUTED :induction NIL :constraint NIL :commutative NIL ) (def-pred LOGIC_TYPE-LOGO :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U5) (V4) (W6) (X5) (Y5) (Z5) (AA4) (AB5) (AC4) (AD4) ) :neg :COMPUTED :induction NIL :constraint NIL :commutative NIL ) (def-pred LOGIC_TYPE-REF :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U6) (V6) (V7) (W8) (W9) (X7) (Y6) (Z7) (AA6) (AB7) (AC6) (AD5) ) :neg :COMPUTED :induction NIL :constraint NIL :commutative NIL ) (def-pred LOGIC_TYPE-DATE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U7) (V5) (V8) (W10) (W7) (X6) (Y7) (Z6) (AA5) (AB6) (AB8) (AC5) (AD6) ) :neg :COMPUTED :induction NIL :constraint NIL :commutative NIL ) (def-pred WIDTH-VERY-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (W4) (X3) (Y3) (Z4) (Z11) (AB3) (AB14) (AC13) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (V7) (V8) (W9) (W10) (AB8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-MEDIUM-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U7) (U8) (U11) (V5) (V6) (V9) (V12) (W5) (W7) (W8) (X6) (Y7) (Y11) (Z6) (AB6) (AB10) (AB11) (AC5) (AC7) (AC8) (AD6) (AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-MEDIUM :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U2) (U5) (V2) (V4) (W2) (W6) (X2) (X4) (X5) (Y2) (Y5) (Z2) (Z5) (AA2) (AA4) (AA5) (AA7) (AB2) (AB5) (AC2) (AC4) (AC10) (AD2) (AD3) (AD4) (AD7) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-MEDIUM-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U4) (U6) (U12) (V3) (V13) (W3) (W12) (X7) (X8) (X11) (W14) (Y4) (Y6) (Y9) (Y12) (Z3) (Z7) (Z10) (AA3) (AA6) (AA8) (AA10) (AB4) (AB7) (AB9) (AB13) (AC3) (AC6) (AC9) (AC12) (AD5) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U9) (V10) (W11) (X9) (Y8) (AA9) (AB12) (AD8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred WIDTH-VERY-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U10) (V11) (W13) (X10) (Y10) (Z8) (Z9) (AC11) (AD9) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-SMALLEST :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U3) (U8) (U9) (U11) (V9) (V10) (V12) (W4) (W11) (W12) (X3) (X8) (X9) (Y3) (Y8) (Y9) (Y11) (Z4) (Z8) (Z11) (AA7) (AA8) (AB3) (AB9) (AB10) (AB11) (AC7) (AC8) (AC9) (AC10) (AD7) (AD8) (AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-VERY-VERY-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U6) (U7) (V5) (V6) (V7) (V8) (W5) (W7) (W8) (W9) (W10) (X6) (X7) (Y6) (Y7) (Z6) (Z7) (AA5) (AA6) (AB6) (AB7) (AB8) (AB14) (AC5) (AC6) (AC13) (AD5) (AD6) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-VERY-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U5) (V4) (W6) (X5) (Y5) (Z5) (AA4) (AB5) (AC4) (AD4) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U4) (V3) (W3) (X4) (Y4) (Z3) (AA3) (AA10) (AB4) (AC3) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-MEDIUM-SMALL :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U12) (V13) (W14) (X11) (Y12) (Z10) (AB13) (AC12) (AD3) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-MEDIUM :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (AC11) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-MEDIUM-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U2) (V2) (W2) (X2) (Y2) (Z2) (AA2) (AB2) (AC2) (AD2) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U10) (V11) (W13) (X10) (Y10) (Z9) (AA9) (AB12) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred HEIGHT-VERY-LARGE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (AD9) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TYPE-TEXT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U2) (U3) (U4) (U6) (U7) (U8) (U9) (U10) (U11) (V2) (V3) (V5) (V6) (V7) (V8) (V10) (V11) (V12) (W2) (W3) (W4) (W5) (W7) (W8) (W9) (W10) (W11) (W13) (X2) (X3) (X4) (X6) (X7) (X8) (X10) (Y2) (Y3) (Y4) (Y6) (Y7) (Y9) (Y10) (Y11) (Z2) (Z3) (Z4) (Z6) (Z7) (Z8) (Z9) (Z11) (AA2) (AA3) (AA5) (AA6) (AA7) (AA8) (AA9) (AB2) (AB3) (AB4) (AB6) (AB7) (AB8) (AB9) (AB10) (AB11) (AB12) (AB14) (AC2) (AC3) (AC5) (AC6) (AC7) (AC9) (AC10) (AC11) (AC13) (AD2) (AD3) (AD5) (AD6) (AD7) (AD8) (AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TYPE-HOR-LINE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (V9) (W12) (X9) (Y8) (AC8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TYPE-PICTURE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U5) (V4) (W6) (X5) (Y5) (Z5) (AA4) (AB5) (AC4) (AD4) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TYPE-GRAPHIC :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (V13) (AC12) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TYPE-MIXTURE :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U12) (W14) (X11) (Y12) (Z10) (AA10) (AB13) (AD9) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred PARTOF :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U1 U2) (U1 U3) (U1 U4) (U1 U5) (U1 U6) (U1 U7) (U1 U8) (U1 U9) (U1 U10) (U1 U11) (U1 U12) (V1 V2) (V1 V3) (V1 V4) (V1 V5) (V1 V6) (V1 V7) (V1 V8) (V1 V9) (V1 V10) (V1 V11) (V1 V12) (V1 V13) (W1 W2) (W1 W3) (W1 W4) (W1 W5) (W1 W6) (W1 W7) (W1 W8) (W1 W9) (W1 W10) (W1 W11) (W1 W12) (W1 W13) (W1 W14) (X1 X2) (X1 X3) (X1 X4) (X1 X5) (X1 X6) (X1 X7) (X1 X8) (X1 X9) (X1 X10) (X1 X11) (Y1 Y2) (Y1 Y3) (Y1 Y4) (Y1 Y5) (Y1 Y6) (Y1 Y7) (Y1 Y8) (Y1 Y9) (Y1 Y10) (Y1 Y11) (Y1 Y12) (Z1 Z2) (Z1 Z3) (Z1 Z4) (Z1 Z5) (Z1 Z6) (Z1 Z7) (Z1 Z8) (Z1 Z9) (Z1 Z10) (Z1 Z11) (AA1 AA2) (AA1 AA3) (AA1 AA4) (AA1 AA5) (AA1 AA6) (AA1 AA7) (AA1 AA8) (AA1 AA9) (AA1 AA10) (AB1 AB2) (AB1 AB3) (AB1 AB4) (AB1 AB5) (AB1 AB6) (AB1 AB7) (AB1 AB8) (AB1 AB9) (AB1 AB10) (AB1 AB11) (AB1 AB12) (AB1 AB13) (AB1 AB14) (AC1 AC2) (AC1 AC3) (AC1 AC4) (AC1 AC5) (AC1 AC6) (AC1 AC7) (AC1 AC8) (AC1 AC9) (AC1 AC10) (AC1 AC11) (AC1 AC12) (AC1 AC13) (AD1 AD2) (AD1 AD3) (AD1 AD4) (AD1 AD5) (AD1 AD6) (AD1 AD7) (AD1 AD8) (AD1 AD9) (AD1 AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-TOP-LEFT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U2) (U3) (U5) (V2) (V4) (V6) (W2) (W4) (W6) (W8) (X2) (X3) (X5) (Y2) (Y3) (Y5) (Z2) (Z4) (Z5) (AA2) (AA4) (AA7) (AB2) (AB3) (AB5) (AB9) (AC2) (AC4) (AC9) (AD2) (AD4) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-TOP :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U4) (U6) (V3) (V7) (W9) (X4) (X7) (Y4) (Y6) (Z3) (Z7) (AA3) (AA6) (AB4) (AB7) (AC3) (AC6) (AC10) (AD3) (AD5) (AD8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-TOP-RIGHT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U7) (V5) (V8) (W3) (W5) (W7) (W10) (X6) (Y7) (Z6) (AA5) (AA8) (AB6) (AB8) (AB10) (AB11) (AC5) (AC7) (AC8) (AD6) (AD7) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-LEFT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U8) (V9) (W11) (X8) (Y8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-CENTER :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U9) (U10) (V10) (V11) (W13) (X10) (Y10) (Z8) (Z9) (AA9) (AB12) (AC11) (AD9) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-RIGHT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (W12) (X9) (Y9) (AC12) (AC13) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-BOTTOM-LEFT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U11) (V12) (Y11) (Z11) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-BOTTOM :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (T14) (W14) (X11) (AA10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred POSITION-BOTTOM-RIGHT :vars (?BLOCK) :type (ELEMENT) :mode NIL :pos ( (U12) (V13) (Y12) (Z10) (AB13) (AB14) (AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ON-TOP :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U5 U8) (U6 U9) (U7 U9) (U10 U11) (V4 V9) (V5 V10) (V6 V10) (V7 V10) (V8 V10) (V11 V12) (W6 W11) (W7 W12) (W8 W11) (W10 W12) (W11 W13) (W12 W13) (X5 X8) (X6 X9) (X10 X11) (Y5 Y8) (Y6 Y8) (Y7 Y9) (Y10 Y11) (Z5 Z8) (Z6 Z8) (Z7 Z8) (Z9 Z10) (AA4 AA7) (AA5 AA8) (AA9 AA10) (AB5 AB9) (AB8 AB11) (AB9 AB12) (AB11 AB12) (AB12 AB13) (AC4 AC9) (AC5 AC8) (AC11 AC12) (AD5 AD8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ABOVE :vars (?BLOCK1 ?BLOCK2) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U10 U11) (U2 U5) (U3 U6) (U5 U8) (U6 U9) (U7 U9) (V10 V11) (V11 V12) (V2 V4) (V3 V10) (V4 V9) (V5 V10) (V6 V10) (V7 V10) (V7 V11) (V8 V10) (W10 W12) (W11 W13) (W12 W13) (W2 W6) (W3 W7) (W4 W8) (W6 W11) (W7 W12) (W7 W14) (W8 W11) (X10 X11) (X2 X5) (X3 X7) (X4 X11) (X5 X8) (X6 X9) (Y10 Y11) (Y10 Y12) (Y2 Y5) (Y3 Y6) (Y4 Y12) (Y5 Y8) (Y6 Y8) (Y7 Y10) (Y7 Y9) (Z2 Z5) (Z4 Z7) (Z5 Z8) (Z6 Z8) (Z7 Z8) (Z8 Z11) (Z8 Z9) (Z9 Z10) (AA2 AA4) (AA4 AA7) (AA5 AA8) (AA9 AA10) (AB11 AB12) (AB12 AB13) (AB2 AB5) (AB3 AB7) (AB4 AB8) (AB5 AB9) (AB6 AB14) (AB8 AB11) (AB9 AB12) (AC11 AC12) (AC2 AC4) (AC4 AC9) (AC5 AC8) (AC8 AC13) (AD2 AD4) (AD5 AD8) (AD6 AD9) (AD7 AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TO-RIGHT :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U2 U3) (U5 U6) (V9 V10) (V4 V6) (V6 V7) (V8 V5) (W11 W12) (W2 W4) (W6 W8) (W8 W9) (W3 W5) (X8 X9) (X2 X3) (X5 X7) (Y2 Y3) (Y5 Y6) (Y8 Y9) (Z2 Z4) (Z5 Z7) (AA4 AA6) (AB5 AB7) (AB2 AB3) (AB13 AB14) (AB11 AB10) (AB8 AB6) (AC4 AC6) (AC12 AC13) (AC10 AC8) (AC8 AC7) (AD4 AD5) (AD8 AD7) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred TO-THE-RIGHT-SIDE :vars (?BLOCK1 ?BLOCK2) :type (ELEMENT ELEMENT) :mode (:?) :pos ( (U2 U3) (U5 U6) (U6 U7) (U8 U9) (V2 V3) (V4 V6) (V6 V7) (V7 V8) (V8 V5) (V9 V10) (W11 W12) (W2 W4) (W3 W5) (W6 W8) (W8 W7) (W8 W9) (W9 W10) (X2 X3) (X2 X4) (X5 X7) (X7 X6) (X8 X9) (Y2 Y3) (Y5 Y6) (Y6 Y7) (Y8 Y9) (Z2 Z4) (Z4 Z3) (Z5 Z7) (Z7 Z6) (AA4 AA6) (AA6 AA5) (AA7 AA8) (AB11 AB10) (AB13 AB14) (AB2 AB3) (AB5 AB7) (AB7 AB8) (AB8 AB6) (AB9 AB11) (AC10 AC8) (AC12 AC13) (AC4 AC6) (AC6 AC5) (AC8 AC7) (AC9 AC10) (AD4 AD5) (AD5 AD6) (AD8 AD7) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-LEFT-COL :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U3 U6) (U5 U8) (U10 U11) (V4 V9) (V11 V12) (W4 W8) (W6 W11) (X3 X7) (X4 X11) (X5 X8) (Y3 Y6) (Y4 Y12) (Y10 Y11) (Z4 Z7) (Z8 Z11) (AB3 AB7) (AB5 AB9) (AD5 AD8) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-RIGHT-COL :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (V5 V10) (V10 V11) (W3 W7) (W7 W14) (X10 X11) (Y7 Y10) (Y10 Y12) (Z8 Z9) (AA4 AA7) (AA5 AA8) (AB4 AB8) (AB6 AB14) (AB11 AB12) (AC5 AC8) (AC8 AC13) (AD6 AD9) (AD7 AD10) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-MIDDLE-COL :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (V3 V10) (V7 V11) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-BOTH-COLUMNS :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U2 U5) (V2 V4) (W2 W6) (X2 X5) (Y2 Y5) (Z2 Z5) (AA2 AA4) (AB2 AB5) (AC2 AC4) (AD2 AD4) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-UPPER-ROW :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (W8 W7) (Z4 Z3) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-MIDDLE-ROW :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-ONLY-LOWER-ROW :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U5 U6) (V2 V3) (V4 V6) (W6 W8) (W8 W9) (W3 W5) (X2 X4) (X5 X7) (Y5 Y6) (Z5 Z7) (AA4 AA6) (AB5 AB7) (AB13 AB14) (AC4 AC6) (AC12 AC13) (AD4 AD5) ) :neg NIL :induction T :constraint NIL :commutative NIL ) (def-pred ALIGNED-BOTH-ROWS :vars (?BLOCK ?BLOCK) :type (ELEMENT ELEMENT) :mode NIL :pos ( (U8 U9) (U6 U7) (V9 V10) (V6 V7) (V7 V8) (W11 W12) (W9 W10) (X8 X9) (X7 X6) (Y8 Y9) (Y6 Y7) (Z7 Z6) (AA7 AA8) (AA6 AA5) (AB9 AB11) (AB7 AB8) (AB11 AB10) (AB8 AB6) (AC9 AC10) (AC6 AC5) (AC10 AC8) (AC8 AC7) (AD5 AD6) (AD8 AD7) ) :neg NIL :induction T :constraint NIL :commutative NIL )