- Checks are now in. Untested though.
This commit is contained in:
parent
68bbdc2794
commit
2decf44bd2
@ -1318,6 +1318,44 @@ prune_bounds ()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Prune determination for specific properties
|
||||||
|
/**
|
||||||
|
* Sometimes, a property holds in part of the tree. Thus, we don't need to explore that part further if we want to find an attack.
|
||||||
|
*
|
||||||
|
*@returns true iff this state is invalid for some reason
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
prune_claim_specifics ()
|
||||||
|
{
|
||||||
|
if (current_claim->type == CLAIM_Niagree)
|
||||||
|
{
|
||||||
|
if (arachne_claim_niagree (sys, current_claim->r, current_claim->ev))
|
||||||
|
{
|
||||||
|
current_claim->count = statesIncrease (current_claim->count);
|
||||||
|
if (sys->output == PROOF)
|
||||||
|
{
|
||||||
|
indentPrint ();
|
||||||
|
eprintf ("Pruned: niagree holds in this part of the proof tree.\n");
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (current_claim->type == CLAIM_Nisynch)
|
||||||
|
{
|
||||||
|
if (arachne_claim_nisynch (sys, current_claim->r, current_claim->ev))
|
||||||
|
{
|
||||||
|
current_claim->count = statesIncrease (current_claim->count);
|
||||||
|
if (sys->output == PROOF)
|
||||||
|
{
|
||||||
|
indentPrint ();
|
||||||
|
eprintf ("Pruned: nisynch holds in this part of the proof tree.\n");
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//! Setup system for specific claim test
|
//! Setup system for specific claim test
|
||||||
add_claim_specifics (const Claimlist cl, const Roledef rd)
|
add_claim_specifics (const Claimlist cl, const Roledef rd)
|
||||||
{
|
{
|
||||||
@ -1385,6 +1423,8 @@ iterate ()
|
|||||||
|
|
||||||
flag = 1;
|
flag = 1;
|
||||||
if (!prune_theorems ())
|
if (!prune_theorems ())
|
||||||
|
{
|
||||||
|
if (!prune_claim_specifics ())
|
||||||
{
|
{
|
||||||
if (!prune_bounds ())
|
if (!prune_bounds ())
|
||||||
{
|
{
|
||||||
@ -1429,6 +1469,7 @@ iterate ()
|
|||||||
current_claim->complete = 0;
|
current_claim->complete = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (DEBUGL (5) && !flag)
|
if (DEBUGL (5) && !flag)
|
||||||
|
Loading…
Reference in New Issue
Block a user