Class Lemma

  • All Implemented Interfaces:
    Comparable<Lemma>
    Direct Known Subclasses:
    InvariantLemma

    public class Lemma
    extends Object
    implements Comparable<Lemma>
    A lemma is an object that wraps a Simplify formula representing some logical statement. The only other thing it adds is a short human-readable description, suitable for debugging.

    Members of the Lemma class proper represent general theorems, which we give to Simplify as background, with hand-written descriptions.

    • Field Detail

      • lemmas

        public static Lemma[] lemmas
        All the theorems we give Simplify (without proof) to help it reason about predicates, functions, and constants that aren't built-in.
    • Method Detail

      • summarize

        public String summarize​(@GuardSatisfied Lemma this)
        Return a human-readable description.
      • invClass

        public @Nullable Class<? extends InvariantinvClass()
        If this lemma came from an invariant, get its class.
      • lemmasList

        public static List<LemmalemmasList()
        Convenience function to give you lemmas[], but as a vector.