From 99c1086f21266d316553d6f20359a95732157bd8 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Wed, 4 Sep 2024 16:58:42 -0700 Subject: [PATCH] Tweak wording about invariants --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e55c60a..442c397 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,12 @@ guarantees of any software component. It is based on three concepts: violated. Otherwise, a postcondition violation indicates a bug in the callee. -- **Invariants**: conditions that always hold at some point in the +- **Invariants**: conditions that always hold at one or more specific + points in the code. The most common kind of invariants are **class invariants**, - which hold at any point where an instance can be inspected from - outside the class, but other invariant checks (especially loop - invariants) are also useful. + which hold wherever it is valid to inspect an instance from + outside the class, but other invariantss (especially [loop + invariants](https://en.wikipedia.org/wiki/Loop_invariant)) are also useful. This library provides macros for checking preconditions (`ADOBE_PRECONDITION`) and invariants (`ADOBE_INVARIANT`).