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

Indirect Equality and Inclusion

Among the great enablers of concise reasoning

āˆ€(x,y::x=yā‰”āˆ€(z::R.z.x≔R.z.y))\forall(x,y :: x = y \equiv \forall(z :: R.z.x \equiv R.z.y))āˆ€(x,y::x=yā‰”āˆ€(z::R.z.x≔R.z.y))

Reflexiveā€…ā€ŠAā€…ā€ŠR\textbf{Reflexive} \; A \; RReflexiveAR

Antisymmetricā€…ā€ŠAā€…ā€ŠR\textbf{Antisymmetric} \; A \; RAntisymmetricAR


sig A { R: set A }

check {
  { Reflexive[A,R]
    Antisymmetric[A,R]
  } implies {
    all x,y: A | x = y iff (all z: A | z->x in R iff z->y in R)
  }
} for 10 expect 0
āˆ€(x,y::x=yā‰”āˆ€(z::R.x.z≔R.y.z))\forall(x,y :: x = y \equiv \forall(z :: R.x.z \equiv R.y.z))āˆ€(x,y::x=yā‰”āˆ€(z::R.x.z≔R.y.z))

Reflexiveā€…ā€ŠAā€…ā€ŠR\textbf{Reflexive} \; A \; RReflexiveAR

Antisymmetricā€…ā€ŠAā€…ā€ŠR\textbf{Antisymmetric} \; A \; RAntisymmetricAR


sig A { R: set A }

check {
  { Reflexive[A,R]
    Antisymmetric[A,R]
  } implies {
    all x,y: A | x = y iff (all z: A | x->z in R iff y->z in R)
  }
} for 10 expect 0
āˆ€(x,y::R.x.yā‰”āˆ€(z::R.z.x⇒R.z.y))\forall(x,y :: R.x.y \equiv \forall(z :: R.z.x \Rightarrow R.z.y))āˆ€(x,y::R.x.yā‰”āˆ€(z::R.z.x⇒R.z.y))

Reflexiveā€…ā€ŠAā€…ā€ŠR\textbf{Reflexive} \; A \; RReflexiveAR

Transitiveā€…ā€ŠAā€…ā€ŠR\textbf{Transitive} \; A \; RTransitiveAR


sig A { R: set A }

check {
  { Reflexive[A,R]
    Transitive[A,R]
  } iff {
    all x,y: A | x->y in R iff (all z: A | z->x in R implies z->y in R)
  }
} for 10 expect 0
āˆ€(x,y::R.x.yā‰”āˆ€(z::R.x.z⇐R.y.z))\forall(x,y :: R.x.y \equiv \forall(z :: R.x.z \Leftarrow R.y.z))āˆ€(x,y::R.x.yā‰”āˆ€(z::R.x.z⇐R.y.z))

Reflexiveā€…ā€ŠAā€…ā€ŠR\textbf{Reflexive} \; A \; RReflexiveAR

Transitiveā€…ā€ŠAā€…ā€ŠR\textbf{Transitive} \; A \; RTransitiveAR


sig A { R: set A }

check {
  { Reflexive[A,R]
    Transitive[A,R]
  } iff {
    all x,y: A | x->y in R iff (all z: A | y->z in R implies x->z in R)
  }
} for 10 expect 0
PreviousA few words about the checksNextBelow

Last updated 1 year ago

šŸ”¬