with Integer_Faces_of_Polytope; use Integer_Faces_of_Polytope; with Permutations,Symmetry_Group; use Permutations,Symmetry_Group; package Permutations_of_Faces is -- DESCRIPTION : -- Provides elementary permutation operations on faces of polytopes. -- Each time, the second operation concerns a lifted face and leaves -- the lifting invariant. function Invariant ( f : Face; p : Permutation ) return boolean; function Invariant_Lifted ( f : Face; p : Permutation ) return boolean; -- DESCRIPTION : -- Returns true if the face is invariant under the permutation. function Permute ( f : Face; p : Permutation ) return Face; function Permute_Lifted ( f : Face; p : Permutation ) return Face; -- DESCRIPTION : -- Permutations the coordinates of the points which span the face. function Permutable ( f1,f2 : Face ) return boolean; function Permutable_Lifted ( f1,f2 : Face ) return boolean; -- DESCRIPTION : -- Returns true if there exists a permutation of face f1 into face f2. function Permutable ( f1 : Face; f2 : Faces ) return boolean; function Permutable_Lifted ( f1 : Face; f2 : Faces ) return boolean; -- DESCRIPTION : -- Returns true if the face f1 is permutable with one of the faces in f2. end Permutations_of_Faces;