t1 = head $ tail (tetrahedra cube)
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron0_volumes_positive :: Cube -> Bool
-prop_tetrahedron0_volumes_positive cube =
- volume (tetrahedron0 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron1_volumes_positive :: Cube -> Bool
-prop_tetrahedron1_volumes_positive cube =
- volume (tetrahedron1 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron2_volumes_positive :: Cube -> Bool
-prop_tetrahedron2_volumes_positive cube =
- volume (tetrahedron2 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron3_volumes_positive :: Cube -> Bool
-prop_tetrahedron3_volumes_positive cube =
- volume (tetrahedron3 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron4_volumes_positive :: Cube -> Bool
-prop_tetrahedron4_volumes_positive cube =
- volume (tetrahedron4 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron5_volumes_positive :: Cube -> Bool
-prop_tetrahedron5_volumes_positive cube =
- volume (tetrahedron5 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron6_volumes_positive :: Cube -> Bool
-prop_tetrahedron6_volumes_positive cube =
- volume (tetrahedron6 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron7_volumes_positive :: Cube -> Bool
-prop_tetrahedron7_volumes_positive cube =
- volume (tetrahedron7 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron8_volumes_positive :: Cube -> Bool
-prop_tetrahedron8_volumes_positive cube =
- volume (tetrahedron8 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron9_volumes_positive :: Cube -> Bool
-prop_tetrahedron9_volumes_positive cube =
- volume (tetrahedron9 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron10_volumes_positive :: Cube -> Bool
-prop_tetrahedron10_volumes_positive cube =
- volume (tetrahedron10 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron11_volumes_positive :: Cube -> Bool
-prop_tetrahedron11_volumes_positive cube =
- volume (tetrahedron11 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron12_volumes_positive :: Cube -> Bool
-prop_tetrahedron12_volumes_positive cube =
- volume (tetrahedron12 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron13_volumes_positive :: Cube -> Bool
-prop_tetrahedron13_volumes_positive cube =
- volume (tetrahedron13 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron14_volumes_positive :: Cube -> Bool
-prop_tetrahedron14_volumes_positive cube =
- volume (tetrahedron14 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron15_volumes_positive :: Cube -> Bool
-prop_tetrahedron15_volumes_positive cube =
- volume (tetrahedron15 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron16_volumes_positive :: Cube -> Bool
-prop_tetrahedron16_volumes_positive cube =
- volume (tetrahedron16 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron17_volumes_positive :: Cube -> Bool
-prop_tetrahedron17_volumes_positive cube =
- volume (tetrahedron17 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron18_volumes_positive :: Cube -> Bool
-prop_tetrahedron18_volumes_positive cube =
- volume (tetrahedron18 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron19_volumes_positive :: Cube -> Bool
-prop_tetrahedron19_volumes_positive cube =
- volume (tetrahedron19 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron20_volumes_positive :: Cube -> Bool
-prop_tetrahedron20_volumes_positive cube =
- volume (tetrahedron20 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron21_volumes_positive :: Cube -> Bool
-prop_tetrahedron21_volumes_positive cube =
- volume (tetrahedron21 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron22_volumes_positive :: Cube -> Bool
-prop_tetrahedron22_volumes_positive cube =
- volume (tetrahedron22 cube) > 0
-
--- | This pretty much repeats the prop_all_volumes_positive property,
--- but will let me know which tetrahedrons's vertices are disoriented.
-prop_tetrahedron23_volumes_positive :: Cube -> Bool
-prop_tetrahedron23_volumes_positive cube =
- volume (tetrahedron23 cube) > 0
-
-
-- | Given in Sorokina and Zeilfelder, p. 79, (2.6). Note that the
-- third and fourth indices of c-t1 have been switched. This is
-- because we store the triangles oriented such that their volume is
testGroup "Cube Properties" [
tp "all volumes positive" prop_all_volumes_positive,
tp "all volumes exact" prop_all_volumes_exact,
- tp "tetrahedron0 volumes positive" prop_tetrahedron0_volumes_positive,
- tp "tetrahedron1 volumes positive" prop_tetrahedron1_volumes_positive,
- tp "tetrahedron2 volumes positive" prop_tetrahedron2_volumes_positive,
- tp "tetrahedron3 volumes positive" prop_tetrahedron3_volumes_positive,
- tp "tetrahedron4 volumes positive" prop_tetrahedron4_volumes_positive,
- tp "tetrahedron5 volumes positive" prop_tetrahedron5_volumes_positive,
- tp "tetrahedron6 volumes positive" prop_tetrahedron6_volumes_positive,
- tp "tetrahedron7 volumes positive" prop_tetrahedron7_volumes_positive,
- tp "tetrahedron8 volumes positive" prop_tetrahedron8_volumes_positive,
- tp "tetrahedron9 volumes positive" prop_tetrahedron9_volumes_positive,
- tp "tetrahedron10 volumes positive" prop_tetrahedron10_volumes_positive,
- tp "tetrahedron11 volumes positive" prop_tetrahedron11_volumes_positive,
- tp "tetrahedron12 volumes positive" prop_tetrahedron12_volumes_positive,
- tp "tetrahedron13 volumes positive" prop_tetrahedron13_volumes_positive,
- tp "tetrahedron14 volumes positive" prop_tetrahedron14_volumes_positive,
- tp "tetrahedron15 volumes positive" prop_tetrahedron15_volumes_positive,
- tp "tetrahedron16 volumes positive" prop_tetrahedron16_volumes_positive,
- tp "tetrahedron17 volumes positive" prop_tetrahedron17_volumes_positive,
- tp "tetrahedron18 volumes positive" prop_tetrahedron18_volumes_positive,
- tp "tetrahedron19 volumes positive" prop_tetrahedron19_volumes_positive,
- tp "tetrahedron20 volumes positive" prop_tetrahedron20_volumes_positive,
- tp "tetrahedron21 volumes positive" prop_tetrahedron21_volumes_positive,
- tp "tetrahedron22 volumes positive" prop_tetrahedron22_volumes_positive,
- tp "tetrahedron23 volumes positive" prop_tetrahedron23_volumes_positive,
tp "v0 all equal" prop_v0_all_equal,
tp "interior values all identical" prop_interior_values_all_identical,
tp "c-tilde_2100 rotation correct" prop_c_tilde_2100_rotation_correct,