def __sub__(self, other):
		'''
		Creates a boolean environmental function whose before is this list of phonemes.
		'''
		other = phoneme(other) if not (isinstance(other, AbstractPhoneme) or isinstance(other, PhonemeDisjunction)) \
		else other
		env_start = [PositionedPhoneme(phoneme, env_start = True) for phoneme in self]
		env_end = PositionedPhoneme(other, env_end = True)
		return lambda before, _, after : any([phoneme <= before for phoneme in env_start]) and env_end <= after
def __sub__ ( self , other ) : other = phoneme ( other ) if not ( isinstance ( other , AbstractPhoneme ) or isinstance ( other , PhonemeDisjunction ) ) else other env_start = [ PositionedPhoneme ( phoneme , env_start = True ) for phoneme in self ] env_end = PositionedPhoneme ( other , env_end = True ) return lambda before , _ , after : any ( [ phoneme <= before for phoneme in env_start ] ) and env_end <= after
Creates a boolean environmental function whose before is this list of phonemes.