<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_b_connected(H, source_node, target_node):
 """Checks if a target node is B-connected to a source node. A node t is B-connected to a node s iff: - t is s, or - there exists an edge in the backward star of t such that all nodes in the tail of that edge are B-connected to s In other words, this method determines if a target node can be B-visited from the source node in the sense of the 'B-Visit' algorithm. Refer to 'b_visit's documentation for more details. :param H: the hypergraph to check B-connectedness on. :param source_node: the node to check B-connectedness to. :param target_node: the node to check B-connectedness of. :returns: bool -- whether target_node can be visited from source_node. """

    b_visited_nodes, Pv, Pe, v = b_visit(H, source_node)
    return target_node in b_visited_nodes