Skip to content

Commit 8e6e1ae

Browse files
committed
Updated model construction to use original variable name for mutable
variables (i.e., without the count appended).
1 parent 1b54753 commit 8e6e1ae

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

verify/air/src/model.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
use std::collections::{HashMap};
22
use std::fmt;
3-
//use std::collections::{HashMap, HashSet};
4-
use std::rc::Rc;
53
use crate::ast::{Decl, DeclX, Ident,SnapShots, Typ, TypX};
64
use crate::context::Context;
75
use z3::ast::{Bool, Dynamic, Int};
@@ -41,7 +39,7 @@ impl<'a> Model<'a> {
4139
// pub fn save_snapshots(&self, snapshots: SnapShots) {
4240
// self.snapshots = snapshots.clone();
4341
// }
44-
fn lookup_var(&self, var_name:&String, var_smt:&Dynamic) -> String {
42+
fn lookup_z3_var(&self, var_name:&String, var_smt:&Dynamic) -> String {
4543
if let Some(x) = self.z3_model.eval(var_smt) {
4644
if let Some(b) = x.as_bool() {
4745
format!("{}", b)
@@ -68,16 +66,16 @@ impl<'a> Model<'a> {
6866
let var_name = crate::var_to_const::rename_var(&*var_id, *var_count);
6967
println!("\t{}", var_name);
7068
let var_smt = context.vars.get(&var_name).unwrap_or_else(|| panic!("internal error: variable {} not found", var_name));
71-
let val = self.lookup_var(&var_name, var_smt);
72-
value_snapshot.insert(Rc::new(var_name), val);
69+
let val = self.lookup_z3_var(&var_name, var_smt);
70+
value_snapshot.insert(var_id.clone(), val);
7371
}
7472
// Add the local variables to every snapshot for uniformity
7573
println!("local_vars has {} variables", local_vars.len());
7674
for decl in local_vars.iter() {
7775
if let DeclX::Const(var_name, typ) = &**decl {
7876
println!("\t{}", var_name);
7977
let var_smt = new_const(context, &var_name, &typ);
80-
let val = self.lookup_var(&var_name, &var_smt);
78+
let val = self.lookup_z3_var(&var_name, &var_smt);
8179
value_snapshot.insert(var_name.clone(), val);
8280
//value_snapshot.insert(Rc::new((*var_name).clone()), val);
8381
} else {

0 commit comments

Comments
 (0)