private Z3Expr MkCoercion(Z3Expr t, AppFreeCanUnn unn, RealEmbedding te) { var coercions = DefaultMember.Item2; foreach (var s in unn.NonRangeMembers) { Contract.Assert(s.IsNonVarConstant); coercions = t.Eq(Context, te.MkGround(s, null)).Ite( Context, MkGround(s, null), coercions); } return(coercions); }
private Z3Expr MkCoercion(Z3Expr t, AppFreeCanUnn unn, RealEmbedding te) { return(BoxingFun.Apply( ((Z3IntExpr)Context.MkSub(Context.MkReal2Int((Z3RealExpr)t), Context.MkInt(Lower.ToString()))).Int2BV(Context, bvSort.Size))); }
private Z3Expr MkCoercion(Z3Expr t, AppFreeCanUnn unn, RealEmbedding te) { return(CreationFun.Apply()); }
private Z3Expr MkCoercion(Z3Expr t, AppFreeCanUnn unn, RealEmbedding te) { return(MkPosCoercion(Context.MkReal2Int((Z3.RealExpr)t))); }