+bool symmetry::has_nonsymmetric() const
+{
+ if (type == antisymmetric || type == cyclic)
+ return true;
+
+ for (auto & i : children)
+ if (ex_to<symmetry>(i).has_nonsymmetric())
+ return true;
+
+ return false;
+}
+
+bool symmetry::has_cyclic() const
+{
+ if (type == cyclic)
+ return true;
+
+ for (auto & i : children)
+ if (ex_to<symmetry>(i).has_cyclic())
+ return true;
+
+ return false;
+}
+