sage: actual == expected
True
+ If ``F`` and ``G`` are two faces of ``K``, then the join of ``F``
+ and ``G`` in the face lattice is equal to the face generated by
+ ``F + G`` (in the Minkowski sense) [Tam]_::
+
+ sage: set_random_seed()
+ sage: K = random_cone(max_ambient_dim=8, max_rays=10)
+ sage: L = K.face_lattice()
+ sage: F = L.random_element()
+ sage: G = L.random_element()
+ sage: expected = L.join(F,G)
+ sage: actual = face_generated_by(K, F.rays() + G.rays())
+ sage: actual == expected
+ True
+
"""
face_lattice = K.face_lattice()
candidates = [F for F in face_lattice if all([F.contains(x) for x in S])]