def convert_single_target_car_to_multi_target_car(single_target_car: ClassAssocationRule) -> MCAR:
    st_antecedent: CARAntecedent = single_target_car.antecedent
    st_consequent: CARConsequent = single_target_car.consequent
    mcar_antecedent_literals: List[EQLiteral] = []
    for literal in st_antecedent:
        (attribute, value) = literal
        mcar_antecedent_literals.append(EQLiteral(attribute=attribute, value=value))
    mcar_antecedent = GeneralizedAntecedent(mcar_antecedent_literals)
    mcar_consequent: MCARConsequent = MCARConsequent([EQLiteral(attribute=st_consequent.attribute, value=st_consequent.value)])
    return MCAR(antecedent=mcar_antecedent, consequent=mcar_consequent, support=single_target_car.support, confidence=single_target_car.confidence)
def convert_single_target_car_to_multi_target_car(single_target_car: ClassAssocationRule) -> MCAR:
    st_antecedent: CARAntecedent = single_target_car.antecedent
    st_consequent: CARConsequent = single_target_car.consequent
    mcar_antecedent_literals: List[EQLiteral] = []
    for literal in st_antecedent:
        (attribute, value) = literal
        mcar_antecedent_literals.append(EQLiteral(attribute=attribute, value=value))
    mcar_antecedent = GeneralizedAntecedent(mcar_antecedent_literals)
    mcar_consequent: MCARConsequent = MCARConsequent([EQLiteral(attribute=st_consequent.attribute, value=st_consequent.value)])
    return MCAR(antecedent=mcar_antecedent, consequent=mcar_consequent, support=single_target_car.support, confidence=single_target_car.confidence)