/** Rules for Reasoning in Music Composition using Energy Transformations Input: Output: mushrooms,are,planted - d mushrooms,are,watered - t mushrooms,are,sunned - l mushrooms,grow - t mushrooms,eaten - d **/ changes_to_music(Changes,Music) :- changes_to_music1(Changes,[],d,Music). changes_to_music1([],Music,Music1,Music2) :- append(Music,[Music1],Music2). changes_to_music1([+|Changes],Music1,Music2,Music3) :- music(_,Music2,Music4), changes_to_music2(Music1,Music2,Changes,Music4,Music3). changes_to_music1([-|Changes],Music1,Music2,Music3) :- music(Music4,Music2,_), changes_to_music2(Music1,Music2,Changes,Music4,Music3). changes_to_music2(Music1,Music2,Changes,Music3,Music4) :- append(Music1,[Music2],Music5), changes_to_music1(Changes,Music5,Music3,Music4). music(t,d,r). music(d,r,m). music(r,m,f). music(m,f,s). music(f,s,l). music(s,l,t). music(l,t,d).