diff options
author | qadeer <unknown> | 2010-08-24 22:35:20 +0000 |
---|---|---|
committer | qadeer <unknown> | 2010-08-24 22:35:20 +0000 |
commit | 726e88e1ece4047db1cedbbd886b8ef701bc4bbd (patch) | |
tree | c0cbec21b2ff2da41226c19fe9e53675cbaf1ee9 /Source/Provers/Z3api/ProverLayer.cs | |
parent | 9a2266db21f64f0d755a71c383e3537b61ee5a53 (diff) |
fixed z3api so that it works on small examples now.
Diffstat (limited to 'Source/Provers/Z3api/ProverLayer.cs')
-rw-r--r-- | Source/Provers/Z3api/ProverLayer.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Provers/Z3api/ProverLayer.cs b/Source/Provers/Z3api/ProverLayer.cs index f3dfab69..7c41f25c 100644 --- a/Source/Provers/Z3api/ProverLayer.cs +++ b/Source/Provers/Z3api/ProverLayer.cs @@ -30,6 +30,12 @@ namespace Microsoft.Boogie.Z3 this.z3ContextIsUsed = false;
}
+ public override void Close()
+ {
+ base.Close();
+ ((Z3apiProverContext)Context).cm.z3.Dispose();
+ ((Z3apiProverContext)Context).cm.config.Config.Dispose();
+ }
private bool z3ContextIsUsed;
public void PushAxiom(VCExpr axiom)
@@ -39,6 +45,7 @@ namespace Microsoft.Boogie.Z3 LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
cm.AddAxiom((VCExpr)axiom, linOptions);
}
+
private void PushConjecture(VCExpr conjecture)
{
Z3SafeContext cm = ((Z3apiProverContext)ctx).cm;
@@ -60,6 +67,11 @@ namespace Microsoft.Boogie.Z3 outcome = cm.Check(out z3LabelModels);
}
+ public override void PushVCExpression(VCExpr vc)
+ {
+ PushAxiom(vc);
+ }
+
public override void BeginCheck(string descriptiveName, VCExpr vc, ErrorHandler handler)
{
LineariserOptions linOptions = new Z3LineariserOptions(false, (Z3InstanceOptions)this.options, new List<VCExprVar>());
|