WordPress query via checkbox form

The scope of your question is pretty broad, but I think I can help. Set the name to as the same name for the ones you want grouped using array syntax ([]). Set the checkboxes’ values to the category ID.

// ...
foreach ( $sub_categories as $sub_category ){    
    echo '<label><input type="checkbox" id="type-'. $sub_category->name . '" rel="'. $sub_category->name . '" name="subcats[]" value="' . $sub_category->term_id .'">'. $sub_category->name . '</label>';
}
// ...

Then, supposing your form’s method is POST, you would retrieve the results on the destination page specified in the form’s action parameter. So, on search results page:

$subcategories = $_POST['subcats'];

// You could then use the array of category ID's to do a WP_Query, for example:
$category_search_results = new WP_Query([
    'category__in' => $subcategories
]);