:- expects_dialect(lps). /* output from ?- dumplps*/ observe([start_game(amanda),start_game(katherine),start_game(peter),start_game(tom),start_game(alex)],2). observe([],3). observe([],4). observe([],5). observe([in_sight(katherine,person)],25). % observe([],T) :- T<15. next_to(Unit,Type)at T if position(Unit,south,X,Y)at T, increment(Y,Y1), item(Type,X,Y1)at T. next_to(Unit,Type)at T if position(Unit,north,X,Y)at T, decrement(Y,Y1), item(Type,X,Y1)at T. next_to(Unit,Type)at T if position(Unit,east,X,Y)at T, increment(X,X1), item(Type,X1,Y)at T. next_to(Unit,Type)at T if position(Unit,west,X,Y)at T, decrement(X,X1), item(Type,X1,Y)at T. in_sight(Unit,Type)at T if position(Unit,east,X,Y)at T, item(Type,A,Y)at T, greater_than(A,X), increase(X,X1,6), less_or_equal(A,X1). in_sight(Unit,Type)at T if position(Unit,north,X,Y)at T, item(Type,X,A)at T, less_than(A,Y), decrease(Y,Y1,6), greater_or_equal(A,Y1). in_sight(Unit,Type)at T if position(Unit,south,X,Y)at T, item(Type,X,A)at T, greater_than(A,Y), increase(Y,Y1,6), less_or_equal(A,Y1). in_sight(Unit,Type)at T if position(Unit,west,X,Y)at T, item(Type,A,Y)at T, less_than(A,X), decrease(X,X1,6), greater_or_equal(A,X1). item(tree,X,Y)at T if tree(X,Y)at T. item(tree,X,Y)at T if wood(X,Y)at T. item(animal,X,Y)at T if animal(Type,N,D,X,Y)at T. item(animal,X,Y)at T if food(A,B,C,X,Y)at T. item(food,X,Y)at T if food(A,B,C,X,Y)at T. item(person,X,Y)at T if position(P,D,X,Y)at T. item(wood,X,Y)at T if wood(X,Y)at T. in_view(Unit,east,Type)at T if position(Unit,D,X,Y)at T, item(Type,A,Y)at T, greater_than(A,X), increase(X,X1,6), less_or_equal(A,X1). in_view(Unit,north,Type)at T if position(Unit,D,X,Y)at T, item(Type,X,A)at T, less_than(A,Y), decrease(Y,Y1,6), greater_or_equal(A,Y1). in_view(Unit,south,Type)at T if position(Unit,D,X,Y)at T, item(Type,X,A)at T, greater_than(A,Y), increase(Y,Y1,6), less_or_equal(A,Y1). in_view(Unit,west,Type)at T if position(Unit,D,X,Y)at T, item(Type,A,Y)at T, less_than(A,X), decrease(X,X1,6), greater_or_equal(A,X1). in_range(Unit,Unit1,north,A)at T1 if position(Unit,D,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_or_equal(Y2,L), less_or_equal(Y2,U). in_range(Unit,Unit1,east,A)at T1 if position(Unit,D,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), range(weapon(A),L,U), decrease(X1,X2,X), greater_or_equal(X2,L), less_or_equal(X2,U). in_range(Unit,Unit1,south,A)at T1 if position(Unit,D,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_or_equal(Y2,L), less_or_equal(Y2,U). in_range(Unit,Unit1,west,A)at T1 if position(Unit,D,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), range(weapon(A),L,U), decrease(X,X2,X1), greater_or_equal(X2,L), less_or_equal(X2,U). in_range(Unit,animal,north,A)at T1 if position(Unit,D,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_or_equal(Y2,L), less_or_equal(Y2,U). in_range(Unit,animal,east,A)at T1 if position(Unit,D,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, range(weapon(A),L,U), decrease(X1,X2,X), greater_or_equal(X2,L), less_or_equal(X2,U). in_range(Unit,animal,south,A)at T1 if position(Unit,D,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_or_equal(Y2,L), less_or_equal(Y2,U). in_range(Unit,animal,west,A)at T1 if position(Unit,D,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, range(weapon(A),L,U), decrease(X,X2,X1), greater_or_equal(X2,L), less_or_equal(X2,U). in_shelter(Unit)at T if position(Unit,D,X,Y)at T, shelter(Unit,H,X,Y)at T. initially person(amanda,cautious), person(katherine,normal), person(peter,normal), person(tom,normal), person(alex,violent), position(amanda,north,3,3), holds_wood(amanda,0), holds_food(amanda,0,0,0,0), health(amanda,50), hunger(amanda,20), has_shelter(amanda,true), shelter(amanda,100,4,5), turns(amanda,0), position(katherine,east,4,18), holds_wood(katherine,0), holds_food(katherine,0,0,0,0), health(katherine,50), hunger(katherine,20), has_shelter(katherine,true), shelter(katherine,100,8,19), turns(katherine,0), position(peter,north,17,3), holds_wood(peter,0), holds_food(peter,0,0,0,0), health(peter,50), hunger(peter,20), has_shelter(peter,true), shelter(peter,100,13,4), turns(peter,0), position(tom,west,19,18), holds_wood(tom,0), holds_food(tom,0,0,0,0), health(tom,50), hunger(tom,20), has_shelter(tom,true), shelter(tom,100,14,20), turns(tom,0), position(alex,north,10,9), holds_wood(alex,0), holds_food(alex,10,0,0,2), health(alex,50), hunger(alex,20), has_shelter(alex,false), turns(alex,0), animal(rabbit,5,west,5,7), animal(rabbit,5,east,12,8), animal(rabbit,5,west,4,9), animal(rabbit,5,south,1,10), animal(rabbit,5,west,6,13), animal(rabbit,5,north,14,16), animal(rabbit,5,north,9,16), animal(chicken,10,north,7,6), animal(chicken,10,east,16,6), animal(chicken,10,east,8,8), animal(chicken,10,west,2,13), animal(chicken,10,east,3,15), animal(chicken,10,south,12,15), animal(chicken,10,south,13,18), animal(cow,15,north,9,3), animal(cow,15,north,18,8), animal(cow,15,south,17,13), animal(cow,15,west,6,16), food(2,1,0,3,8), food(2,1,1,15,9), food(2,1,2,20,9), food(2,1,0,8,14), tree(1,1), tree(4,1), tree(11,1), tree(18,1), tree(2,2), tree(13,2), tree(6,3), tree(19,4), tree(1,5), tree(11,6), tree(13,7), tree(12,10), tree(8,11), tree(11,12), tree(14,12), tree(19,14), tree(1,15), tree(3,17), tree(1,19), tree(6,19), tree(4,20), tree(8,20), tree(17,20), tree(20,20), wood(7,1), wood(4,11), wood(18,11), wood(10,14), cycles(0). has(amanda,weapon(spear)). power(weapon(spear),6). range(weapon(spear),1,3). has(katherine,weapon(bow)). power(weapon(bow),6). range(weapon(bow),1,6). has(peter,weapon(bombs)). power(weapon(bombs),8). range(weapon(bombs),6,6). has(tom,weapon(whip)). power(weapon(whip),4). range(weapon(whip),1,3). has(alex,weapon(sword)). power(weapon(sword),8). range(weapon(sword),1,1). less_than(X,Y) :- X<Y. less_or_equal(X,Y) :- X=<Y. greater_or_equal(X,Y) :- X>=Y. greater_than(X,Y) :- X>Y. equal(X,Y) :- X==Y. not_equal(X,Y) :- X\=Y. decrement(X,X1) :- X1 is X-1. increment(X,X1) :- X1 is X+1. decrease(X,X1,N) :- X1 is X-N. increase(X,X1,N) :- X1 is X+N. calculate(N,A,B,C) :- N is A*1+B*3+C*5. modu(X,X1) :- X is X1 mod 8. opposite(north,south). opposite(east,west). opposite(south,north). opposite(west,east). action(find(_24248,_24250)). action(turn(_24248,_24250,_24252,_24254,_24256)). action(walk_towards(_24248,_24250)). action(walk(_24248,_24250,_24252,_24254)). action(make_shelter(_24248)). action(build_shelter(_24248,_24250)). action(get_wood(_24248)). action(successful_shelter(_24248,_24250,_24252,_24254)). action(break_tree(_24248,_24250,_24252)). action(collect_wood(_24248,_24250,_24252,_24254)). action(hit_tree(_24248)). action(pick_wood(_24248)). action(get_food(_24248)). action(hit_animal(_24248)). action(pick_food(_24248)). action(pick_up_food(_24248,_24250)). action(collect_food(_24248,_24250,_24252,_24254,_24256,_24258,_24260,_24262,_24264)). action(kill_animal(_24248)). action(reduce_health(_24248,_24250)). action(check_animal(_24248,_24250,_24252,_24254,_24256,_24258,_24260)). action(change_animal(_24248,_24250,_24252,_24254,_24256,_24258,_24260)). action(attack(_24248)). action(hit_from(_24248,_24250,_24252,_24254)). action(walk_backward(_24248,_24250,_24252,_24254)). action(hit(_24248,_24250,_24252,_24254,_24256)). action(hit_shelter(_24248,_24250,_24252,_24254,_24256,_24258)). action(move_away(_24248,_24250)). action(turn_and_hit(_24248,_24250,_24252,_24254,_24256,_24258,_24260,_24262)). action(turn_hit_shelter(_24248,_24250,_24252,_24254,_24256,_24258,_24260,_24262,_24264)). action(turn_hit(_24248,_24250,_24252,_24254,_24256,_24258,_24260)). action(walk_away(_24248)). action(look(_24248,_24250)). action(reduce_hunger(_24248,_24250)). action(need_food(_24248)). action(check_hunger(_24248)). action(lower_health(_24248,_24250)). action(lower_hunger(_24248,_24250)). action(consume_food(_24248)). action(eat_food(_24248)). action(eat(_24248,_24250,_24252,_24254,_24256,_24258,_24260)). action(check_food(_24248)). action(on_fire(_24248,_24250)). action(burn(_24248,_24250)). action(check_health(_24248)). action(heal(_24248,_24250)). find(Unit,Type)from T1 to T2 if in_sight(Unit,Type)at T1. find(Unit,Type)from T1 to T3 if position(Unit,north,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,west,X,Y)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,west,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,south,X,Y)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,south,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,east,X,Y)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,east,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,north,X,Y)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,north,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), decrement(Y,Y2), greater_than(Y2,1), walk(Unit,north,X,Y2)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,east,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), increment(X,X2), less_or_equal(X2,20), walk(Unit,east,X2,Y)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,south,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), increment(Y,Y2), less_or_equal(Y2,20), walk(Unit,south,X,Y2)from T1 to T2, find(Unit,Type)from T2 to T3. find(Unit,Type)from T1 to T3 if position(Unit,west,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), decrement(X,X2), greater_or_equal(X2,1), walk(Unit,west,X2,Y)from T1 to T2, find(Unit,Type)from T2 to T3. walk_towards(Unit,Type)from T1 to T2 if next_to(Unit,Type)at T1. walk_towards(Unit,Type)from T1 to T3 if position(Unit,north,X,Y)at T1, in_sight(Unit,Type)at T1, item(Type,X,A)at T1, decrease(Y,Y1,A), greater_than(Y1,1), decrement(Y,Y2), greater_or_equal(Y2,1), walk(Unit,north,X,Y2)from T1 to T2, walk_towards(Unit,Type)from T2 to T3. walk_towards(Unit,Type)from T1 to T3 if position(Unit,east,X,Y)at T1, in_sight(Unit,Type)at T1, item(Type,A,Y)at T1, decrease(A,X1,X), greater_than(X1,1), increment(X,X2), less_or_equal(X2,20), walk(Unit,east,X2,Y)from T1 to T2, walk_towards(Unit,Type)from T2 to T3. walk_towards(Unit,Type)from T1 to T3 if position(Unit,south,X,Y)at T1, in_sight(Unit,Type)at T1, item(Type,X,A)at T1, decrease(A,Y1,Y), greater_than(Y1,1), increment(Y,Y2), less_or_equal(Y2,20), walk(Unit,south,X,Y2)from T1 to T2, walk_towards(Unit,Type)from T2 to T3. walk_towards(Unit,Type)from T1 to T3 if position(Unit,west,X,Y)at T1, in_sight(Unit,Type)at T1, item(Type,A,Y)at T1, decrease(X,X1,A), greater_than(X1,1), decrement(X,X2), greater_or_equal(X2,1), walk(Unit,west,X2,Y)from T1 to T2, walk_towards(Unit,Type)from T2 to T3. make_shelter(Unit)from T1 to T2 if holds_wood(Unit,N)at T1, greater_or_equal(N,25), build_shelter(Unit,N)from T1 to T2. make_shelter(Unit)from T1 to T3 if holds_wood(Unit,N)at T1, less_than(N,25), get_wood(Unit)from T1 to T2, make_shelter(Unit)from T2 to T3. build_shelter(Unit,N)from T1 to T2 if position(Unit,north,X,Y)at T1, decrement(Y,Y1), successful_shelter(Unit,N,X,Y1)from T1 to T2. build_shelter(Unit,N)from T1 to T2 if position(Unit,east,X,Y)at T1, increment(X,X1), successful_shelter(Unit,N,X1,Y)from T1 to T2. build_shelter(Unit,N)from T1 to T2 if position(Unit,south,X,Y)at T1, increment(Y,Y1), successful_shelter(Unit,N,X,Y1)from T1 to T2. build_shelter(Unit,N)from T1 to T2 if position(Unit,west,X,Y)at T1, decrement(X,X1), successful_shelter(Unit,N,X1,Y)from T1 to T2. get_wood(Unit)from T1 to T3 if in_sight(Unit,wood)at T1, walk_towards(Unit,wood)from T1 to T2, pick_wood(Unit)from T2 to T3. get_wood(Unit)from T1 to T5 if position(Unit,Direction,X,Y)at T1, find(Unit,tree)from T1 to T2, walk_towards(Unit,tree)from T2 to T3, hit_tree(Unit)from T3 to T4, pick_wood(Unit)from T4 to T5. hit_tree(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, decrement(Y,Y1), wood(X,Y1)at T1. hit_tree(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, increment(X,X1), wood(X1,Y)at T1. hit_tree(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, increment(Y,Y1), wood(X,Y1)at T1. hit_tree(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, decrement(X,X1), wood(X1,Y)at T1. hit_tree(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, decrement(Y,Y1), tree(X,Y1)at T1, break_tree(Unit,X,Y1)from T1 to T2. hit_tree(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, increment(X,X1), tree(X1,Y)at T1, break_tree(Unit,X1,Y)from T1 to T2. hit_tree(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, increment(Y,Y1), tree(X,Y1)at T1, break_tree(Unit,X,Y1)from T1 to T2. hit_tree(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, decrement(X,X1), tree(X1,Y)at T1, break_tree(Unit,X1,Y)from T1 to T2. pick_wood(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, holds_wood(Unit,N)at T1, decrement(Y,Y1), wood(X,Y1)at T1, collect_wood(Unit,N,X,Y1)from T1 to T2. pick_wood(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, holds_wood(Unit,N)at T1, increment(X,X1), wood(X1,Y)at T3, collect_wood(Unit,N,X1,Y)from T1 to T2. pick_wood(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, holds_wood(Unit,N)at T1, increment(Y,Y1), wood(X,Y1)at T3, collect_wood(Unit,N,X,Y1)from T1 to T2. pick_wood(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, holds_wood(Unit,N)at T1, decrement(X,X1), wood(X1,Y)at T3, collect_wood(Unit,N,X1,Y)from T1 to T2. need_food(Unit)from T1 to T2 if person(Unit,cautious)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,15). need_food(Unit)from T1 to T3 if person(Unit,cautious)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,15), get_food(Unit)from T1 to T2, need_food(Unit)from T2 to T3. need_food(Unit)from T1 to T2 if person(Unit,normal)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,10). need_food(Unit)from T1 to T3 if person(Unit,normal)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,10), get_food(Unit)from T1 to T2, need_food(Unit)from T2 to T3. need_food(Unit)from T1 to T2 if person(Unit,violent)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,5). need_food(Unit)from T1 to T3 if person(Unit,violent)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,5), get_food(Unit)from T1 to T2, need_food(Unit)from T2 to T3. get_food(Unit)from T1 to T2 if in_sight(Unit,food)at T1, pick_food(Unit)from T1 to T2. get_food(Unit)from T1 to T5 if find(Unit,animal)from T1 to T2, kill_animal(Unit)from T2 to T3, hit_animal(Unit)from T3 to T4, get_food(Unit)from T4 to T5. kill_animal(Unit)from T1 to T2 if position(Unit,D,X,Y)at T1, in_sight(Unit,food)at T1. kill_animal(Unit)from T1 to T2 if position(Unit,D,X,Y)at T1, has(Unit,weapon(A)), in_range(Unit,animal,D,A)at T1. kill_animal(Unit)from T1 to T3 if position(Unit,north,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_than(Y2,U), decrement(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,east,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), greater_than(X2,U), increment(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,south,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_than(Y2,U), increment(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,west,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), greater_than(X2,U), decrement(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,north,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), less_than(Y2,L), increment(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,east,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), less_than(X2,L), decrement(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,south,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), less_than(Y2,L), decrement(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, kill_animal(Unit)from T2 to T3. kill_animal(Unit)from T1 to T3 if position(Unit,west,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), less_than(X2,L), increment(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, kill_animal(Unit)from T2 to T3. hit_animal(Unit)from T1 to T2 if position(Unit,D,X,Y)at T1, in_sight(Unit,food)at T1. hit_animal(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_or_equal(Y2,L), less_or_equal(Y2,U), reduce_health(Unit,animal(Type,H,D1,X,Y1))from T1 to T2. hit_animal(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), greater_or_equal(X2,L), less_or_equal(X2,U), reduce_health(Unit,animal(Type,H,D1,X1,Y))from T1 to T2. hit_animal(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, animal(Type,H,D1,X,Y1)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_or_equal(Y2,L), less_or_equal(Y2,U), reduce_health(Unit,animal(Type,H,D1,X,Y1))from T1 to T2. hit_animal(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, animal(Type,H,D1,X1,Y)at T1, has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), greater_or_equal(X2,L), less_or_equal(X2,U), reduce_health(Unit,animal(Type,H,D1,X1,Y))from T1 to T2. reduce_health(Unit,animal(Type,N,D,X,Y))from T1 to T2 if person(Unit,Kind)at T1, has(Unit,weapon(A)), power(weapon(A),P), decrease(N,N1,P), check_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2. check_animal(Unit,N,D,X,Y,N1,A)from T1 to T2 if less_than(N1,0), change_animal(Unit,N,D,X,Y,0,A)from T1 to T2. check_animal(Unit,N,D,X,Y,N1,A)from T1 to T2 if greater_or_equal(N1,0), change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2. pick_food(Unit)from T1 to T3 if walk_towards(Unit,food)from T1 to T2, pick_up_food(Unit)from T2 to T3. pick_up_food(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, holds_food(Unit,N,A,B,C)at T1, decrement(Y,Y1), food(K,L,M,X,Y1)at T1, collect_food(Unit,A,B,C,K,L,M,X,Y1)from T1 to T2. pick_up_food(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, holds_food(Unit,N,A,B,C)at T1, increment(X,X1), food(K,L,M,X1,Y)at T1, collect_food(Unit,A,B,C,K,L,M,X1,Y)from T1 to T2. pick_up_food(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, holds_food(Unit,N,A,B,C)at T1, increment(Y,Y1), food(K,L,M,X,Y1)at T1, collect_food(Unit,A,B,C,K,L,M,X,Y1)from T1 to T2. pick_up_food(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, holds_food(Unit,N,A,B,C)at T1, decrement(X,X1), food(K,L,M,X1,Y)at T1, collect_food(Unit,A,B,C,K,L,M,X1,Y)from T1 to T2. attack(Unit)from T1 to T2 if position(Unit,D,X,Y)at T1, has(Unit,weapon(A)), in_range(Unit,Unit1,D,A)at T1, power(weapon(A),P), health(Unit1,H)at T1, opposite(D,D1), hit(Unit,Unit1,H,D1,P)from T1 to T2. hit(Unit,Unit1,H,D1,P)from T1 to T2 if in_shelter(Unit1)at T1, shelter(Unit1,H1,X,Y)at T1, decrease(H1,H2,P), greater_than(H2,0), hit_shelter(Unit,Unit1,H2,D1,X,Y)from T1 to T2. hit(Unit,Unit1,H,D1,P)from T1 to T2 if in_shelter(Unit1)at T1, shelter(Unit1,H1,X,Y)at T1, decrease(H1,H2,P), less_or_equal(H2,0), hit_shelter(Unit,Unit1,0,D1,X,Y)from T1 to T2. hit(Unit,Unit1,H,D1,P)from T1 to T2 if not in_shelter(Unit1)at T1, decrease(H,H1,P), greater_than(H1,0), hit_from(Unit,Unit1,H1,D1)from T1 to T2. hit(Unit,Unit1,H,D1,P)from T1 to T2 if not in_shelter(Unit1)at T1, decrease(H,H1,P), less_or_equal(H1,0), hit_from(Unit,Unit1,0,D1)from T1 to T2. attack(Unit)from T1 to T3 if position(Unit,north,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_than(Y2,U), decrement(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,east,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), greater_than(X2,U), increment(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,south,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_than(Y2,U), increment(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,west,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), greater_than(X2,U), decrement(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,north,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), less_than(Y2,L), increment(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,east,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), less_than(X2,L), decrement(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,south,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), less_than(Y2,L), decrement(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. attack(Unit)from T1 to T3 if position(Unit,west,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), less_than(X2,L), increment(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. walk_away(Unit)from T1 to T2 if position(Unit,north,X,Y)at T1, decrement(X,X1), walk(Unit,west,X1,Y)from T1 to T2. walk_away(Unit)from T1 to T2 if position(Unit,east,X,Y)at T1, decrement(Y,Y1), walk(Unit,north,X,Y1)from T1 to T2. walk_away(Unit)from T1 to T2 if position(Unit,south,X,Y)at T1, increment(X,X1), walk(Unit,east,X1,Y)from T1 to T2. walk_away(Unit)from T1 to T2 if position(Unit,west,X,Y)at T1, increment(Y,Y1), walk(Unit,south,X,Y1)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,north,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,west,X,Y)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,west,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,south,X,Y)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,south,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,east,X,Y)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,east,X,Y)at T1, turns(Unit,N)at T1, less_than(N,4), turn(Unit,N,north,X,Y)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,north,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), decrement(Y,Y2), greater_than(Y2,1), walk(Unit,north,X,Y2)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,east,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), increment(X,X2), less_or_equal(X2,20), walk(Unit,east,X2,Y)from T1 to T2. look(Unit,Type)from T1 to T2 if position(Unit,south,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), increment(Y,Y2), less_or_equal(Y2,20), walk(Unit,south,X,Y2)from T1 to T2. find(Unit,Type)from T1 to T2 if position(Unit,west,X,Y)at T1, turns(Unit,N)at T1, greater_or_equal(N,4), decrement(X,X2), greater_or_equal(X2,1), walk(Unit,west,X2,Y)from T1 to T2. move_away(Unit,north)from T1 to T2 if position(Unit,D,X,Y)at T1, decrement(X,X1), walk(Unit,west,X1,Y)from T1 to T2. move_away(Unit,east)from T1 to T2 if position(Unit,D,X,Y)at T1, decrement(Y,Y1), walk(Unit,north,X,Y1)from T1 to T2. move_away(Unit,south)from T1 to T2 if position(Unit,D,X,Y)at T1, increment(X,X1), walk(Unit,east,X1,Y)from T1 to T2. move_away(Unit,west)from T1 to T2 if position(Unit,D,X,Y)at T1, increment(Y,Y1), walk(Unit,south,X,Y1)from T1 to T2. turn_and_attack(Unit,D,Unit1)from T1 to T2 if position(Unit,OldD,X,Y)at T1, has(Unit,weapon(A)), power(weapon(A),P), in_range(Unit,Unit1,D,A)at T1, opposite(D,D1), health(Unit1,H)at T1, turn_and_hit(Unit,D,X,Y,P,Unit1,H,D1)from T1 to T2. turn_and_hit(Unit,D,X,Y,P,Unit1,H,D1)from T1 to T2 if in_shelter(Unit1)at T1, shelter(Unit1,H1,X1,Y1)at T1, decrease(H1,H2,P), greater_than(H2,0), turn_hit_shelter(Unit,D,X,Y,Unit1,H2,D1,X1,Y1)from T1 to T2. turn_and_hit(Unit,D,X,Y,P,Unit1,H,D1)from T1 to T2 if in_shelter(Unit1)at T1, shelter(Unit1,H1,X1,Y1)at T1, decrease(H1,H2,P), less_or_equal(H2,0), turn_hit_shelter(Unit,D,X,Y,Unit1,0,D1,X1,Y1)from T1 to T2. turn_and_hit(Unit,D,X,Y,P,Unit1,H,D1)from T1 to T2 if not in_shelter(Unit1)at T1, decrease(H,H1,P), greater_than(H1,0), turn_hit(Unit,D,X,Y,Unit1,H1,D1)from T1 to T2. turn_and_hit(Unit,D,X,Y,P,Unit1,H,D1)from T1 to T2 if not in_shelter(Unit1)at T1, decrease(H,H1,P), less_or_equal(H1,0), turn_hit(Unit,D,X,Y,Unit1,0,D1)from T1 to T2. turn_and_attack(Unit,north,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), greater_than(Y2,U), decrement(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,east,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), greater_than(X2,U), increment(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,south,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), greater_than(Y2,U), increment(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,west,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), greater_than(X2,U), decrement(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,north,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y,Y2,Y1), less_than(Y2,L), increment(Y,NewY), walk(Unit,north,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,east,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X1,X2,X), less_than(X2,L), decrement(X,NewX), walk(Unit,east,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,south,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X,Y1)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(Y1,Y2,Y), less_than(Y2,L), decrement(Y,NewY), walk(Unit,south,X,NewY)from T1 to T2, attack(Unit)from T2 to T3. turn_and_attack(Unit,west,Unit1)from T1 to T3 if position(Unit,Direction,X,Y)at T1, position(Unit1,D1,X1,Y)at T1, not_equal(Unit,Unit1), has(Unit,weapon(A)), range(weapon(A),L,U), decrease(X,X2,X1), less_than(X2,L), increment(X,NewX), walk(Unit,west,NewX,Y)from T1 to T2, attack(Unit)from T2 to T3. lower_hunger(Unit,N)from T1 to T2 if decrement(N,N1), greater_than(N1,0), reduce_hunger(Unit,N1)from T1 to T2. lower_hunger(Unit,N)from T1 to T2 if decrement(N,N1), less_or_equal(N1,0), reduce_hunger(Unit,0)from T1 to T2. check_hunger(Unit)from T1 to T2 if hunger(Unit,N)at T1, greater_or_equal(N,10). check_hunger(Unit)from T1 to T3 if hunger(Unit,N)at T1, less_than(N,10), health(Unit,H)at T1, decrement(H,H1), greater_than(H1,0), lower_health(Unit,H1)from T1 to T2, check_hunger(Unit)from T2 to T3. check_hunger(Unit)from T1 to T3 if hunger(Unit,N)at T1, less_than(N,10), health(Unit,H)at T1, decrement(H,H1), less_or_equal(H1,0), lower_health(Unit,0)from T1 to T2, check_hunger(Unit)from T2 to T3. consume_food(Unit)from T1 to T2 if person(Unit,cautious)at T1, hunger(Unit,F)at T1, greater_than(F,15). consume_food(Unit)from T1 to T2 if person(Unit,cautious)at T1, hunger(Unit,F)at T1, less_or_equal(F,15), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,1), eat_food(Unit)from T1 to T2. consume_food(Unit)from T1 to T2 if person(Unit,normal)at T1, hunger(Unit,F)at T1, greater_than(F,12). consume_food(Unit)from T1 to T2 if person(Unit,normal)at T1, hunger(Unit,F)at T1, less_or_equal(F,12), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,1), eat_food(Unit)from T1 to T2. consume_food(Unit)from T1 to T2 if person(Unit,violent)at T1, hunger(Unit,F)at T1, greater_than(F,9). consume_food(Unit)from T1 to T2 if person(Unit,violent)at T1, hunger(Unit,F)at T1, less_or_equal(F,9), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,1), eat_food(Unit)from T1 to T2. eat_food(Unit)from T1 to T2 if hunger(Unit,20)at T1. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), greater_or_equal(F1,5), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(C,1), eat(Unit,5,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), greater_or_equal(F1,5), holds_food(Unit,N,A,B,C)at T1, equal(C,0), greater_or_equal(B,1), eat(Unit,3,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), greater_or_equal(F1,5), holds_food(Unit,N,A,B,C)at T1, equal(C,0), equal(B,0), greater_or_equal(A,1), eat(Unit,1,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), less_than(F1,5), greater_or_equal(F1,3), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(B,1), eat(Unit,3,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), less_than(F1,5), greater_or_equal(F1,3), holds_food(Unit,N,A,B,C)at T1, equal(B,0), greater_or_equal(A,1), eat(Unit,1,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. eat_food(Unit)from T1 to T3 if hunger(Unit,F)at T1, decrease(20,F1,F), less_than(F1,3), greater_or_equal(F1,1), holds_food(Unit,N,A,B,C)at T1, greater_or_equal(A,1), eat(Unit,1,F,N,A,B,C)from T1 to T2, eat_food(Unit)from T2 to T3. check_food(Unit)from T1 to T2 if person(Unit,cautious)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,10). check_food(Unit)from T1 to T2 if person(Unit,normal)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,5). check_food(Unit)from T1 to T2 if person(Unit,violent)at T1, holds_food(Unit,N,A,B,C)at T1, greater_or_equal(N,0). check_food(Unit)from T1 to T3 if person(Unit,cautious)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,10), get_food(Unit)from T1 to T2, check_food(Unit)from T2 to T3. check_food(Unit)from T1 to T3 if person(Unit,normal)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,5), get_food(Unit)from T1 to T2, check_food(Unit)from T2 to T3. check_food(Unit)from T1 to T3 if person(Unit,violent)at T1, holds_food(Unit,N,A,B,C)at T1, less_than(N,0), get_food(Unit)from T1 to T2, check_food(Unit)from T2 to T3. on_fire(X,Y)from T1 to T2 if position(Unit,D,X,Y)at T1, health(Unit,N)at T1, decrease(N,N1,10), burn(Unit,N1)from T1 to T2. check_health(Unit)from T1 to T2 if health(Unit,H)at T1, less_than(H,50), heal(Unit,H)from T1 to T2. check_health(Unit)from T1 to T2 if health(Unit,50)at T1. go_to_shelter(Unit)from T1 to T2 if in_shelter(Unit)at T1. go_to_shelter(Unit)from T1 to T3 if position(Unit,north,X,Y)at T1, decrement(Y,Y1), shelter(Unit,H,X,Y1)at T1, walk(Unit,north,X,Y1)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,south,X,Y)at T1, increment(Y,Y1), shelter(Unit,H,X,Y1)at T1, walk(Unit,south,X,Y1)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,east,X,Y)at T1, increment(X,X1), shelter(Unit,H,X1,Y)at T1, walk(Unit,east,X1,Y)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,west,X,Y)at T1, decrement(X,X1), shelter(Unit,H,X1,Y)at T1, walk(Unit,west,X1,Y)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,D,X,Y)at T1, shelter(Unit,H,X1,Y1)at T1, decrease(Y,Y2,Y1), greater_than(Y2,1), decrement(Y,Y3), walk(Unit,north,X,Y3)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,D,X,Y)at T1, shelter(Unit,H,X1,Y1)at T1, decrease(Y1,Y2,Y), greater_than(Y2,1), increment(Y,Y3), walk(Unit,south,X,Y3)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,D,X,Y)at T1, shelter(Unit,H,X1,Y1)at T1, decrease(X1,X2,X), greater_than(X2,1), increment(X,X3), walk(Unit,east,X3,Y)from T1 to T2, go_to_shelter(Unit)from T2 to T3. go_to_shelter(Unit)from T1 to T3 if position(Unit,D,X,Y)at T1, shelter(Unit,H,X1,Y1)at T1, decrease(X,X2,X1), greater_than(X2,1), decrement(X,X3), walk(Unit,west,X3,Y)from T1 to T2, go_to_shelter(Unit)from T2 to T3. fluent(person(_24248,_24250)). fluent(position(_24248,_24250,_24252,_24254)). fluent(health(_24248,_24250)). fluent(hunger(_24248,_24250)). fluent(holds_wood(_24248,_24250)). fluent(holds_food(_24248,_24250,_24252,_24254,_24256)). fluent(has_shelter(_24248,_24250)). fluent(shelter(_24248,_24250,_24252,_24254)). fluent(turns(_24248,_24250)). fluent(dead(_24248)). fluent(tree(_24248,_24250)). fluent(wood(_24248,_24250)). fluent(animal(_24248,_24250,_24252,_24254,_24256)). fluent(food(_24248,_24250,_24252,_24254,_24256)). fluent(cycles(_24248)). fluent(in_shelter(_24248)). turn(Unit,N,D,X,Y)from T1 to T2 terminates position(Unit,Direction,X,Y). turn(Unit,N,D,X,Y)from T1 to T2 terminates turns(Unit,N). turn(Unit,N,D,X,Y)from T1 to T2 terminates cycles(T). walk(Unit,D,X,Y)from T1 to T2 terminates position(Unit,D1,X1,Y1). walk(Unit,D,X,Y)from T1 to T2 terminates turns(Unit,N). walk(Unit,D,X,Y)from T1 to T2 terminates cycles(T). successful_shelter(Unit,N,X,Y)from T1 to T2 terminates holds_wood(Unit,N). successful_shelter(Unit,N,X,Y)from T1 to T2 terminates has_shelter(Unit,false). successful_shelter(Unit,N,X,Y)from T1 to T2 terminates cycles(T). successful_shelter(Unit,N,X,Y)from T1 to T2 terminates turns(Unit,N1). break_tree(Unit,X,Y)from T1 to T2 terminates tree(X,Y). break_tree(Unit,X,Y)from T1 to T2 terminates turns(Unit,N). break_tree(Unit,X,Y)from T1 to T2 terminates cycles(T). break_tree(Unit,X,Y)from T1 to T2 terminates turns(Unit,N). collect_wood(Unit,N,X,Y)from T1 to T2 terminates wood(X,Y). collect_wood(Unit,N,X,Y)from T1 to T2 terminates holds_wood(Unit,N). collect_wood(Unit,N,X,Y)from T1 to T2 terminates cycles(T). collect_wood(Unit,N,X,Y)from T1 to T2 terminates turns(Unit,N1). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 terminates animal(Type,N,D,X,Y) if greater_than(N1,0). change_animal(Unit,N,D,X,Y,0,rabbit)from T1 to T2 terminates animal(rabbit,N1,D,X,Y). change_animal(Unit,N,D,X,Y,0,chicken)from T1 to T2 terminates animal(chicken,N1,D,X,Y). change_animal(Unit,N,D,X,Y,0,cow)from T1 to T2 terminates animal(cow,N1,D,X,Y). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 terminates cycles(T). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 terminates turns(Unit,N2). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 terminates food(K,L,M,X,Y). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 terminates holds_food(Unit,N,A,B,C). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 terminates cycles(T). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 terminates turns(Unit,N). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 terminates shelter(Unit1,H1,X,Y). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 terminates cycles(T). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 terminates has_shelter(Unit1,true) if equal(H,0). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 terminates turns(Unit,N). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates health(Unit1,H1). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates cycles(T). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates person(Unit1,Type) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates position(Unit1,Direction,X,Y) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates hunger(Unit1,N) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates has_shelter(Unit1,Boolean) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates shelter(Unit1,N,X,Y) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates holds_wood(Unit1,N) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates holds_food(Unit1,N,A,B,C) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates turns(Unit1,N) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 terminates turns(Unit,N). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 terminates shelter(Unit1,H1,X1,Y1). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 terminates has_shelter(Unit1,true) if equal(H,0). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 terminates position(Unit,OldD,OldX,OldY). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 terminates cycles(T). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 terminates turns(Unit,N). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates health(Unit1,H1). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates position(Unit,OldD,OldX,OldY). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates cycles(T). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates person(Unit1,Type) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates position(Unit1,Direction,X1,Y1) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates hunger(Unit1,N) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates has_shelter(Unit1,Boolean) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates shelter(Unit1,N,X,Y) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates holds_wood(Unit1,N) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates holds_food(Unit1,N,A,B,C) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates turns(Unit1,N) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 terminates turns(Unit,N). lower_health(Unit,H)from T1 to T2 terminates health(Unit,H1). lower_health(Unit,H)from T1 to T2 terminates cycles(T). lower_health(Unit,H)from T1 to T2 terminates turns(Unit,N1). lower_health(Unit,H)from T1 to T2 terminates person(Unit,Type) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates position(Unit,Direction,X,Y) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates hunger(Unit,N) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates has_shelter(Unit,Boolean) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates shelter(Unit,N,X,Y) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates holds_wood(Unit,N) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates holds_food(Unit,N,A,B,C) if equal(H,0). lower_health(Unit,H)from T1 to T2 terminates turns(Unit,N) if equal(H,0). reduce_hunger(Unit,N)from T1 to T2 terminates hunger(Unit,N1). reduce_hunger(Unit,N)from T1 to T2 terminates cycles(T). reduce_hunger(Unit,N)from T1 to T2 terminates turns(Unit,N1). eat(Unit,V,F,N,A,B,C)from T1 to T2 terminates hunger(Unit,F). eat(Unit,5,F,N,A,B,C)from T1 to T2 terminates holds_food(Unit,N,A,B,C). eat(Unit,3,F,N,A,B,C)from T1 to T2 terminates holds_food(Unit,N,A,B,C). eat(Unit,1,F,N,A,B,C)from T1 to T2 terminates holds_food(Unit,N,A,B,C). eat(Unit,V,F,N,A,B,C)from T1 to T2 terminates turns(Unit,N1). eat(Unit,V,F,N,A,B,C)from T1 to T2 terminates cycles(T). burn(Unit,H)from T1 to T2 terminates health(Unit,N1). burn(Unit,H)from T1 to T2 terminates turns(Unit,N1). burn(Unit,H)from T1 to T2 terminates cycles(T). burn(Unit,H)from T1 to T2 terminates person(Unit,Type) if equal(H,0). burn(Unit,H)from T1 to T2 terminates position(Unit,Direction,X,Y) if equal(H,0). burn(Unit,H)from T1 to T2 terminates hunger(Unit,N) if equal(H,0). burn(Unit,H)from T1 to T2 terminates has_shelter(Unit,Boolean) if equal(H,0). burn(Unit,H)from T1 to T2 terminates shelter(Unit,N,X,Y) if equal(H,0). burn(Unit,H)from T1 to T2 terminates holds_wood(Unit,N) if equal(H,0). burn(Unit,H)from T1 to T2 terminates holds_food(Unit,N,A,B,C) if equal(H,0). burn(Unit,H)from T1 to T2 terminates turns(Unit,N) if equal(H,0). heal(Unit,H)from T1 to T2 terminates health(Unit,H). heal(Unit,H)from T1 to T2 terminates turns(Unit,N). heal(Unit,H)from T1 to T2 terminates cycles(T). reactive_rule([happens(start_game(Unit),T1,T2),holds(person(Unit,cautious),T2),holds(has_shelter(Unit,false),T2)],[happens(make_shelter(Unit),T3,T4),tc(T2=<T3)],95). reactive_rule([happens(start_game(Unit),T1,T2),holds(person(Unit,normal),T2),holds(has_shelter(Unit,false),T2)],[happens(make_shelter(Unit),T3,T4),tc(T2=<T3)],95). reactive_rule([happens(start_game(Unit),T1,T2)],[happens(need_food(Unit),T3,T4),tc(T2=<T3)],94). reactive_rule([holds(person(Unit,cautious),T1),holds(in_sight(Unit,person),T1)],[happens(walk_away(Unit),T2,T3)],97). reactive_rule([happens(hit_from(Unit,Unit1,H,D),T1,T2),holds(person(Unit1,cautious),T2),holds(in_view(Unit1,D,person),T2)],[happens(move_away(Unit1,D),T3,T4)],98). reactive_rule([happens(turn_hit(Unit,D,X,Y,Unit,H,D1),T1,T2),holds(person(Unit1,cautious),T2),holds(in_view(Unit1,D,person),T2)],[happens(move_away(Unit1,D),T3,T4)],98). reactive_rule([happens(hit_from(Unit,Unit1,H,D),T1,T2),holds(person(Unit1,normal),T2),holds(in_view(Unit1,D,person),T2)],[happens(turn_and_attack(Unit1,D,Unit),T3,T4)],98). reactive_rule([happens(turn_hit(Unit,D,X,Y,Unit1,H,D1),T1,T2),holds(person(Unit1,normal),T2),holds(in_view(Unit1,D,person),T2)],[happens(turn_and_attack(Unit1,D,Unit),T3,T4)],98). reactive_rule([holds(person(Unit,violent),T1),holds(in_sight(Unit,person),T1)],[happens(attack(Unit),T2,T3)],93). reactive_rule([holds(person(Unit,violent),T1),holds(not in_sight(Unit,person),T1)],[happens(look(Unit,person),T2,T3)],92). reactive_rule([happens(hit_from(Unit,Unit1,H,D),T1,T2),holds(person(Unit1,violent),T2),holds(in_view(Unit1,D,person),T2)],[happens(turn_and_attack(Unit1,D,Unit),T3,T4)],98). reactive_rule([happens(turn_hit(Unit,D,X,Y,Unit1,H,D1),T1,T2),holds(person(Unit1,violent),T2),holds(in_view(Unit1,D,person),T2)],[happens(turn_and_attack(Unit1,D,Unit),T3,T4)],98). reactive_rule([holds(cycles(7),T1),holds(hunger(alex,N),T1)],[happens(lower_hunger(alex,N),T1,T2)],99). reactive_rule([holds(cycles(7),T1),holds(hunger(amanda,N),T1)],[happens(lower_hunger(amanda,N),T1,T2)],99). reactive_rule([holds(cycles(7),T1),holds(hunger(katherine,N),T1)],[happens(lower_hunger(katherine,N),T2,T3)],99). reactive_rule([holds(cycles(7),T1),holds(hunger(peter,N),T1)],[happens(lower_hunger(peter,N),T2,T3)],99). reactive_rule([holds(cycles(7),T1),holds(hunger(tom,N),T1)],[happens(lower_hunger(tom,N),T2,T3)],99). reactive_rule([happens(reduce_hunger(Unit,N),T1,T2)],[happens(check_hunger(Unit),T3,T4)],91). reactive_rule([happens(reduce_hunger(Unit,N),T1,T2)],[happens(consume_food(Unit),T3,T4)],96). reactive_rule([happens(eat(Unit,V,F,N,A,B,C),T1,T2)],[happens(check_food(Unit),T3,T4)],94). reactive_rule([happens(fire(X,Y),T1,T2)],[happens(on_fire(X,Y),T3,T4)],99). reactive_rule([holds(hunger(Unit,20),T1)],[happens(check_health(Unit),T1,T2)],90). reactive_rule([happens(successful_shelter(Unit,N,X,Y),T1,T2),holds(person(Unit,cautious),T2)],[happens(go_to_shelter(Unit),T3,T4)],91). turn(Unit,N,D,X,Y)from T1 to T2 initiates position(Unit,D,X,Y). turn(Unit,N,D,X,Y)from T1 to T2 initiates turns(Unit,N1) if increment(N,N1). turn(Unit,N,D,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). walk(Unit,D,X,Y)from T1 to T2 initiates position(Unit,D,X,Y). walk(Unit,D,X,Y)from T1 to T2 initiates turns(Unit,0). walk(Unit,D,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). successful_shelter(Unit,N,X,Y)from T1 to T2 initiates holds_wood(Unit,N1) if decrease(N,N1,25). successful_shelter(Unit,N,X,Y)from T1 to T2 initiates has_shelter(Unit,true). successful_shelter(Unit,N,X,Y)from T1 to T2 initiates shelter(Unit,100,X,Y). successful_shelter(Unit,N,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). successful_shelter(Unit,N,X,Y)from T1 to T2 initiates turns(Unit,0). break_tree(Unit,X,Y)from T1 to T2 initiates wood(X,Y). break_tree(Unit,X,Y)from T1 to T2 initiates turns(Unit,0). break_tree(Unit,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). break_tree(Unit,X,Y)from T1 to T2 initiates turns(Unit,0). collect_wood(Unit,N,X,Y)from T1 to T2 initiates holds_wood(Unit,N1) if increase(N,N1,5). collect_wood(Unit,N,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). collect_wood(Unit,N,X,Y)from T1 to T2 initiates turns(Unit,0). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 initiates animal(Type,N1,D,X,Y) if greater_than(N1,0). change_animal(Unit,N,D,X,Y,0,rabbit)from T1 to T2 initiates food(2,1,0,X,Y). change_animal(Unit,N,D,X,Y,0,chicken)from T1 to T2 initiates food(2,1,1,X,Y). change_animal(Unit,N,D,X,Y,0,cow)from T1 to T2 initiates food(2,1,2,X,Y). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 initiates cycles(T) if modu(T,T1). change_animal(Unit,N,D,X,Y,N1,Type)from T1 to T2 initiates turns(Unit,0). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 initiates holds_food(Unit,N1,A1,B1,C1) if increase(A,A1,K), increase(B,B1,L), increase(C,C1,M), calculate(N1,A1,B1,C1). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2 initiates turns(Unit,0). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 initiates shelter(Unit1,H,X,Y) if greater_than(H,0). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 initiates cycles(T) if modu(T,T1). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 initiates has_shelter(Unit1,false) if equal(H,0). hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2 initiates turns(Unit,0). hit_from(Unit,Unit1,H,D)from T1 to T2 initiates health(Unit1,H) if greater_than(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 initiates cycles(T) if modu(T,T1). hit_from(Unit,Unit1,H,D)from T1 to T2 initiates dead(Unit1) if equal(H,0). hit_from(Unit,Unit1,H,D)from T1 to T2 initiates turns(Unit,0). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 initiates shelter(Unit1,H,X1,Y1) if greater_than(H,0). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 initiates has_shelter(Unit1,false) if equal(H,0). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 initiates position(Unit,D,X,Y). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 initiates cycles(T) if modu(T,T1). turn_hit_shelter(Unit,D,X,Y,Unit1,H,D1,X1,Y1)from T1 to T2 initiates turns(Unit,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 initiates health(Unit1,H) if greater_than(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 initiates position(Unit,D,X,Y). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 initiates cycles(T) if modu(T,T1). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 initiates dead(Unit1) if equal(H,0). turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2 initiates turns(Unit,0). lower_health(Unit,H)from T1 to T2 initiates health(Unit,H) if greater_than(H,0). lower_health(Unit,H)from T1 to T2 initiates cycles(T) if modu(T,T1). lower_health(Unit,H)from T1 to T2 initiates turns(Unit,0). lower_health(Unit,H)from T1 to T2 initiates dead(Unit) if equal(H,0). reduce_hunger(Unit,N)from T1 to T2 initiates hunger(Unit,N). reduce_hunger(Unit,N)from T1 to T2 initiates cycles(T) if modu(T,T1). reduce_hunger(Unit,N)from T1 to T2 initiates turns(Unit,0). eat(Unit,V,F,N,A,B,C)from T1 to T2 initiates hunger(Unit,F1) if increase(F,F1,V). eat(Unit,5,F,N,A,B,C)from T1 to T2 initiates holds_food(Unit,N1,A,B,C1) if decrease(N,N1,5), decrement(C,C1). eat(Unit,3,F,N,A,B,C)from T1 to T2 initiates holds_food(Unit,N1,A,B1,C) if decrease(N,N1,3), decrement(B,B1). eat(Unit,1,F,N,A,B,C)from T1 to T2 initiates holds_food(Unit,N1,A1,B,C) if decrease(N,N1,1), decrement(A,A1). eat(Unit,V,F,N,A,B,C)from T1 to T2 initiates turns(Unit,0). eat(Unit,V,F,N,A,B,C)from T1 to T2 initiates cycles(T) if modu(T,T1). burn(Unit,H)from T1 to T2 initiates health(Unit,H) if greater_than(H,0). burn(Unit,H)from T1 to T2 initiates turns(Unit,0). burn(Unit,H)from T1 to T2 initiates cycles(T) if modu(T,T1). burn(Unit,H)from T1 to T2 initiates dead(Unit) if equal(H,0). heal(Unit,H)from T1 to T2 initiates health(Unit,H1) if increment(H,H1). heal(Unit,H)from T1 to T2 initiates turns(Unit,0). heal(Unit,H)from T1 to T2 initiates cycles(T) if modu(T,T1). false turn(Unit,N,D,X,Y)from T1 to T2, turn(Unit,N1,D1,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, walk(Unit,D1,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, successful_shelter(Unit,N1,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, break_tree(Unit,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, collect_wood(Unit,W,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false turn(Unit,N,D,X,Y)from T1 to T2, eat(Unit,V,F,N1,A,B,C)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, walk(Unit,D1,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, successful_shelter(Unit,N1,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, break_tree(Unit,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, collect_wood(Unit,W,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, eat(Unit,V,F,N1,A,B,C)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, successful_shelter(Unit,N1,X1,Y1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, break_tree(Unit,X1,Y1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, collect_wood(Unit,W,X1,Y1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, eat(Unit,V,F,N1,A,B,C)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, break_tree(Unit,X1,Y1)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, collect_wood(Unit,W,X1,Y1)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false break_tree(Unit,X,Y)from T1 to T2, eat(Unit,V,F,N1,A,B,C)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, collect_wood(Unit,W1,X1,Y1)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false collect_wood(Unit,W,X,Y)from T1 to T2, eat(Unit,V,F,N1,A,B,C)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, change_animal(Unit,N2,D1,X1,Y1,N3,A1)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, collect_food(Unit,A1,B,C,K,L,M,X1,Y1)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, eat(Unit,V,F,N2,A1,B,C)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, collect_food(Unit,A1,B1,C1,K1,L1,M1,X1,Y1)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, hit_from(Unit,Unit1,H,D1)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2. false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, eat(Unit,V,F,N1,A1,B1,C1)from T1 to T2. false hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2, hit_shelter(Unit,Unit2,H2,D2,X2,Y2)from T1 to T2. false hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2, hit_from(Unit,Unit2,H1,D1)from T1 to T2. false hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit2,H2,D2)from T1 to T2. false hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit2,H2,D2,X2,Y2)from T1 to T2. false hit_shelter(Unit,Unit1,H,D,X,Y)from T1 to T2, eat(Unit,V,F,N1,A1,B1,C1)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, hit_from(Unit,Unit2,H2,D2)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, turn_hit(Unit,D1,X1,Y1,Unit2,H2,D2)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit2,H2,D2,X2,Y2)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, eat(Unit,V,F,N1,A1,B1,C1)from T1 to T2. false turn_hit(Unit,D,X,Y,Unit1,H1,D1)from T1 to T2, turn_hit(Unit,D2,X2,Y2,Unit3,H3,D3)from T1 to T2. false turn_hit(Unit,D,X,Y,Unit1,H1,D1)from T1 to T2, turn_hit_shelter(Unit,D1,X1,Y1,Unit2,H2,D2,X2,Y2)from T1 to T2. false turn_hit(Unit,D,X,Y,Unit1,H1,D1)from T1 to T2, eat(Unit,V,F,N1,A1,B1,C1)from T1 to T2. false turn_hit_shelter(Unit,D,X,Y,Unit1,H1,D1,X1,Y1)from T1 to T2, turn_hit_shelter(Unit,D2,X2,Y2,Unit3,H3,D3,X3,Y3)from T1 to T2. false turn_hit_shelter(Unit,D,X,Y,Unit1,H1,D1,X1,Y1)from T1 to T2, eat(Unit,V,F,N1,A1,B1,C1)from T1 to T2. false eat(Unit,V,F,N,A,B,C)from T1 to T2, eat(Unit,V1,F1,N1,A1,B1,C1)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, walk(Unit1,D1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false walk(Unit,D,X,Y)from T1 to T2, successful_shelter(Unit1,N1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false walk(Unit,D,X,Y)from T1 to T2, turn_hit(Unit1,D1,X,Y,Unit2,H2,D2)from T1 to T2, not_equal(Unit,Unit1). false walk(Unit,D,X,Y)from T1 to T2, turn_hit_shelter(Unit1,D1,X,Y,Unit2,H,D2,X2,Y2)from T1 to T2, not_equal(Unit,Unit1). false successful_shelter(Unit,N,X,Y)from T1 to T2, successful_shelter(Unit1,N,X,Y)from T1 to T2, not_equal(Unit,Unit1). false successful_shelter(Unit,N,X,Y)from T1 to T2, turn_hit(Unit1,D1,X,Y,Unit2,H,D2)from T1 to T2, not_equal(Unit,Unit1). false successful_shelter(Unit,N,X,Y)from T1 to T2, turn_hit_shelter(Unit1,D1,X,Y,Unit2,H,D2,X2,Y2)from T1 to T2, not_equal(Unit,Unit1). false break_tree(Unit,X,Y)from T1 to T2, break_tree(Unit1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false collect_wood(Unit,W,X,Y)from T1 to T2, collect_wood(Unit1,W1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false change_animal(Unit,N,D,X,Y,N1,A)from T1 to T2, change_animal(Unit1,N2,D2,X,Y,N3,A1)from T1 to T2, not_equal(Unit,Unit1). false collect_food(Unit,A,B,C,K,L,M,X,Y)from T1 to T2, collect_food(Unit1,A1,B1,C1,K1,L1,M1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false hit_shelter(Unit,Unit2,H,D,X,Y)from T1 to T2, hit_shelter(Unit1,Unit3,H1,D1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false hit_shelter(Unit,Unit2,H,D,X,Y)from T1 to T2, turn_hit_shelter(Unit1,D1,X1,Y1,Unit3,H1,D1,X,Y)from T1 to T2, not_equal(Unit,Unit1). false hit_from(Unit,Unit2,H,D)from T1 to T2, hit_from(Unit1,Unit2,H1,D1)from T1 to T2, not_equal(Unit,Unit1). false hit_from(Unit,Unit2,H,D)from T1 to T2, turn_hit(Unit1,D1,X1,Y1,Unit2,H2,D2)from T1 to T2, not_equal(Unit,Unit1). false turn_hit(Unit,D,X,Y,Unit2,H2,D2)from T1 to T2, turn_hit(Unit1,D1,X1,Y1,Unit2,H3,D3)from T1 to T2, not_equal(Unit,Unit1). false turn_hit(Unit,D,X,Y,Unit2,H2,D2)from T1 to T2, turn_hit(Unit1,D1,X,Y,Unit3,H3,D3)from T1 to T2, not_equal(Unit,Unit1). false turn_hit_shelter(Unit,D,X,Y,Unit2,H2,D2,X2,Y2)from T1 to T2, turn_hit_shelter(Unit1,D1,X1,Y1,Unit3,H3,D3,X2,Y2)from T1 to T2, not_equal(Unit,Unit1). false turn_hit_shelter(Unit,D,X,Y,Unit2,H2,D2,X2,Y2)from T1 to T2, turn_hit_shelter(Unit1,D1,X,Y,Unit3,H3,D3,X3,Y3)from T1 to T2, not_equal(Unit,Unit1). false turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2, lower_health(Unit1,N)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, lower_health(Unit1,N)from T1 to T2. false turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2, burn(Unit1,N)from T1 to T2. false hit_from(Unit,Unit1,H,D)from T1 to T2, burn(Unit1,N)from T1 to T2. false turn_hit(Unit,D,X,Y,Unit1,H,D1)from T1 to T2, heal(Unit1,N)from T1 to T2. false heal(Unit1,N)from T1 to T2, hit_from(Unit,Unit1,H,D)from T1 to T2. false lower_health(Unit,N)from T1 to T2, burn(Unit,N1)from T1 to T2. false lower_health(Unit,N)from T1 to T2, heal(Unit,N1)from T1 to T2. false burn(Unit,N)from T1 to T2, heal(Unit,N1)from T1 to T2. false eat(Unit,V,F,N,A,B,C)from T1 to T2, reduce_hunger(Unit,H)from T1 to T2. false walk(Unit,D,X,Y)from T1 to T2, position(Unit1,Direction,X,Y)at T2. false walk(Unit,D,X,Y)from T1 to T2, animal(Type,N,Direction,X,Y)at T2. false walk(Unit,D,X,Y)from T1 to T2, shelter(Unit1,H,X,Y)at T2, not_equal(Unit,Unit1). false walk(Unit,D,X,Y)from T1 to T2, tree(X,Y)at T2. false walk(Unit,D,X,Y)from T1 to T2, wood(X,Y)at T2. false walk(Unit,D,X,Y)from T1 to T2, food(A,B,C,X,Y)at T2. false walk(Unit,D,X,Y)from T1 to T2, greater_than(X,20). false walk(Unit,D,X,Y)from T1 to T2, greater_than(Y,20). false walk(Unit,D,X,Y)from T1 to T2, less_than(X,1). false walk(Unit,D,X,Y)from T1 to T2, less_than(Y,1). false successful_shelter(Unit,N,X,Y)from T1 to T2, position(Unit1,Direction,X,Y)at T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, animal(Type,N1,Direction,X,Y)at T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, shelter(Unit1,H,X,Y)at T2, not_equal(Unit,Unit1). false successful_shelter(Unit,N,X,Y)from T1 to T2, tree(X,Y)at T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, wood(X,Y)at T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, food(A,B,C,X,Y)at T2. false successful_shelter(Unit,N,X,Y)from T1 to T2, greater_than(X,20). false successful_shelter(Unit,N,X,Y)from T1 to T2, greater_than(Y,20). false successful_shelter(Unit,N,X,Y)from T1 to T2, less_than(X,1). false successful_shelter(Unit,N,X,Y)from T1 to T2, less_than(Y,1). false turn(Unit,N1,D1,X1,Y1)from T1 to T2, dead(Unit)at T2. false walk(Unit,D1,X1,Y1)from T1 to T2, dead(Unit)at T2. false successful_shelter(Unit,N1,X1,Y1)from T1 to T2, dead(Unit)at T2. false break_tree(Unit,X1,Y1)from T1 to T2, dead(Unit)at T2. false collect_wood(Unit,W,X1,Y1)from T1 to T2, dead(Unit)at T2. false change_animal(Unit,N1,D1,X1,Y1,N2,A)from T1 to T2, dead(Unit)at T2. false collect_food(Unit,A,B,C,K,L,M,X1,Y1)from T1 to T2, dead(Unit)at T2. false hit_shelter(Unit,Unit1,H,D1,X1,Y1)from T1 to T2, dead(Unit)at T2. false hit_from(Unit,Unit1,H,D1)from T1 to T2, dead(Unit)at T2. false turn_hit(Unit,D1,X1,Y1,Unit1,H,D2)from T1 to T2, dead(Unit)at T2. false turn_hit_shelter(Unit,D1,X1,Y1,Unit1,H,D2,X2,Y2)from T1 to T2, dead(Unit)at T2. false eat(Unit,V,F,N1,A,B,C)from T1 to T2, dead(Unit)at T2. event(start_game(_24248)). event(fire(_24248,_24250)).