board
device
processor
board
capability, [processor]
length, long
extra_power_data, extra
cost, 200
disk_controller
board
capability, [disk_io]
length, long
extra_power_data, normal
cost, 50
[allocate(disk_controller, Slot1),
allocate(processor, Slot2)],
[next_to(Slot1, Slot2)]
io
board
capability, [other_io]
length, short
extra_power_data, normal
cost, 50
optionI
board
capability, [fast_graphics]
length, long
extra_power_data, extra
cost, 100
[allocate(optionI, Slot1),
allocate(processor, Slot2)],
[next_to(Slot1, Slot2)]
optionII
board
capability,
[fast_graphics, video_in]
length, short
extra_power_data, extra
cost, 300
optionIII
board
capability, [sound]
length, long
extra_power_data, normal
cost, 50
[allocate(optionIII, Slot1),
allocate(io, Slot2)],
[next_to(Slot1, Slot2)]
optionIV
board
capability, [video_in]
length, short
extra_power_data, normal
cost, 50
[allocate(optionIV, Slot1),
allocate(disk_controller, Slot2)],
[next_to(Slot1, Slot2)]
mother_board
device
mother_boardx, mother_board
slot1
slot2
slot3
slot4
slot5
slot6
slot
device
slot1, slot
position, 1
length, long
extra_power_data, normal
slot1, slot2
slot2, slot
position, 2
length, long
extra_power_data, extra
slot2, slot3
slot3, slot
position, 3
length, long
extra_power_data, extra
slot3, slot4
slot4, slot
position, 4
length, short
extra_power_data, extra
slot4, slot5
slot5, slot
position, 5
length, short
extra_power_data, normal
slot5, slot6
slot6, slot
position, 6
length, short
extra_power_data, normal
[],[allocate(processor, Slot1),
allocate(disk_controller, Slot2),
allocate(io, Slot3),
total_cost(Cost)]
[], [total_cost(Cost),
less_than(Cost, 500),
allocate(Board, _),
property(Board, capability, [sound])]
[total_cost(0)]