public void TestGetTagsVsGetTags2()
{
STBuilderZ3 stb = new STBuilderZ3(new Z3Provider(BitWidth.BV16));
STz3 GetTags = MkGetTags(stb, stb.Solver.IntSort);
STz3 GetTags2 = MkGetTags2(stb, stb.Solver.IntSort);
var w = GetTags.Diff(GetTags2);
IValue<Expr> i = w.Input;
IValue<Expr> a = w.Output1;
IValue<Expr> b = w.Output2;
int k = w.InputLength;
//any shortest input witness has length 5
Assert.AreEqual<int>(5, k);
string input = i.GetStringValue(false);
//any shortest input witness must match the following pattern
Assert.IsTrue(System.Text.RegularExpressions.Regex.IsMatch(input, "^<.<.>$"));
}