protected internal override bool Satisfy(Trail trail)
{
for (int i = 0; i < v.Length; i++)
{
Domain d = v[i].Domain;
if (d.Size() != 1)
{
continue;
}
Object elem = d.Element();
for (int j = 0; j < v.Length; j++)
{
if (i == j)
{
continue;
}
Domain d1 = v[j].Domain.Delete(elem);
if (d1.Empty)
{
return(false);
}
if (trail != null)
{
v[j].UpdateDomain(d1, trail);
}
}
}
return(true);
}