Compendium of Predicates
  • 🌐Orientation
    • ⭐Welcome
    • ✒️Notation
    • 😅An Example
  • 🧰Definitions
    • Relation Taxonomy
    • Order Taxonomy
    • Algebra
      • Magma
      • Semigroup
      • Monoid
      • Group
      • Ringoid
      • Semiring
      • Ring
      • Unit Ring
      • Boolean Ring
      • Boolean Group
    • Bandler and Kohout Products of Relations
    • Closed
    • Complement
    • De Baets and Kerre Products of Relations
    • Extremal Elements
    • Galois Connection
    • Images of a set under a relation
    • Indexed Union and Intersection
    • Monoidal Preorder
    • Monotone Map
    • Natural Projection
    • Non-Preservation of Extrema
    • Over and Under
    • Power Set
    • Preorder
    • Preservation of Extrema
    • Product
    • Relation Inclusion
    • Row Constant Relations
    • Semilattice
    • Set Inclusion
    • Symmetric Monoidal Preorder
    • Upper Set
  • 🔬Checks
    • 🎙️A few words about the checks
    • Indirect Equality and Inclusion
    • Below
    • Extremal Elements
    • Relation Division
    • Algebra
      • Ring
      • Boolean Ring
      • Boolean Group
Powered by GitBook
On this page
  1. Checks

A few words about the checks

There is a price to pay for writing independent predicates

It is important to remember that a finite scope may not be sufficient to determine the validity of an assertion. When creating a model of a software system, expanding the scope may increase our confidence in the validity of an assertion. However, Alloy is not capable of confirming the validity of an assertion. This becomes a more significant issue when using Alloy to encode mathematics, as in this library.

It is important to remember that Alloy is not a theorem prover. The predicates can run without declaring signatures and facts, which is convenient for quickly visualising the meaning of predicates. However, writing Alloy this way requires us to be more careful when writing our checks. We must provide the context for a check as an antecedent. Usually, the context is supplied by the declared signatures and facts. We may check meaningless assertions if we overlook an essential constraint upon which a predicate relies. Nevertheless, this is a small price for the flexibility a library of independent predicates provides us.

My approach is transcribing a mathematical definition into an Alloy predicate and writing checks based on the corresponding theory. This is an activity that takes much time and mental effort. It is an ongoing effort.

You can be sure of this: the only checks I include here are those that run successfully.

PreviousUpper SetNextIndirect Equality and Inclusion

Last updated 1 year ago

🔬
🎙️