% A game tree (Figure 22.2 translated to Prolog) % moves( Position, PositionList): possible moves moves( a, [b,c]). moves( b, [d,e]). moves( c, [f,g]). moves( d, [i,j]). moves( e, [k,l]). moves( f, [m,n]). moves( g, [o,p]). % min_to_move( Pos): Player 'min' to move in Pos min_to_move( b). min_to_move( c). % max_to_move Pos): Player 'max' to move in Pos max_to_move( a). max_to_move( d). max_to_move( e). max_to_move( f). max_to_move( g). % staticval( Pos, Value): Value is the static value of Pos staticval( i, 1). staticval( j, 4). staticval( k, 5). staticval( l, 6). staticval( m, 2). staticval( n, 1). staticval( o, 1). staticval( p, 1).