def pack(self, comb_class: Tiling) -> StrategyPack: try: return InsertionEncodingVerificationStrategy().pack(comb_class) except StrategyDoesNotApply: pass if self.no_factors: raise InvalidOperationError("Cannot get a simpler specification") if ( any(isinstance(ass, ComponentAssumption) for ass in comb_class.assumptions) and len(comb_class.find_factors()) == 1 ): raise InvalidOperationError( "Can't find generating function with component assumption." ) return StrategyPack( initial_strats=[FactorFactory()], inferral_strats=[], expansion_strats=[], ver_strats=[ BasicVerificationStrategy(), OneByOneVerificationStrategy(), InsertionEncodingVerificationStrategy(), MonotoneTreeVerificationStrategy(no_factors=True), LocalVerificationStrategy(no_factors=True), ], name="factor pack", )
def verified(self, comb_class: Tiling) -> bool: return ( not self.no_factors or len(comb_class.find_factors()) == 1 ) and MonotoneTreeEnumeration(comb_class).verified()
def verified(self, comb_class: Tiling) -> bool: return ( comb_class.dimensions != (1, 1) and (not self.no_factors or len(comb_class.find_factors()) == 1) and LocalEnumeration(comb_class).verified() )
def verified(self, tiling: Tiling) -> bool: return (not self.no_factors or len(tiling.find_factors()) == 1) and MonotoneTreeEnumeration(tiling).verified()
def verified(self, tiling: Tiling) -> bool: return (tiling.dimensions != (1, 1) and (not self.no_factors or len(tiling.find_factors()) == 1) and LocalEnumeration(tiling).verified())