Documentation

Cvc.Untyped.Theory.Set

Generated Set constructors, sort-erased #

def Cvc.Untyped.Term.setUnionN [Ω] (terms : Terms) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

setUnion over two or more terms.

Equations
Instances For

    Inserts elm into s; the element comes first, as in cvc5.

    Equations
    Instances For

      The empty set of elements of sort α.

      Equations
      Instances For

        Whether elm is in s; the element comes first, as in cvc5.

        Equations
        Instances For

          Set intersection.

          Equations
          Instances For

            The image of a set under a function.

            Equations
            Instances For

              Whether every element of a set satisfies a predicate.

              Equations
              Instances For

                The set of every element of sort α.

                Equations
                Instances For

                  The singleton set containing one element.

                  Equations
                  Instances For

                    The elements of a set satisfying a predicate.

                    Equations
                    Instances For

                      Folds f over the elements of s from init, in no specified order.

                      Equations
                      Instances For
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Whether s is empty.

                              Equations
                              Instances For

                                Whether lft is a subset of rgt.

                                Equations
                                Instances For

                                  An unspecified element of a non-empty set.

                                  Equations
                                  Instances For

                                    Set difference.

                                    Equations
                                    Instances For

                                      Set union.

                                      Equations
                                      Instances For
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          def Cvc.Untyped.Term.setMinusN [Ω] (terms : Terms) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

                                          setMinus over two or more terms.

                                          Equations
                                          Instances For

                                            Set complement, relative to the universe set of the element sort.

                                            Equations
                                            Instances For
                                              def Cvc.Untyped.Term.setInterN [Ω] (terms : Terms) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

                                              setInter over two or more terms.

                                              Equations
                                              Instances For

                                                Whether s has exactly one element.

                                                Equations
                                                Instances For
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For

                                                    Whether some element of a set satisfies a predicate.

                                                    Equations
                                                    Instances For
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For

                                                          Cardinality.

                                                          Equations
                                                          Instances For
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For

                                                              Set's operators, taken apart one level, sort-erased.

                                                              • setMember [Ω] (elm s : Term) : View.Set

                                                                Whether elm is in s; the element comes first, as in cvc5.

                                                              • setSubset [Ω] (lft rgt : Term) : View.Set

                                                                Whether lft is a subset of rgt.

                                                              • setIsEmpty [Ω] (s : Term) : View.Set

                                                                Whether s is empty.

                                                              • setIsSingleton [Ω] (s : Term) : View.Set

                                                                Whether s has exactly one element.

                                                              • setSingleton [Ω] (elm : Term) : View.Set

                                                                The singleton set containing one element.

                                                              • setInsert [Ω] (elm s : Term) : View.Set

                                                                Inserts elm into s; the element comes first, as in cvc5.

                                                              • setUnion [Ω] (kids : Kids) : View.Set

                                                                Set union.

                                                                kids holds every operand, two or more.

                                                              • setInter [Ω] (kids : Kids) : View.Set

                                                                Set intersection.

                                                                kids holds every operand, two or more.

                                                              • setMinus [Ω] (kids : Kids) : View.Set

                                                                Set difference.

                                                                kids holds every operand, two or more.

                                                              • setComplement [Ω] (s : Term) : View.Set

                                                                Set complement, relative to the universe set of the element sort.

                                                              • setCard [Ω] (s : Term) : View.Set

                                                                Cardinality.

                                                              • setChoose [Ω] (s : Term) : View.Set

                                                                An unspecified element of a non-empty set.

                                                              • setMap [Ω] (f s : Term) : View.Set

                                                                The image of a set under a function.

                                                              • setFilter [Ω] (p s : Term) : View.Set

                                                                The elements of a set satisfying a predicate.

                                                              • setFold [Ω] (f init s : Term) : View.Set

                                                                Folds f over the elements of s from init, in no specified order.

                                                              • setAll [Ω] (p s : Term) : View.Set

                                                                Whether every element of a set satisfies a predicate.

                                                              • setSome [Ω] (p s : Term) : View.Set

                                                                Whether some element of a set satisfies a predicate.

                                                              • setEmpty [Ω] : View.Set

                                                                The empty set of elements of sort α.

                                                              • setUniverse [Ω] : View.Set

                                                                The set of every element of sort α.

                                                              Instances For

                                                                Takes a term apart one level, if Set owns its operator.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  Values #

                                                                  A Cvc.Set denotes an SMT set: the empty set, with each element inserted.

                                                                  Whether a term is a set value: a canonical union of singletons of values, as a model answers.

                                                                  A set built from constructors is generally not one, and the universe set never is.

                                                                  Equations
                                                                  Instances For

                                                                    The elements a constant set term denotes.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      def Cvc.Untyped.Term.mkSetValue {α : Type} [Ω] [Ord α] [ToTyp α] [ValueToTerm α] (set : Set α) :

                                                                      The set term denoting a set of values.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        def Cvc.Untyped.Term.getSetValue {α : Type} [Ω] [Ord α] [TermToValue α] (term : Term) :
                                                                        Env (Set α)

                                                                        The set of values a constant set term denotes.

                                                                        Equations
                                                                        Instances For
                                                                          @[instance_reducible]
                                                                          Equations
                                                                          @[instance_reducible]
                                                                          Equations

                                                                          Comprehension #

                                                                          { elem | bvs. pred }, a set built by binding variables. cvc5 supports it only under sets-exp, and its reasoning about one is incomplete: even a membership in a finite comprehension can come back unknown.

                                                                          def Cvc.Untyped.Term.setComprehension [Ω] (bvs : BVars) (pred elem : Term) (_nonEmpty : 0 < Array.size bvs := by (try grind) <;> fail "failed to prove a comprehension binds at least one variable") :

                                                                          The set of the values elem takes, over the bindings of bvs that satisfy pred.

                                                                          Equations
                                                                          Instances For