Interface Model<Name>

interface Model<Name extends string = "main"> {
    ctx: Context<Name>;
    ptr: Z3_model;
    "[iterator]"(): Iterator<
        FuncDecl<Name, Sort<Name>[], Sort<Name>>,
        any,
        any,
    >;
    addFuncInterp<
        DomainSort extends Sort<Name>[] = Sort<Name>[],
        RangeSort extends Sort<Name> = Sort<Name>,
    >(
        decl: FuncDecl<Name, DomainSort, RangeSort>,
        defaultValue: CoercibleToMap<SortToExprMap<RangeSort, Name>, Name>,
    ): FuncInterp<Name>;
    decls(): FuncDecl<Name, Sort<Name>[], Sort<Name>>[];
    entries(): IterableIterator<
        [number, FuncDecl<Name, Sort<Name>[], Sort<Name>>],
        any,
        any,
    >;
    eval(expr: Bool<Name>, modelCompletion?: boolean): Bool<Name>;
    eval(expr: Arith<Name>, modelCompletion?: boolean): Arith<Name>;
    eval<Bits extends number = number>(
        expr: BitVec<Bits, Name>,
        modelCompletion?: boolean,
    ): BitVecNum<Bits, Name>;
    eval(
        expr: Expr<Name, AnySort<Name>, unknown>,
        modelCompletion?: boolean,
    ): Expr<Name, AnySort<Name>, unknown>;
    get(i: number): FuncDecl<Name, Sort<Name>[], Sort<Name>>;
    get(from: number, to: number): FuncDecl<Name, Sort<Name>[], Sort<Name>>[];
    get(
        declaration: FuncDecl<Name, Sort<Name>[], Sort<Name>>,
    ): Expr<Name, AnySort<Name>, unknown> | FuncInterp<Name>;
    get(
        constant: Expr<Name, AnySort<Name>, unknown>,
    ): Expr<Name, AnySort<Name>, unknown>;
    get(sort: Sort<Name>): AstVector<Name, AnyExpr<Name>>;
    keys(): IterableIterator<number, any, any>;
    length(): number;
    release(): void;
    sexpr(): string;
    updateValue(
        decl:
            | FuncDecl<Name, Sort<Name>[], Sort<Name>>
            | Expr<Name, AnySort<Name>, unknown>,
        a: FuncInterp<Name> | Ast<Name, unknown>,
    ): void;
    values(): IterableIterator<
        FuncDecl<Name, Sort<Name>[], Sort<Name>>,
        any,
        any,
    >;
}

Type Parameters

  • Name extends string = "main"

Hierarchy

Properties

ptr: Z3_model

Methods

  • Manually decrease the reference count of the model This is automatically done when the model is garbage collected, but calling this eagerly can help release memory sooner.

    Returns void