Averest


Expressions Module

This module implements the data type of Quartz expressions together with many functions. Expressions are split into expressions having different Quartz types as well as left-hand side expressions LhsExpr that may have any type, but whose operators are restricted to those that can appear on left-hand sides of assignments. Certain operators like *Var,*Ite,*Case,*ArrAcc, and *TupAcc are defined for all types and these generate variables, if-then-else expressions, case expressions, array element access, and tuple access. The other operators should be rather self-explaining (see Module StaticEvaluation for further explanation of these operations and note that boolean lists are usually bitvector constants, radix-2 numbers or 2-complement numbers).

Types

Type Description

ArrExpr

BoolExpr

BtvExpr

Expr

IntExpr

LhsExpr

NatExpr

RealExpr

Substitution

type abbreviation for substitutions

TupExpr

Functions and values

Function or value Description

AtomsOfBoolExpr eL

Full Usage: AtomsOfBoolExpr eL

Parameters:
Returns: Set<BoolExpr>

Computes the set of atoms of a list of BoolExpr. This is required for a boolean abstraction as used by BDDs and SAT solvers like ShannonGraphs.

eL : BoolExpr list
Returns: Set<BoolExpr>

CellsOfDecl (xn, decl)

Full Usage: CellsOfDecl (xn, decl)

Parameters:
Returns: LhsExpr list

compute the cells of a declaration

xn : QName
decl : Decl
Returns: LhsExpr list

CellsOfExpr e

Full Usage: CellsOfExpr e

Parameters:
Returns: Set<LhsExpr>

e : Expr
Returns: Set<LhsExpr>

CellsOfInterface iface

Full Usage: CellsOfInterface iface

Parameters:
Returns: LhsExpr list

compute the cells of an interface

iface : (QName * Decl) list
Returns: LhsExpr list

DefaultVal qtype

Full Usage: DefaultVal qtype

Parameters:
Returns: Expr

returns a default value (e.g. used as initial value in Quartz) for a given type; for Qarr types, the default value of the base type is returned.

qtype : QType
Returns: Expr

EnumLhsOfName xn qty

Full Usage: EnumLhsOfName xn qty

Parameters:
Returns: (LhsExpr * QType) list

xn : QName
qty : QType
Returns: (LhsExpr * QType) list

FVarsArrExpr expr

Full Usage: FVarsArrExpr expr

Parameters:
Returns: Set<QName * QType>

expr : ArrExpr
Returns: Set<QName * QType>

FVarsBoolExpr expr

Full Usage: FVarsBoolExpr expr

Parameters:
Returns: Set<QName * QType>

expr : BoolExpr
Returns: Set<QName * QType>

FVarsBtvExpr expr

Full Usage: FVarsBtvExpr expr

Parameters:
Returns: Set<QName * QType>

expr : BtvExpr
Returns: Set<QName * QType>

FVarsExpr expr

Full Usage: FVarsExpr expr

Parameters:
Returns: Set<QName * QType>

expr : Expr
Returns: Set<QName * QType>

FVarsIntExpr expr

Full Usage: FVarsIntExpr expr

Parameters:
Returns: Set<QName * QType>

expr : IntExpr
Returns: Set<QName * QType>

FVarsLhsExpr lhsExpr

Full Usage: FVarsLhsExpr lhsExpr

Parameters:
Returns: Set<QName * QType>

lhsExpr : LhsExpr
Returns: Set<QName * QType>

FVarsNatExpr expr

Full Usage: FVarsNatExpr expr

Parameters:
Returns: Set<QName * QType>

expr : NatExpr
Returns: Set<QName * QType>

FVarsRealExpr expr

Full Usage: FVarsRealExpr expr

Parameters:
Returns: Set<QName * QType>

expr : RealExpr
Returns: Set<QName * QType>

FVarsTupExpr expr

Full Usage: FVarsTupExpr expr

Parameters:
Returns: Set<QName * QType>

expr : TupExpr
Returns: Set<QName * QType>

GetArr expr

Full Usage: GetArr expr

Parameters:
Returns: ArrExpr

GetArr(Earr t)=t and fails for other expressions

expr : Expr
Returns: ArrExpr

GetBool expr

Full Usage: GetBool expr

Parameters:
Returns: BoolExpr

GetBool(Ebool t)=t and fails for other expressions

expr : Expr
Returns: BoolExpr

