Value of the input is not preserved when it is an HTML array
IMO this should work

    function mm_definition_of_the_form($form, &amp;$form_state) {
      //other code
      $form_state['rebuild'] = TRUE;

      if (isset($form_state['check_field'])) {
        //set default value of the field
      }
    }

    function mm_definition_of_the_form_validate(&amp;$form, &amp;$form_state) {
      //if is error
      $form_state['check_field'] = TRUE;
    }