@informalsystems/quint
Version:
Core tool for the Quint specification language
22 lines (21 loc) • 1.58 kB
TypeScript
/**
* 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[]>;