GetBtv expr

Full Usage: GetBtv expr

Parameters:
Returns: BtvExpr

GetBtv(Ebtv t)=t and fails for other expressions

expr : Expr
Returns: BtvExpr

GetInt expr

Full Usage: GetInt expr

Parameters:
Returns: IntExpr

GetInt(Eint t)=t and fails for other expressions

expr : Expr
Returns: IntExpr

GetLhs expr

Full Usage: GetLhs expr

Parameters:
Returns: LhsExpr

GetLhs(Elhs t)=t and fails for other expressions

expr : Expr
Returns: LhsExpr

GetNat expr

Full Usage: GetNat expr

Parameters:
Returns: NatExpr

GetNat(Enat t)=t and fails for other expressions

expr : Expr
Returns: NatExpr

GetReal expr

Full Usage: GetReal expr

Parameters:
Returns: RealExpr

GetReal(Ereal t)=t and fails for other expressions

expr : Expr
Returns: RealExpr

GetTup expr

Full Usage: GetTup expr

Parameters:
Returns: TupExpr

GetTup(Etup t)=t and fails for other expressions

expr : Expr
Returns: TupExpr

LengthOfBtvExpr btvExpr

Full Usage: LengthOfBtvExpr btvExpr

Parameters:
Returns: int option

btvExpr : BtvExpr
Returns: int option

Lhs2Rhs lhs

Full Usage: Lhs2Rhs lhs

Parameters:
Returns: Expr

lhs : LhsExpr
Returns: Expr

Lhs2TypeRhs expr

Full Usage: Lhs2TypeRhs expr

Parameters:
Returns: QType * Expr

expr : LhsExpr
Returns: QType * Expr

LhsEquCond lhsExpr1 lhsExpr2

Full Usage: LhsEquCond lhsExpr1 lhsExpr2

Parameters:
Returns: BoolExpr

generate a BoolExpr that states that lhsExpr1 and lhsExpr2 are equal

lhsExpr1 : LhsExpr
lhsExpr2 : LhsExpr
Returns: BoolExpr

LhsWriteCells lhsExpr

Full Usage: LhsWriteCells lhsExpr

Parameters:
Returns: Set<LhsExpr>

LhsWriteCells lhs computes the writeable cells of a lhsExpr.

lhsExpr : LhsExpr
Returns: Set<LhsExpr>

MkArrAccExpr qty (ar, e)

Full Usage: MkArrAccExpr qty (ar, e)

Parameters:
Returns: Expr

qty : QType
ar : ArrExpr
e : NatExpr
Returns: Expr

MkBoolBitOfBtv (expr, n)

Full Usage: MkBoolBitOfBtv (expr, n)

Parameters:
Returns: BoolExpr

expr : BtvExpr
n : int
Returns: BoolExpr

MkBoolCase (arg1, arg2)

