Interface Fixedpoint<Name>

interface Fixedpoint<Name extends string = "main"> {
    ctx: Context<Name>;
    ptr: Z3_fixedpoint;
    add(...constraints: Bool<Name>[]): void;
    addCover(
        level: number,
        pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>,
        property: Expr<Name, AnySort<Name>, unknown>,
    ): void;
    addFact(
        pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>,
        ...args: number[],
    ): void;
    addRule(rule: Bool<Name>, name?: string): void;
    fromFile(file: string): AstVector<Name, Bool<Name>>;
    fromString(s: string): AstVector<Name, Bool<Name>>;
    getAnswer(): null | Expr<Name, AnySort<Name>, unknown>;
    getAssertions(): AstVector<Name, Bool<Name>>;
    getCoverDelta(
        level: number,
        pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>,
    ): null | Expr<Name, AnySort<Name>, unknown>;
    getNumLevels(pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>): number;
    getReasonUnknown(): string;
    getRules(): AstVector<Name, Bool<Name>>;
    help(): string;
    query(query: Bool<Name>): Promise<CheckSatResult>;
    queryRelations(
        ...relations: FuncDecl<Name, Sort<Name>[], Sort<Name>>[],
    ): Promise<CheckSatResult>;
    registerRelation(pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>): void;
    release(): void;
    set(key: string, value: any): void;
    setPredicateRepresentation(
        pred: FuncDecl<Name, Sort<Name>[], Sort<Name>>,
        kinds: string[],
    ): void;
    statistics(): Statistics<Name>;
    toString(): string;
    updateRule(rule: Bool<Name>, name: string): void;
}

Type Parameters

  • Name extends string = "main"

Properties

ptr: Z3_fixedpoint

Methods

  • Add a rule (Horn clause) to the fixedpoint solver.

    Parameters

    • rule: Bool<Name>

      The rule as a Boolean expression (implication)

    • Optionalname: string

      Optional name for the rule

    Returns void

  • Retrieve the answer (satisfying instance or proof of unsatisfiability) from the last query.

    Returns null | Expr<Name, AnySort<Name>, unknown>

    Expression containing the answer, or null if not available

  • Retrieve the reason why the fixedpoint engine returned 'unknown'.

    Returns string

    A string explaining why the result was unknown

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

    Returns void

  • Set a configuration option for the fixedpoint solver.

    Parameters

    • key: string

      Configuration parameter name

    • value: any

      Configuration parameter value

    Returns void

  • Convert the fixedpoint context to a string.

    Returns string

    String representation of the fixedpoint context

  • Update a named rule in the fixedpoint solver.

    Parameters

    • rule: Bool<Name>

      The rule as a Boolean expression (implication)

    • name: string

      Name of the rule to update

    Returns void