Ejemplo n.º 1
0
        /// <summary>
        ///  \-完備かどうか(差集合\について閉じているかどうか)
        /// </summary>
        /// <param name="subsets">集合族</param>
        /// <returns>\-完備</returns>
        public static bool isDiffComplete <TEnum>(this FamilyOfSubsets <TEnum> subsets)
            where TEnum : Enum
        {
            foreach (FiniteSet <TEnum> subset1 in subsets)
            {
                foreach (FiniteSet <TEnum> subset2 in subsets)
                {
                    FiniteSet <TEnum> diffSet = subset1.Diff(subset2);
                    IEqualityComparer <FiniteSet <TEnum> > comparer = new FiniteSetComparer <TEnum>();
                    if (!subsets.Contains(diffSet, comparer))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 集合族の中に要素である集合が含まれているかどうか
        /// </summary>
        /// <param name="item">有限集合</param>
        /// <returns>含まれている</returns>
        public override bool Contains(FiniteSet <TEnum> item)
        {
            IEqualityComparer <FiniteSet <TEnum> > comparer = new FiniteSetComparer <TEnum>();

            return(Enumerable.Contains(this, item, comparer));
        }