Full Usage: MkBoolCase (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : (BoolExpr * BoolExpr) list
arg1 : BoolExpr
Returns: BoolExpr

MkBoolConj (arg1, arg2)

Full Usage: MkBoolConj (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BoolExpr
arg1 : BoolExpr
Returns: BoolExpr

MkBoolCont expr

Full Usage: MkBoolCont expr

Parameters:
Returns: BoolExpr

expr : BoolExpr
Returns: BoolExpr

MkBoolDisj (arg1, arg2)

Full Usage: MkBoolDisj (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BoolExpr
arg1 : BoolExpr
Returns: BoolExpr

MkBoolEqu (arg1, arg2)

Full Usage: MkBoolEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BoolExpr
arg1 : BoolExpr
Returns: BoolExpr

MkBoolImpl (arg1, arg2)

Full Usage: MkBoolImpl (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BoolExpr
arg1 : BoolExpr
Returns: BoolExpr

MkBoolIte (c, t1, t2)

Full Usage: MkBoolIte (c, t1, t2)

Parameters:
Returns: BoolExpr

c : BoolExpr
t1 : BoolExpr
t2 : BoolExpr
Returns: BoolExpr

MkBoolNeg expr

Full Usage: MkBoolNeg expr

Parameters:
Returns: BoolExpr

expr : BoolExpr
Returns: BoolExpr

MkBoolNext expr

Full Usage: MkBoolNext expr

Parameters:
Returns: BoolExpr

expr : BoolExpr
Returns: BoolExpr

MkBoolXor (arg1, arg2)

Full Usage: MkBoolXor (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BoolExpr
arg1 : BoolExpr
Returns: BoolExpr

MkBtvAppend (arg1, arg2)

Full Usage: MkBtvAppend (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvConj (arg1, arg2)

Full Usage: MkBtvConj (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvDisj (arg1, arg2)

Full Usage: MkBtvDisj (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvEqu (arg1, arg2)

Full Usage: MkBtvEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BoolExpr

MkBtvEqv (arg1, arg2)

Full Usage: MkBtvEqv (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvImpl (arg1, arg2)

Full Usage: MkBtvImpl (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvNeg expr

Full Usage: MkBtvNeg expr

Parameters:
Returns: BtvExpr

expr : BtvExpr
Returns: BtvExpr

MkBtvOfBoolTup bl

Full Usage: MkBtvOfBoolTup bl

Parameters:
Returns: BtvExpr

bl : BoolExpr list
Returns: BtvExpr

MkBtvOfInt (expr, len)

Full Usage: MkBtvOfInt (expr, len)

Parameters:
Returns: BtvExpr

expr : IntExpr
len : int
Returns: BtvExpr

MkBtvOfNat (expr, len)

Full Usage: MkBtvOfNat (expr, len)

Parameters:
Returns: BtvExpr

expr : NatExpr
len : int
Returns: BtvExpr

MkBtvReplicate (expr, n)

Full Usage: MkBtvReplicate (expr, n)

Parameters:
Returns: BtvExpr

expr : BoolExpr
n : int
Returns: BtvExpr

MkBtvReverse expr

Full Usage: MkBtvReverse expr

Parameters:
Returns: BtvExpr

expr : BtvExpr
Returns: BtvExpr

MkBtvSegment (expr, n2, n1)

Full Usage: MkBtvSegment (expr, n2, n1)

Parameters:
Returns: BtvExpr

expr : BtvExpr
n2 : int
n1 : int
Returns: BtvExpr

MkBtvSignAdjust (len, expr)

Full Usage: MkBtvSignAdjust (len, expr)

Parameters:
Returns: BtvExpr

len : int
expr : BtvExpr
Returns: BtvExpr

MkBtvXor (arg1, arg2)

Full Usage: MkBtvXor (arg1, arg2)

Parameters:
Returns: BtvExpr

arg0 : BtvExpr
arg1 : BtvExpr
Returns: BtvExpr

MkBtvZeroAdjust (len, expr)

Full Usage: MkBtvZeroAdjust (len, expr)

Parameters:
Returns: BtvExpr

len : int
expr : BtvExpr
Returns: BtvExpr

MkCaseExpr (CL, expr)

Full Usage: MkCaseExpr (CL, expr)

Parameters:
Returns: Expr

MkCaseExpr(CL,expr) generates a case-expression using one of the constructors BoolCase,BtvCase,NatCase,IntCase,RealCase,ArrCase,TupCase depending on expr.

CL : (BoolExpr * Expr) list
expr : Expr
Returns: Expr

MkEquExpr qty (e1, e2)

Full Usage: MkEquExpr qty (e1, e2)

Parameters:
Returns: BoolExpr

qty : QType
e1 : Expr
e2 : Expr
Returns: BoolExpr

MkIntAbs expr

Full Usage: MkIntAbs expr

Parameters:
Returns: NatExpr

expr : IntExpr
Returns: NatExpr

MkIntAdd (arg1, arg2)

Full Usage: MkIntAdd (arg1, arg2)

Parameters:
Returns: IntExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: IntExpr

MkIntDiv (arg1, arg2)

Full Usage: MkIntDiv (arg1, arg2)

Parameters:
Returns: IntExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: IntExpr

MkIntEqu (arg1, arg2)

Full Usage: MkIntEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: BoolExpr

MkIntLeq (arg1, arg2)

Full Usage: MkIntLeq (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: BoolExpr

MkIntLes (arg1, arg2)

Full Usage: MkIntLes (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: BoolExpr

MkIntMod (arg1, arg2)

Full Usage: MkIntMod (arg1, arg2)

Parameters:
Returns: IntExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: IntExpr

MkIntMul (arg1, arg2)

Full Usage: MkIntMul (arg1, arg2)

Parameters:
Returns: IntExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: IntExpr

MkIntOfBtv expr

Full Usage: MkIntOfBtv expr

Parameters:
Returns: IntExpr

expr : BtvExpr
Returns: IntExpr

MkIntOfNat expr

Full Usage: MkIntOfNat expr

Parameters:
Returns: IntExpr

expr : NatExpr
Returns: IntExpr

MkIntSat (blm, expr)

Full Usage: MkIntSat (blm, expr)

Parameters:
Returns: IntExpr

blm : bool list
expr : IntExpr
Returns: IntExpr

MkIntSub (arg1, arg2)

Full Usage: MkIntSub (arg1, arg2)

Parameters:
Returns: IntExpr

arg0 : IntExpr
arg1 : IntExpr
Returns: IntExpr

MkIteExpr (arg1, arg2, arg3)

Full Usage: MkIteExpr (arg1, arg2, arg3)

Parameters:
Returns: Expr

MkIteExpr(b,e1,e2) generates an if-then-else expression using one of the constructors BoolIte,BtvIte,NatIte,IntIte,RealIte,ArrIte,TupIte depending on the "types" of e1 and e2 (that should be the same). The result may however not be an Ite-expression since some simplication rules are used.

arg0 : BoolExpr
arg1 : Expr
arg2 : Expr
Returns: Expr

MkListConj eL

Full Usage: MkListConj eL

Parameters:
Returns: BoolExpr

eL : seq<BoolExpr>
Returns: BoolExpr

MkListDisj eL

Full Usage: MkListDisj eL

Parameters:
Returns: BoolExpr

eL : seq<BoolExpr>
Returns: BoolExpr

MkListExists t ityL

Full Usage: MkListExists t ityL

Parameters:
Returns: BoolExpr

t : BoolExpr
ityL : (QName * QType) list
Returns: BoolExpr

MkListForall t ityL

Full Usage: MkListForall t ityL

Parameters:
Returns: BoolExpr

t : BoolExpr
ityL : (QName * QType) list
Returns: BoolExpr

MkNatAdd (arg1, arg2)

Full Usage: MkNatAdd (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkNatDiv (arg1, arg2)

Full Usage: MkNatDiv (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkNatEqu (arg1, arg2)

Full Usage: MkNatEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: BoolExpr

MkNatExp (arg1, arg2)

Full Usage: MkNatExp (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkNatLeq (arg1, arg2)

Full Usage: MkNatLeq (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: BoolExpr

MkNatLes (arg1, arg2)

Full Usage: MkNatLes (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: BoolExpr

MkNatLog2 expr

Full Usage: MkNatLog2 expr

Parameters:
Returns: NatExpr

expr : NatExpr
Returns: NatExpr

MkNatMod (arg1, arg2)

Full Usage: MkNatMod (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkNatMul (arg1, arg2)

Full Usage: MkNatMul (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkNatOfBtv expr

Full Usage: MkNatOfBtv expr

Parameters:
Returns: NatExpr

expr : BtvExpr
Returns: NatExpr

MkNatSat (blm, expr)

Full Usage: MkNatSat (blm, expr)

Parameters:
Returns: NatExpr

blm : bool list
expr : NatExpr
Returns: NatExpr

MkNatSub (arg1, arg2)

Full Usage: MkNatSub (arg1, arg2)

Parameters:
Returns: NatExpr

arg0 : NatExpr
arg1 : NatExpr
Returns: NatExpr

MkRealAdd (arg1, arg2)

Full Usage: MkRealAdd (arg1, arg2)

Parameters:
Returns: RealExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: RealExpr

MkRealCos expr

Full Usage: MkRealCos expr

Parameters:
Returns: RealExpr

expr : RealExpr
Returns: RealExpr

MkRealDiv (arg1, arg2)

Full Usage: MkRealDiv (arg1, arg2)

Parameters:
Returns: RealExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: RealExpr

MkRealDrv e

Full Usage: MkRealDrv e

Parameters:
Returns: RealExpr

e : RealExpr
Returns: RealExpr

MkRealEqu (arg1, arg2)

Full Usage: MkRealEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: BoolExpr

MkRealExp (arg1, arg2)

Full Usage: MkRealExp (arg1, arg2)

Parameters:
Returns: RealExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: RealExpr

MkRealLeq (arg1, arg2)

Full Usage: MkRealLeq (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: BoolExpr

MkRealLes (arg1, arg2)

Full Usage: MkRealLes (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: BoolExpr

MkRealLog2 expr

Full Usage: MkRealLog2 expr

Parameters:
Returns: RealExpr

expr : RealExpr
Returns: RealExpr

MkRealMul (arg1, arg2)

Full Usage: MkRealMul (arg1, arg2)

Parameters:
Returns: RealExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: RealExpr

MkRealOfInt expr

Full Usage: MkRealOfInt expr

Parameters:
Returns: RealExpr

expr : IntExpr
Returns: RealExpr

MkRealOfNat expr

Full Usage: MkRealOfNat expr

Parameters:
Returns: RealExpr

expr : NatExpr
Returns: RealExpr

MkRealSin expr

Full Usage: MkRealSin expr

Parameters:
Returns: RealExpr

expr : RealExpr
Returns: RealExpr

MkRealSub (arg1, arg2)

Full Usage: MkRealSub (arg1, arg2)

Parameters:
Returns: RealExpr

arg0 : RealExpr
arg1 : RealExpr
Returns: RealExpr

MkTupAccExpr qty (t, i)

Full Usage: MkTupAccExpr qty (t, i)

Parameters:
Returns: Expr

MkTupAccExpr qty (t,i) generates a tuple selection using one of the constructors BoolTupAcc,BtvTupAcc,NatTupAcc,IntTupAcc,RealTupAcc,ArrTupAcc,TupTupAcc depending on qty.

qty : QType
t : TupExpr
i : int
Returns: Expr

MkTupEqu (arg1, arg2)

Full Usage: MkTupEqu (arg1, arg2)

Parameters:
Returns: BoolExpr

arg0 : TupExpr
arg1 : TupExpr
Returns: BoolExpr

MkVarExpr qn qtype

Full Usage: MkVarExpr qn qtype

Parameters:
Returns: Expr

generates a variable with name qn and type qtype as an expression

qn : QName
qtype : QType
Returns: Expr

NoNextInArrExpr expr

Full Usage: NoNextInArrExpr expr

Parameters:
Returns: bool

expr : ArrExpr
Returns: bool

NoNextInBoolExpr expr

Full Usage: NoNextInBoolExpr expr

Parameters:
Returns: bool

expr : BoolExpr
Returns: bool

NoNextInBtvExpr expr

Full Usage: NoNextInBtvExpr expr

Parameters:
Returns: bool

expr : BtvExpr
Returns: bool

NoNextInExpr expr

Full Usage: NoNextInExpr expr

Parameters:
Returns: bool

expr : Expr
Returns: bool

NoNextInIntExpr expr

Full Usage: NoNextInIntExpr expr

Parameters:
Returns: bool

expr : IntExpr
Returns: bool

NoNextInNatExpr expr

Full Usage: NoNextInNatExpr expr

Parameters:
Returns: bool

expr : NatExpr
Returns: bool

NoNextInRealExpr expr

Full Usage: NoNextInRealExpr expr

Parameters:
Returns: bool

expr : RealExpr
Returns: bool

NoNextInTupExpr expr

Full Usage: NoNextInTupExpr expr

Parameters:
Returns: bool

expr : TupExpr
Returns: bool

PrnArrExpr e

Full Usage: PrnArrExpr e

Parameters:
Returns: PrnDrv -> unit

e : ArrExpr
Returns: PrnDrv -> unit

PrnBoolExpr e

Full Usage: PrnBoolExpr e

Parameters:
Returns: PrnDrv -> unit

e : BoolExpr
Returns: PrnDrv -> unit

PrnBtvExpr e

Full Usage: PrnBtvExpr e

Parameters:
Returns: PrnDrv -> unit

e : BtvExpr
Returns: PrnDrv -> unit

PrnExpr e

Full Usage: PrnExpr e

Parameters:
Returns: PrnDrv -> unit

e : Expr
Returns: PrnDrv -> unit

PrnIntExpr e

Full Usage: PrnIntExpr e

Parameters:
Returns: PrnDrv -> unit

e : IntExpr
Returns: PrnDrv -> unit

PrnLhsExpr e

Full Usage: PrnLhsExpr e

Parameters:
Returns: Printer

e : LhsExpr
Returns: Printer

PrnNatExpr e

Full Usage: PrnNatExpr e

Parameters:
Returns: PrnDrv -> unit

e : NatExpr
Returns: PrnDrv -> unit

PrnRealExpr e

Full Usage: PrnRealExpr e

Parameters:
Returns: PrnDrv -> unit

e : RealExpr
Returns: PrnDrv -> unit

PrnSubst rho

Full Usage: PrnSubst rho

Parameters:
Returns: PrnDrv -> unit

Prints a substitution

rho : Map<QName, Expr>
Returns: PrnDrv -> unit

PrnTupExpr e

Full Usage: PrnTupExpr e

Parameters:
Returns: PrnDrv -> unit

e : TupExpr
Returns: PrnDrv -> unit

QNameOfVarExpr expr

Full Usage: QNameOfVarExpr expr

Parameters:
Returns: QName

QNameOfVarExpr extracts the qualified name of an expression variable, e.g. QNameOfVarExpr(Ebool(BoolVar qn))=qn

expr : Expr
Returns: QName

RangeOfIntExpr intExpr

Full Usage: RangeOfIntExpr intExpr

Parameters:
Returns: bool list option

intExpr : IntExpr
Returns: bool list option

RangeOfNatExpr natExpr

Full Usage: RangeOfNatExpr natExpr

Parameters:
Returns: bool list option

natExpr : NatExpr
Returns: bool list option

ReadSubstLhs rho lhsExpr

Full Usage: ReadSubstLhs rho lhsExpr

Parameters:
Returns: LhsExpr

rho : Map<QName, Expr>
lhsExpr : LhsExpr
Returns: LhsExpr

ReadVarsArrExpr

Full Usage: ReadVarsArrExpr

Returns: ArrExpr -> Set<QName * QType>

Returns: ArrExpr -> Set<QName * QType>

ReadVarsBoolExpr

Full Usage: ReadVarsBoolExpr

Returns: BoolExpr -> Set<QName * QType>

Returns: BoolExpr -> Set<QName * QType>

ReadVarsBtvExpr

Full Usage: ReadVarsBtvExpr

Returns: BtvExpr -> Set<QName * QType>

Returns: BtvExpr -> Set<QName * QType>

ReadVarsExpr expr

Full Usage: ReadVarsExpr expr

Parameters:
Returns: Set<QName * QType>

expr : Expr
Returns: Set<QName * QType>

ReadVarsIntExpr

Full Usage: ReadVarsIntExpr

Returns: IntExpr -> Set<QName * QType>

Returns: IntExpr -> Set<QName * QType>

ReadVarsLhsExpr expr

Full Usage: ReadVarsLhsExpr expr

Parameters:
Returns: Set<QName * QType>

expr : LhsExpr
Returns: Set<QName * QType>

ReadVarsNatExpr

Full Usage: ReadVarsNatExpr

Returns: NatExpr -> Set<QName * QType>

Returns: NatExpr -> Set<QName * QType>

ReadVarsRealExpr

Full Usage: ReadVarsRealExpr

Returns: RealExpr -> Set<QName * QType>

Returns: RealExpr -> Set<QName * QType>

ReadVarsTupExpr

Full Usage: ReadVarsTupExpr

Returns: TupExpr -> Set<QName * QType>

Returns: TupExpr -> Set<QName * QType>

RewriteArr eqs arrExpr

Full Usage: RewriteArr eqs arrExpr

Parameters:
Returns: ArrExpr

eqs : Map<LhsExpr, Expr>
arrExpr : ArrExpr
Returns: ArrExpr

RewriteBool eqs boolExpr

Full Usage: RewriteBool eqs boolExpr

Parameters:
Returns: BoolExpr

eqs : Map<LhsExpr, Expr>
boolExpr : BoolExpr
Returns: BoolExpr

RewriteBtv eqs btvExpr

Full Usage: RewriteBtv eqs btvExpr

Parameters:
Returns: BtvExpr

eqs : Map<LhsExpr, Expr>
btvExpr : BtvExpr
Returns: BtvExpr

RewriteExpr eqs expr

Full Usage: RewriteExpr eqs expr

Parameters:
Returns: Expr

eqs : Map<LhsExpr, Expr>
expr : Expr
Returns: Expr

RewriteInt eqs intExpr

Full Usage: RewriteInt eqs intExpr

Parameters:
Returns: IntExpr

eqs : Map<LhsExpr, Expr>
intExpr : IntExpr
Returns: IntExpr

RewriteLhs eqs lhsExpr

Full Usage: RewriteLhs eqs lhsExpr

Parameters:
Returns: LhsExpr

eqs : Map<LhsExpr, Expr>
lhsExpr : LhsExpr
Returns: LhsExpr

RewriteNat eqs natExpr

Full Usage: RewriteNat eqs natExpr

Parameters:
Returns: NatExpr

eqs : Map<LhsExpr, Expr>
natExpr : NatExpr
Returns: NatExpr

RewriteReal eqs realExpr

Full Usage: RewriteReal eqs realExpr

Parameters:
Returns: RealExpr

eqs : Map<LhsExpr, Expr>
realExpr : RealExpr
Returns: RealExpr

RewriteTup eqs tupExpr

Full Usage: RewriteTup eqs tupExpr

Parameters:
Returns: TupExpr

eqs : Map<LhsExpr, Expr>
tupExpr : TupExpr
Returns: TupExpr

Rhs2Lhs expr

Full Usage: Rhs2Lhs expr

Parameters:
Returns: LhsExpr

expr : Expr
Returns: LhsExpr

StripConj t

Full Usage: StripConj t

Parameters:
Returns: Set<BoolExpr>

t : BoolExpr
Returns: Set<BoolExpr>

StripDisj t

Full Usage: StripDisj t

Parameters:
Returns: Set<BoolExpr>

t : BoolExpr
Returns: Set<BoolExpr>

SubstArr rho arrExpr

Full Usage: SubstArr rho arrExpr

Parameters:
Returns: ArrExpr

rho : Map<QName, Expr>
arrExpr : ArrExpr
Returns: ArrExpr

SubstBool rho boolExpr

Full Usage: SubstBool rho boolExpr

Parameters:
Returns: BoolExpr

rho : Map<QName, Expr>
boolExpr : BoolExpr
Returns: BoolExpr

SubstBtv rho btvExpr

Full Usage: SubstBtv rho btvExpr

Parameters:
Returns: BtvExpr

rho : Map<QName, Expr>
btvExpr : BtvExpr
Returns: BtvExpr

SubstExpr rho expr

Full Usage: SubstExpr rho expr

Parameters:
Returns: Expr

rho : Map<QName, Expr>
expr : Expr
Returns: Expr

SubstInt rho intExpr

Full Usage: SubstInt rho intExpr

Parameters:
Returns: IntExpr

rho : Map<QName, Expr>
intExpr : IntExpr
Returns: IntExpr

SubstLhs rho lhsExpr

Full Usage: SubstLhs rho lhsExpr

Parameters:
Returns: LhsExpr

rho : Map<QName, Expr>
lhsExpr : LhsExpr
Returns: LhsExpr

SubstNat rho natExpr

Full Usage: SubstNat rho natExpr

Parameters:
Returns: NatExpr

rho : Map<QName, Expr>
natExpr : NatExpr
Returns: NatExpr

SubstQName rho qn

Full Usage: SubstQName rho qn

Parameters:
Returns: QName

rho : Map<QName, Expr>
qn : QName
Returns: QName

SubstReal rho realExpr

Full Usage: SubstReal rho realExpr

Parameters:
Returns: RealExpr

rho : Map<QName, Expr>
realExpr : RealExpr
Returns: RealExpr

SubstTup rho tupExpr

Full Usage: SubstTup rho tupExpr

Parameters:
Returns: TupExpr

rho : Map<QName, Expr>
tupExpr : TupExpr
Returns: TupExpr

TargetOfLhs expr

Full Usage: TargetOfLhs expr

Parameters:
Returns: QName

TargetOfLhs extracts the name of the variable that is written by the given LhsExpr expr, e.g. TargetOfLhs(LhsVar(qn,qty))=qn

expr : LhsExpr
Returns: QName

TypeOfArrExpr arrExpr

Full Usage: TypeOfArrExpr arrExpr

Parameters:
Returns: QType

arrExpr : ArrExpr
Returns: QType

TypeOfExpr expr

Full Usage: TypeOfExpr expr

Parameters:
Returns: QType

expr : Expr
Returns: QType

TypeOfLhsExpr lhsExpr

Full Usage: TypeOfLhsExpr lhsExpr

Parameters:
Returns: QType

lhsExpr : LhsExpr
Returns: QType

TypeOfTupExpr tupExpr

Full Usage: TypeOfTupExpr tupExpr

Parameters:
Returns: QType

tupExpr : TupExpr
Returns: QType