@informalsystems/quint
Version:
Core tool for the Quint specification language
25 lines (24 loc) • 649 B
TypeScript
import { Row } from '../ir/quintTypes';
import { TypeScheme } from './base';
/**
* Simplifies a type scheme by flattening all type rows.
*
* A row like `{ a: int | { b: bool | r } }` becomes
* `{ a: int, b: bool | r }`.
*
* @param typeScheme - The type scheme to be simplified
*
* @returns The simplified type scheme
*/
export declare function simplify(typeScheme: TypeScheme): TypeScheme;
/**
* Simplifies a row type.
*
* A row like `{ a: int | { b: bool | r } }` becomes
* `{ a: int, b: bool | r }`.
*
* @param row - The row to be simplified
*
* @returns The simplified row
*/
export declare function simplifyRow(row: Row): Row;