Classes

The following classes are available globally.

  • The abstract syntax tree (AST) class for Expression syntaxes.

    See more

    Declaration

    Swift

    public class AnyZ3Ast : Z3AstBase
  • An expression abstract syntax tree (AST) class that is typed with a sort to allow for compile-time static type checking of expressions.

    See more

    Declaration

    Swift

    public class Z3Ast<T> : AnyZ3Ast where T : SortKind
  • An algebraic number that can be used in the Z3 real algebraic number package.

    See more

    Declaration

    Swift

    public class Z3Algebraic : AnyZ3Ast
  • A numeral value belonging to a specific finite domain.

    See more

    Declaration

    Swift

    public class Z3FiniteDomainNumeral : AnyZ3Ast
  • An AST class for Z3 regular expression sorts with a given base element sort.

    See more

    Declaration

    Swift

    public class Z3RegularExp<Element> : AnyZ3Ast where Element : SortKind
  • An AST class for Z3 sequence sorts with a given base element sort.

    See more

    Declaration

    Swift

    public class Z3Seq<Element> : AnyZ3Ast where Element : SortKind
  • A named finite domain.

    See more

    Declaration

    Swift

    public class Z3FiniteDomainSort : Z3Sort
  • A function declaration node.

    See more

    Declaration

    Swift

    public class Z3FuncDecl : Z3AstBase
  • Kind of AST used to represent pattern and multi-patterns used to guide quantifier instantiation.

    See more

    Declaration

    Swift

    public class Z3Pattern : Z3AstBase
  • Declaration

    Swift

    public class Z3Sort : Z3AstBase
    extension Z3Sort: Equatable
    extension Z3Sort: CustomStringConvertible
  • Z3ApplyResult objects represent the result of an application of a tactic to a goal. It contains the subgoals that were produced.

    See more

    Declaration

    Swift

    public class Z3ApplyResult : Z3RefCountedObject
  • Abstract syntax tree node. That is, the data-structure used in Z3 to represent terms, formulas and types. Base class for Z3Sort, Z3FuncDecl, Z3Pattern, and AnyZ3Ast.

    See more

    Declaration

    Swift

    public class Z3AstBase : Z3RefCountedObject
  • Map of Z3AstBase objects.

    See more

    Declaration

    Swift

    public class Z3AstMap : Z3RefCountedObject
    extension Z3AstMap: Sequence
  • Vector of Z3AstBase objects.

    See more

    Declaration

    Swift

    public class Z3AstVector : Z3RefCountedObject
    extension Z3AstVector: Sequence
  • A configuration object for the Z3 context object.

    Configurations are created in order to assign parameters prior to creating contexts for Z3 interaction. For example, if the users wishes to use proof generation, then call:

    Z3Config.setParameter("proof", "true")

    Remark

    In previous versions of Z3, the Z3_config was used to store global and module configurations. Now, we should use Z3GlobalParameters.setParameter(id:value:).

    The following parameters can be set:

    • proof: (Boolean) Enable proof generation
    • debug_ref_count: (Boolean) Enable debug support for Z3_ast reference counting
    • trace: (Boolean) Tracing support for VCC
    • trace_file_name: (String) Trace out file for VCC traces
    • timeout: (unsigned) default timeout (in milliseconds) used for solvers
    • well_sorted_check: type checker
    • auto_config: use heuristics to automatically select solver and configure it
    • model: model generation for solvers, this parameter can be overwritten when creating a solver
    • model_validate: validate models produced by solvers
    • unsat_core: unsat-core generation for solvers, this parameter can be overwritten when creating a solver
    • encoding: the string encoding used internally (must be either “unicode” - 18 bit, “bmp” - 16 bit or “ascii” - 8 bit)
    See more

    Declaration

    Swift

    public class Z3Config
  • Type constructor for a (recursive) datatype.

    See more

    Declaration

    Swift

    public class Z3Constructor
  • List of constructors for a (recursive) datatype.

    See more

    Declaration

    Swift

    public class Z3ConstructorList
  • Main interaction point to Z3.

    See more

    Declaration

    Swift

    public class Z3Context
  • Context for the recursive predicate solver.

    See more

    Declaration

    Swift

    public class Z3FixedPoint : Z3RefCountedObject
  • Set of formulas that can be solved and/or transformed using tactics and solvers.

    See more

    Declaration

    Swift

    public class Z3Goal : Z3RefCountedObject
  • Model for the constraints asserted into the logical context.

    See more

    Declaration

    Swift

    public class Z3Model : Z3RefCountedObject
  • Object for managing optimization context.

    See more

    Declaration

    Swift

    public class Z3Optimize : Z3RefCountedObject
  • Provides a collection of parameter names, their types, default values and documentation strings. Solvers, tactics, and other objects accept different collection of parameters.

    See more

    Declaration

    Swift

    public class Z3ParamDescrs : Z3RefCountedObject
  • Parameter set used to configure many components such as: simplifiers, tactics, solvers, etc.

    See more

    Declaration

    Swift

    public class Z3Params : Z3RefCountedObject
  • Context for incrementally parsing strings. Declarations can be added incrementally to the parser state.

    See more

    Declaration

    Swift

    public class Z3ParserContext : Z3RefCountedObject
  • A class describing a probe in Z3. Probes are used to inspect a goal (aka problem) and collect information that may be used to decide which solver and/or preprocessing step will be used.

    See more

    Declaration

    Swift

    public class Z3Probe : Z3RefCountedObject
  • Base class for Z3 objects that support reference counting.

    Declaration

    Swift

    public class Z3RefCountedObject
  • Incremental solver, possibly specialized by a particular tactic or logic.

    See more

    Declaration

    Swift

    public class Z3Solver : Z3RefCountedObject
  • Provides statistical data for a solver.

    See more

    Declaration

    Swift

    public class Z3Stats : Z3RefCountedObject
  • Lisp-like symbol used to name types, constants, and functions. A symbol can be created using string or integers.

    See more

    Declaration

    Swift

    public class Z3Symbol
  • Basic building block for creating custom solvers for specific problem domains.

    See more

    Declaration

    Swift

    public class Z3Tactic : Z3RefCountedObject