Interface Re<Name, SeqSortRef>

Regular expression expression

interface Re<
    Name extends string = "main",
    SeqSortRef extends SeqSort<Name> = SeqSort<Name>,
> {
    ctx: Context<Name>;
    get ast(): Z3_ast;
    get sort(): S;
    arg(i: number): AnyExpr<Name>;
    children(): AnyExpr<Name>[];
    complement(): Re<Name, SeqSortRef>;
    concat(other: Re<Name, SeqSortRef>): Re<Name, SeqSortRef>;
    decl(): FuncDecl<Name, Sort<Name>[], Sort<Name>>;
    diff(other: Re<Name, SeqSortRef>): Re<Name, SeqSortRef>;
    eq(other: CoercibleToExpr<Name>): Bool<Name>;
    eqIdentity(other: Ast<Name, unknown>): boolean;
    hash(): number;
    id(): number;
    intersect(other: Re<Name, SeqSortRef>): Re<Name, SeqSortRef>;
    loop(lo: number, hi?: number): Re<Name, SeqSortRef>;
    name(): string | number;
    neq(other: CoercibleToExpr<Name>): Bool<Name>;
    neqIdentity(other: Ast<Name, unknown>): boolean;
    numArgs(): number;
    option(): Re<Name, SeqSortRef>;
    params(): (
        | string
        | number
        | Sort<Name>
        | Expr<Name, AnySort<Name>, unknown>
        | FuncDecl<Name, Sort<Name>[], Sort<Name>>
    )[];
    plus(): Re<Name, SeqSortRef>;
    power(n: number): Re<Name, SeqSortRef>;
    sexpr(): string;
    star(): Re<Name, SeqSortRef>;
    union(other: Re<Name, SeqSortRef>): Re<Name, SeqSortRef>;
}

Type Parameters

Hierarchy (View Summary)

Operations

Other