+#include <isl_reordering.h>
+#include "isl_vec.h"
+
+__isl_give isl_map *isl_map_realign(__isl_take isl_map *map,
+ __isl_take isl_reordering *r);
+__isl_give isl_set *isl_set_realign(__isl_take isl_set *set,
+ __isl_take isl_reordering *r);
+
+__isl_give isl_map *isl_map_reset(__isl_take isl_map *map,
+ enum isl_dim_type type);
+
+__isl_give isl_basic_map *isl_basic_map_reset_dim(
+ __isl_take isl_basic_map *bmap, __isl_take isl_dim *dim);
+__isl_give isl_map *isl_map_reset_dim(__isl_take isl_map *map,
+ __isl_take isl_dim *dim);
+__isl_give isl_set *isl_set_reset_dim(__isl_take isl_set *set,
+ __isl_take isl_dim *dim);
+
+unsigned isl_basic_map_offset(struct isl_basic_map *bmap,
+ enum isl_dim_type type);
+
+int isl_map_compatible_domain(struct isl_map *map, struct isl_set *set);
+int isl_basic_map_compatible_domain(struct isl_basic_map *bmap,
+ struct isl_basic_set *bset);
+int isl_basic_map_compatible_range(struct isl_basic_map *bmap,
+ struct isl_basic_set *bset);
+
+struct isl_basic_map *isl_basic_map_extend_dim(struct isl_basic_map *base,
+ struct isl_dim *dim, unsigned extra,
+ unsigned n_eq, unsigned n_ineq);
+struct isl_basic_set *isl_basic_set_extend_dim(struct isl_basic_set *base,
+ struct isl_dim *dim, unsigned extra,
+ unsigned n_eq, unsigned n_ineq);
+struct isl_basic_set *isl_basic_set_add_constraints(struct isl_basic_set *bset1,
+ struct isl_basic_set *bset2, unsigned pos);
+
+struct isl_map *isl_map_grow(struct isl_map *map, int n);
+struct isl_set *isl_set_grow(struct isl_set *set, int n);
+
+int isl_basic_set_contains(struct isl_basic_set *bset, struct isl_vec *vec);
+int isl_basic_map_contains(struct isl_basic_map *bmap, struct isl_vec *vec);
+
+struct isl_basic_set *isl_basic_set_alloc_dim(struct isl_dim *dim,
+ unsigned extra, unsigned n_eq, unsigned n_ineq);
+struct isl_set *isl_set_alloc_dim(struct isl_dim *dim, int n, unsigned flags);
+struct isl_basic_map *isl_basic_map_alloc_dim(struct isl_dim *dim,
+ unsigned extra, unsigned n_eq, unsigned n_ineq);
+struct isl_map *isl_map_alloc_dim(struct isl_dim *dim, int n, unsigned flags);
+
+unsigned isl_basic_map_total_dim(const struct isl_basic_map *bmap);