|
1 | 1 | ############################################################################# |
2 | 2 | ## |
3 | 3 | #W standard/prop.tst |
4 | | -#Y Copyright (C) 2014-17 James D. Mitchell |
| 4 | +#Y Copyright (C) 2014-21 James D. Mitchell |
5 | 5 | ## Wilf A. Wilson |
6 | 6 | ## |
7 | 7 | ## Licensing information can be found in the README file of this package. |
@@ -139,7 +139,7 @@ gap> gr := Digraph([[1]]);; |
139 | 139 | gap> DigraphHasLoops(gr); |
140 | 140 | true |
141 | 141 | gap> HasIsAcyclicDigraph(gr); |
142 | | -false |
| 142 | +true |
143 | 143 | gap> IsAcyclicDigraph(gr); |
144 | 144 | false |
145 | 145 | gap> gr := Digraph([[2], []]); |
@@ -1572,6 +1572,196 @@ false |
1572 | 1572 | gap> IsNonemptyDigraph(Digraph([[], [3], []])); |
1573 | 1573 | true |
1574 | 1574 |
|
| 1575 | +# Implications that something is false |
| 1576 | +# DigraphHasLoops |
| 1577 | +gap> D := Digraph([[2], [], [2]]);; |
| 1578 | +gap> SetIsAcyclicDigraph(D, true); |
| 1579 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1580 | +true |
| 1581 | + |
| 1582 | +# |
| 1583 | +gap> D := Digraph([[2], []]);; |
| 1584 | +gap> SetIsTournament(D, true); |
| 1585 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1586 | +true |
| 1587 | + |
| 1588 | +# |
| 1589 | +gap> D := Digraph([[2], [1, 3, 4], [2], [2], [6], [5]]);; |
| 1590 | +gap> SetIsUndirectedForest(D, true); |
| 1591 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1592 | +true |
| 1593 | + |
| 1594 | +# |
| 1595 | +gap> D := Digraph([[3], [1, 4], [], []]);; |
| 1596 | +gap> SetIsDirectedTree(D, true); |
| 1597 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1598 | +true |
| 1599 | + |
| 1600 | +# |
| 1601 | +gap> D := Digraph([[], []]);; |
| 1602 | +gap> SetIsEmptyDigraph(D, true); |
| 1603 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1604 | +true |
| 1605 | + |
| 1606 | +# |
| 1607 | +gap> D := Digraph([[2, 3], [1, 3], [1, 2]]);; |
| 1608 | +gap> SetIsCompleteDigraph(D, true); |
| 1609 | +gap> SetIsNonemptyDigraph(D, true); |
| 1610 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1611 | +true |
| 1612 | + |
| 1613 | +# |
| 1614 | +gap> D := Digraph([[2], []]);; |
| 1615 | +gap> SetIsBipartiteDigraph(D, true); |
| 1616 | +gap> HasDigraphHasLoops(D) and not DigraphHasLoops(D); |
| 1617 | +true |
| 1618 | + |
| 1619 | +# IsAcyclicDigraph |
| 1620 | +gap> D := Digraph([[2], [1]]);; |
| 1621 | +gap> SetIsCompleteDigraph(D, true); |
| 1622 | +gap> SetIsNonemptyDigraph(D, true); |
| 1623 | +gap> HasIsAcyclicDigraph(D) and not IsAcyclicDigraph(D); |
| 1624 | +true |
| 1625 | + |
| 1626 | +# |
| 1627 | +gap> D := Digraph([[2, 3], [2], [2]]);; |
| 1628 | +gap> SetDigraphHasLoops(D, true); |
| 1629 | +gap> HasIsAcyclicDigraph(D) and not IsAcyclicDigraph(D); |
| 1630 | +true |
| 1631 | + |
| 1632 | +# |
| 1633 | +gap> D := Digraph([[3], [1], [2]]);; |
| 1634 | +gap> SetIsStronglyConnectedDigraph(D, true); |
| 1635 | +gap> SetIsNonemptyDigraph(D, true); |
| 1636 | +gap> HasIsAcyclicDigraph(D) and not IsAcyclicDigraph(D); |
| 1637 | +true |
| 1638 | + |
| 1639 | +# Other |
| 1640 | +gap> D := Digraph([[], []]);; |
| 1641 | +gap> SetIsEmptyDigraph(D, true); |
| 1642 | +gap> HasIsNonemptyDigraph(D) and not IsNonemptyDigraph(D); |
| 1643 | +true |
| 1644 | + |
| 1645 | +# |
| 1646 | +gap> D := Digraph([[], [1]]);; |
| 1647 | +gap> SetIsNonemptyDigraph(D, true); |
| 1648 | +gap> HasIsEmptyDigraph(D) and not IsEmptyDigraph(D); |
| 1649 | +true |
| 1650 | + |
| 1651 | +# |
| 1652 | +gap> D := Digraph([]);; |
| 1653 | +gap> SetDigraphHasNoVertices(D, true); |
| 1654 | +gap> HasDigraphHasAVertex(D) and not DigraphHasAVertex(D); |
| 1655 | +true |
| 1656 | + |
| 1657 | +# |
| 1658 | +gap> D := Digraph([[]]);; |
| 1659 | +gap> SetDigraphHasAVertex(D, true); |
| 1660 | +gap> HasDigraphHasNoVertices(D) and not DigraphHasNoVertices(D); |
| 1661 | +true |
| 1662 | + |
| 1663 | +# |
| 1664 | +gap> D := Digraph([[2], [1]]);; |
| 1665 | +gap> SetIsCompleteDigraph(D, true); |
| 1666 | +gap> SetIsNonemptyDigraph(D, true); |
| 1667 | +gap> HasIsAntisymmetricDigraph(D) and not IsAntisymmetricDigraph(D); |
| 1668 | +true |
| 1669 | + |
| 1670 | +# |
| 1671 | +gap> D := Digraph([[2], [3], [3]]);; |
| 1672 | +gap> SetDigraphHasLoops(D, true); |
| 1673 | +gap> HasIsChainDigraph(D) and not IsChainDigraph(D); |
| 1674 | +true |
| 1675 | + |
| 1676 | +# |
| 1677 | +gap> D := Digraph([[2, 3], [1], [1, 4], [3]]);; |
| 1678 | +gap> SetIsSymmetricDigraph(D, true); |
| 1679 | +gap> SetIsNonemptyDigraph(D, true); |
| 1680 | +gap> HasIsChainDigraph(D) and not IsChainDigraph(D); |
| 1681 | +true |
| 1682 | + |
| 1683 | +# |
| 1684 | +gap> D := Digraph([[2], [3], [3]]);; |
| 1685 | +gap> SetDigraphHasLoops(D, true); |
| 1686 | +gap> HasIsCompleteDigraph(D) and not IsCompleteDigraph(D); |
| 1687 | +true |
| 1688 | + |
| 1689 | +# |
| 1690 | +gap> D := Digraph([[2], [5], [], [5], [6], []]);; |
| 1691 | +gap> SetIsAcyclicDigraph(D, true); |
| 1692 | +gap> SetDigraphHasAVertex(D, true); |
| 1693 | +gap> HasIsReflexiveDigraph(D) and not IsReflexiveDigraph(D); |
| 1694 | +true |
| 1695 | + |
| 1696 | +# IsSymmetricDigraph |
| 1697 | +gap> D := Digraph([[3], [], [2]]);; |
| 1698 | +gap> SetIsAcyclicDigraph(D, true); |
| 1699 | +gap> SetIsNonemptyDigraph(D, true); |
| 1700 | +gap> HasIsSymmetricDigraph(D) and not IsSymmetricDigraph(D); |
| 1701 | +true |
| 1702 | + |
| 1703 | +# |
| 1704 | +gap> D := Digraph([[3], [], [2]]);; |
| 1705 | +gap> SetIsDirectedTree(D, true); |
| 1706 | +gap> SetIsNonemptyDigraph(D, true); |
| 1707 | +gap> HasIsSymmetricDigraph(D) and not IsSymmetricDigraph(D); |
| 1708 | +true |
| 1709 | + |
| 1710 | +# |
| 1711 | +gap> D := Digraph([[3], [1], [2]]);; |
| 1712 | +gap> SetIsTournament(D, true); |
| 1713 | +gap> SetIsNonemptyDigraph(D, true); |
| 1714 | +gap> HasIsSymmetricDigraph(D) and not IsSymmetricDigraph(D); |
| 1715 | +true |
| 1716 | + |
| 1717 | +# IsMultiDigraph |
| 1718 | +gap> D := Digraph([[2], [3], [4], []]);; |
| 1719 | +gap> SetIsChainDigraph(D, true); |
| 1720 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1721 | +true |
| 1722 | + |
| 1723 | +# |
| 1724 | +gap> D := Digraph([[2, 3], [3, 1], [2, 1]]);; |
| 1725 | +gap> SetIsCompleteDigraph(D, true); |
| 1726 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1727 | +true |
| 1728 | + |
| 1729 | +# |
| 1730 | +gap> D := Digraph([[2, 3], [3, 1], [2, 1]]);; |
| 1731 | +gap> SetIsCompleteMultipartiteDigraph(D, true); |
| 1732 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1733 | +true |
| 1734 | + |
| 1735 | +# |
| 1736 | +gap> D := Digraph([[2], [1]]);; |
| 1737 | +gap> SetIsCycleDigraph(D, true); |
| 1738 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1739 | +true |
| 1740 | + |
| 1741 | +# |
| 1742 | +gap> D := Digraph([[], []]);; |
| 1743 | +gap> SetIsEmptyDigraph(D, true); |
| 1744 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1745 | +true |
| 1746 | + |
| 1747 | +# |
| 1748 | +gap> D := Digraph([[3], [2], [3], [1]]);; |
| 1749 | +gap> SetIsFunctionalDigraph(D, true); |
| 1750 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1751 | +true |
| 1752 | + |
| 1753 | +# |
| 1754 | +gap> D := Digraph([[3], [1], [2]]);; |
| 1755 | +gap> SetIsTournament(D, true); |
| 1756 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1757 | +true |
| 1758 | + |
| 1759 | +# |
| 1760 | +gap> D := Digraph([[2], [1, 3, 4], [2], [2], [6], [5]]);; |
| 1761 | +gap> SetIsUndirectedForest(D, true); |
| 1762 | +gap> HasIsMultiDigraph(D) and not IsMultiDigraph(D); |
| 1763 | +true |
| 1764 | + |
1575 | 1765 | # DIGRAPHS_UnbindVariables |
1576 | 1766 | gap> Unbind(adj); |
1577 | 1767 | gap> Unbind(circuit); |
|
0 commit comments