Interface Seq<Name, ElemSort>

Sequence expression (includes strings)

interface Seq<
    Name extends string = "main",
    ElemSort extends Sort<Name> = Sort<Name>,
> {
    ctx: Context<Name>;
    get ast(): Z3_ast;
    get sort(): S;
    arg(i: number): AnyExpr<Name>;
    asString(): string;
    at(index: number | bigint | Arith<Name>): Seq<Name, ElemSort>;
    children(): AnyExpr<Name>[];
    concat(other: string | Seq<Name, ElemSort>): Seq<Name, ElemSort>;
    contains(substr: string | Seq<Name, ElemSort>): Bool<Name>;
    decl(): FuncDecl<Name, Sort<Name>[], Sort<Name>>;
    eq(other: CoercibleToExpr<Name>): Bool<Name>;
    eqIdentity(other: Ast<Name, unknown>): boolean;
    extract(
        offset: number | bigint | Arith<Name>,
        length: number | bigint | Arith<Name>,
    ): Seq<Name, ElemSort>;
    hash(): number;
    id(): number;
    indexOf(
        substr: string | Seq<Name, ElemSort>,
        offset?: number | bigint | Arith<Name>,
    ): Arith<Name>;
    isString(): boolean;
    lastIndexOf(substr: string | Seq<Name, ElemSort>): Arith<Name>;
    length(): Arith<Name>;
    name(): string | number;
    neq(other: CoercibleToExpr<Name>): Bool<Name>;
    neqIdentity(other: Ast<Name, unknown>): boolean;
    nth(
        index: number | bigint | Arith<Name>,
    ): Expr<Name, AnySort<Name>, unknown>;
    numArgs(): number;
    params(): (
        | string
        | number
        | Sort<Name>
        | Expr<Name, AnySort<Name>, unknown>
        | FuncDecl<Name, Sort<Name>[], Sort<Name>>
    )[];
    prefixOf(s: string | Seq<Name, ElemSort>): Bool<Name>;
    replace(
        src: string | Seq<Name, ElemSort>,
        dst: string | Seq<Name, ElemSort>,
    ): Seq<Name, ElemSort>;
    replaceAll(
        src: string | Seq<Name, ElemSort>,
        dst: string | Seq<Name, ElemSort>,
    ): Seq<Name, ElemSort>;
    sexpr(): string;
    suffixOf(s: string | Seq<Name, ElemSort>): Bool<Name>;
}

Type Parameters

Hierarchy (View Summary)

Operations

Other