diff --git a/src/api/dotnet/Model.cs b/src/api/dotnet/Model.cs
index a7f62e6e8..12992fa8a 100644
--- a/src/api/dotnet/Model.cs
+++ b/src/api/dotnet/Model.cs
@@ -19,6 +19,7 @@ Notes:
using System;
using System.Diagnostics.Contracts;
+using System.Collections.Generic;
namespace Microsoft.Z3
{
@@ -131,6 +132,24 @@ namespace Microsoft.Z3
}
}
+ ///
+ /// Enumerate constants in model.
+ ///
+ public IEnumerable> Consts
+ {
+ get
+ {
+ uint nc = NumConsts;
+ for (uint i = 0; i < nc; ++i)
+ {
+ var f = new FuncDecl(Context, Native.Z3_model_get_const_decl(Context.nCtx, NativeObject, i));
+ IntPtr n = Native.Z3_model_get_const_interp(Context.nCtx, NativeObject, f.NativeObject);
+ if (n == IntPtr.Zero) continue;
+ yield return new KeyValuePair(f, Expr.Create(Context, n));
+ }
+ }
+ }
+
///
/// The number of function interpretations in the model.
///
diff --git a/src/sat/sat_solver/inc_sat_solver.cpp b/src/sat/sat_solver/inc_sat_solver.cpp
index 4a4e0af38..b9ed925b0 100644
--- a/src/sat/sat_solver/inc_sat_solver.cpp
+++ b/src/sat/sat_solver/inc_sat_solver.cpp
@@ -326,7 +326,6 @@ public:
return l_true;
}
-
virtual std::string reason_unknown() const {
return m_unknown;
}