/** \brief Custom model pretty printer. */ void display_model(System.IO.TextWriter w, Model model) { w.WriteLine("Custom model display:"); FuncDecl[] consts = model.ConstDecls; for (int i = 0; i < consts.Length; i++) { w.WriteLine("{0} |-> {1}", consts[i], model.Evaluate(consts[i].Apply())); } w.WriteLine("num consts: {0}", consts.Length); FuncDecl[] funcs = model.FuncDecls; foreach (FuncDecl f in funcs) { FuncInterp g = model.FuncInterp(f); w.WriteLine("function {0}:", f); for (int j = 0; j < g.Entries.Length; ++j) { for (int k = 0; k < g.Entries[j].Args.Length; ++k) { w.Write(" {0} ", g.Entries[j].Args[k]); } w.WriteLine(" |-> {0}", g.Entries[j].Value); } w.WriteLine(" else |-> {0}", g.Else); } }