## In under and hour (30 min. or so), this extension to Able was ## written to solve the Gas problem taken from p. 14-15 in _The Think ## Aloud Method_, van Someren, M. W., Barnard, Y. F., & Sandberg, J. A. ## C., Academic Press: London. ## Granted, it is a simple problem. ## Frank E. Ritter, 4 Sept. 96 sp {kp*elaborate-space*boyle (state ^problem-space kinematic-principles) --> ( ^principle + &) ( ^name boyle-law ^print-name |p1v1/t1=p2v2/t2| ^pid b1 ^number-of-variables 6 ^variables + &, + &, + &, + &, + &, + & ^first-variable ^last-variable ) ( ^name temperature1 ^next-variable ) ( ^name pressure1 ^next-variable ) ( ^name volume1 ^next-variable ) ( ^name temperature2 ^next-variable ) ( ^name pressure2 ^next-variable ) ( ^name volume2 ^next-variable nil)} sp {solve*elaborate*new-state*gas-problem (state ^problem-space solve-kinematic -^achieved ^operator ) ( ^name fetch-problem ^problem-number gas) --> ( ^problem + > ^problem-name gas-problem-from-book ^problem-number gas + > ^achieved no +) ( ^kinematic-variable + &, + &, + &, + &, + &, + & ^situation standard ^desired ) ( ^variable ^number 1) ( ^status known ^name temperature1 ^target no) ( ^status known ^name pressure1 ^target no) ( ^status known ^name volume1 ^target no) ( ^status known ^name temperature2 ^target no) ( ^status unknown ^name pressure2 ^target yes) ( ^status known ^name volume2 ^target no) } sp {sk*fetch-problem*elaborate*main-get (state ^problem-space solve-kinematic ^operator ) ( ^name fetch-problem) --> ( ^problem-number gas ^finished t) (tcl | makeprincipleswindow |)}