<｜begin▁of▁sentence｜>### Instruction:
As a mobile app developer, imagine you are designing a social networking app. You need to ensure that when a user establishes a friendship with another user, the connection is mutual. This means that if User A adds User B as a friend, User B should also be able to see User A as a friend. You want to use a graph to represent these friendship connections, and to ensure that the addition and removal of friendships occur correctly, you will need to verify the existence of opposite edges between users and whether the connections are mutual using NetworkX API.
### Response:
from igraph import Graph

# Create a directed graph with reciprocal and non-reciprocal edges
g = Graph(directed=True)
g.add_vertices(4)
g.add_edges([(0, 1), (1, 0), (0, 2), (2, 3)])

# Check if the edge from vertex 0 to vertex 1 is mutual (has an opposite pair)
is_edge_mutual = g.is_mutual((0, 1))
print(f'Edge (0, 1) is mutual: {is_edge_mutual}')

# Check if the edge from vertex 2 to vertex 3 is mutual
is_edge_mutual = g.is_mutual((2, 3))
print(f'Edge (2, 3) is mutual: {is_edge_mutual}')
<|EOT|>
