<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fts_match(self, features, segment):
 """Answer question "are `ft_mask`'s features a subset of ft_seg?" This is like `FeatureTable.match` except that it checks whether a segment is valid and returns None if it is not. Args: features (set):
 pattern defined as set of (value, feature) tuples segment (set):
 segment defined as a set of (value, feature) tuples Returns: bool: True iff all features in `ft_mask` are also in `ft_seg`; None if segment is not valid """

        features = set(features)
        if self.seg_known(segment):
            return features <= self.fts(segment)
        else:
            return None