/// <summary> /// Returns the properties associated with <paramref name="v"/> in its variable declaration. /// The first element of the result tuple is the type and the second element is the where clause. /// </summary> public static Tuple <Term, Term> VarDeclTuple(Variable v, TypeIsaVisitor typeIsaVisitor, Func <Absy, Term> boogieToIsa) { var vType = typeIsaVisitor.Translate(v.TypedIdent.Type); var vWhereClause = v.TypedIdent.WhereExpr != null ? IsaCommonTerms.SomeOption(boogieToIsa(v.TypedIdent.WhereExpr)) : IsaCommonTerms.NoneOption(); return(Tuple.Create(vType, vWhereClause)); }