A flat is a set of hyperplanes, maximal with respect to the property that they contain a given subspace. In this package, flats are treated as lists of indices of hyperplanes in the arrangement.

- flat(Arrangement,List) -- make a flat from a list of indices
- flats(ZZ,Arrangement) -- list the flats of an arrangement of a given rank
- flats(Arrangement) -- list the flats of an arrangement of a given rank

- closure(Arrangement,Ideal) -- see closure(Arrangement,List) -- closure operation in the intersection lattice
- closure(Arrangement,List) -- closure operation in the intersection lattice
- flat(Arrangement,List) -- make a flat from a list of indices
- Flat ^ Flat -- see meet(Flat,Flat) -- compute the meet operation in the intersection lattice
- meet(Flat,Flat) -- compute the meet operation in the intersection lattice
- Flat | Flat -- see vee(Flat,Flat) -- compute the vee operation in the intersection lattice
- vee(Flat,Flat) -- compute the vee operation in the intersection lattice

- arrangement(Flat) -- get the hyperplane arrangement to which a flat belongs
- euler(Flat) -- see euler(CentralArrangement) -- compute the Euler characteristic of the projective complement
- Flat == Flat -- whether two flats are equal
- rank(Flat) -- compute the rank of a flat
- Arrangement ^ Flat -- see restriction(Arrangement,Ideal) -- construct the restriction a hyperplane arrangement to a subspace
- restriction(Arrangement,Flat) -- see restriction(Arrangement,Ideal) -- construct the restriction a hyperplane arrangement to a subspace
- restriction(Flat) -- see restriction(Arrangement,Ideal) -- construct the restriction a hyperplane arrangement to a subspace
- Arrangement _ Flat -- see subArrangement(Arrangement,Flat) -- create the hyperplane arrangement containing a flat
- subArrangement(Arrangement,Flat) -- create the hyperplane arrangement containing a flat
- subArrangement(Flat) -- see subArrangement(Arrangement,Flat) -- create the hyperplane arrangement containing a flat
- toList(Flat) -- the indices of a flat