%Facts %----- % part_cost(Basic_Part:string, Supplier:string, Cost:real, Time:integer) part_cost(top_tube, cinelli, 20.00, 14). part_cost(top_tube, columbus, 15.00, 6). part_cost(down_tube, columbus, 10.00, 6). part_cost(head_tube, cinelli, 20.00, 14). part_cost(head_tube, columbus, 15.00, 6). part_cost(seat_mast, cinelli, 20.00, 6). part_cost(seat_mast, cinelli, 15.00, 14). part_cost(seat_stay, cinelli, 10.00, 14). part_cost(seat_stay, cinelli, 10.00, 6). part_cost(chain_stay, columbus, 10.00, 6). part_cost(fork, cinelli, 40.00, 14). part_cost(fork, columbus, 30.00, 6). part_cost(spoke, campagnolo, 0.60, 15). part_cost(nipple, mavic, 0.10, 3). part_cost(hub, campagnolo, 31.00, 5). part_cost(hub, suntour, 18.00, 14). part_cost(rim, mavic, 50.00, 3). part_cost(rim, araya, 70.00, 1). % assembly(Part:string, Subpart:string, Quantity:integer) assembly(bike, frame, 1). assembly(bike, wheel, 2). assembly(frame, top_tube, 1). assembly(frame, down_tube, 1). assembly(frame, head_tube, 1). assembly(frame, seat_mast, 1). assembly(frame, seat_stay, 1). assembly(frame, chain_stay, 2). assembly(frame, fork, 1). assembly(wheel, spoke, 36). assembly(wheel, nipple, 1). assembly(wheel, rim, 1). assembly(wheel, hub, 1). assembly(wheel, tire, 1).