anchor.diff:  
   <% self.fields.each do |field| -%>
     <% position = "#{field.x}_#{field.y}" %>
  -    Bdd freeze_man_<%= position %> = (man_<%= position %> * man_<%= position %>_next) + (!man<%= position %> * !man_<%= position %>_next)
  -    Bdd freeze_block_<%= position %> = (block_<%= position %> * block_<%= position %>_next) + (!block<%= position %> * !block_<%= position %>_next)
  -    Bdd move_man_<%= position %> = !freeze_man_<%= position %>
  -    Bdd move_block_<%= position %> = !freeze_block_<%= position %>
  +    Bdd freeze_man_<%= position %> = (man_<%= position %> * man_<%= position %>_next) + (!man_<%= position %> * !man_<%= position %>_next);
  +    Bdd freeze_block_<%= position %> = (block_<%= position %> * block_<%= position %>_next) + (!block_<%= position %> * !block_<%= position %>_next);
  +    Bdd move_man_<%= position %> = !freeze_man_<%= position %>;
  +    Bdd move_block_<%= position %> = !freeze_block_<%= position %>;
   <% end -%>
   
   <%
  
positive.code: int solve() {
      LACE_ME;
  <% n = 0 -%>
  <% self.board.each_with_index do |row, i|
    row.each_with_index do |field, j| -%>
      <% next if field == Field::WALL %>
      Bdd man_<%= "#{i}_#{j}" %> = Bdd::bddVar(<%= n += 1 %>);
      Bdd man_<%= "#{i}_#{j}" %>_next = Bdd::bddVar(<%= n += 1 %>);
  
negative.code: <% end -%>
  
  <%
  initial_state = self.board.each_with_index.map do |row, j|
    row.each_with_index.map do |field, i|
      next if field == Field::WALL
      ["#{field == Field::MAN ? '' : '!'}man_#{i}_#{j}",
       "#{field == Field::BLOCK ? '' : '!'}block_#{i}_#{j}"]
  