t1 = tetrahedron1 cube
+prop_t0_shares_edge_with_t6 :: Cube -> Bool
+prop_t0_shares_edge_with_t6 cube =
+ (v2 t0) == (v3 t6) && (v3 t0) == (v2 t6)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c3000_identity :: Cube -> Bool
+prop_c3000_identity cube =
+ c t0 3 0 0 0 ~= c t0 2 1 0 0 + c t6 2 1 0 0 - ((c t0 2 0 1 0 + c t0 2 0 0 1)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c2010_identity :: Cube -> Bool
+prop_c2010_identity cube =
+ c t0 2 0 1 0 ~= c t0 1 1 1 0 + c t6 1 1 1 0 - ((c t0 1 0 2 0 + c t0 1 0 1 1)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c2001_identity :: Cube -> Bool
+prop_c2001_identity cube =
+ c t0 2 0 0 1 ~= c t0 1 1 0 1 + c t6 1 1 0 1 - ((c t0 1 0 0 2 + c t0 1 0 1 1)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c1020_identity :: Cube -> Bool
+prop_c1020_identity cube =
+ c t0 1 0 2 0 ~= c t0 0 1 2 0 + c t6 0 1 2 0 - ((c t0 0 0 3 0 + c t0 0 0 2 1)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c1002_identity :: Cube -> Bool
+prop_c1002_identity cube =
+ c t0 1 0 0 2 ~= c t0 0 1 0 2 + c t6 0 1 0 2 - ((c t0 0 0 0 3 + c t0 0 0 1 2)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79.
+prop_c1011_identity :: Cube -> Bool
+prop_c1011_identity cube =
+ c t0 1 0 1 1 ~= c t0 0 1 1 1 + c t6 0 1 1 1 - ((c t0 0 0 1 2 + c t0 0 0 2 1)/ 2)
+ where
+ t0 = tetrahedron0 cube
+ t6 = tetrahedron6 cube
+
+
-- | Given in Sorokina and Zeilfelder, p. 78.
-- prop_cijk1_identity :: Cube -> Bool