UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

22 lines (21 loc) 1.58 kB
/** * Special constraint cases for Quint operators that we are not able to type in our system, * including record and tuple related operators * * @author Gabriela Moreira * * @module */ import { Either } from '@sweet-monads/either'; import { Error } from '../errorTree'; import { QuintEx } from '../ir/quintIr'; import { QuintType, QuintVarType } from '../ir/quintTypes'; import { Constraint } from './base'; export declare function recordConstructorConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function fieldConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function fieldNamesConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function withConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function tupleConstructorConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function itemConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function variantConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>; export declare function matchConstraints(id: bigint, args: [QuintEx, QuintType][], resultTypeVar: QuintVarType): Either<Error, Constraint[]>;