- experimental=4 now disables some things. Weirdly enough, they don't
seem to make much difference.
This commit is contained in:
parent
dbc0a3583d
commit
921c82876d
@ -278,8 +278,9 @@ isKeylevelRight (Term t, const int kl)
|
||||
|
||||
//! Keylevel tester: can this term ever be sent at this keylevel?
|
||||
/**
|
||||
* Depends on the keylevel lemma (TODO) and the keylevel constructors in symbol.c
|
||||
* The idea is that certain terms will never be sent.
|
||||
* Depends on the keylevel lemma (so this will not be called when those lemmas
|
||||
* are disabled) and the keylevel constructors in symbol.c The idea is that
|
||||
* certain terms will never be sent.
|
||||
*/
|
||||
int
|
||||
isPossiblySent (Term t)
|
||||
@ -1512,6 +1513,8 @@ bind_goal (const Binding b)
|
||||
}
|
||||
}
|
||||
|
||||
if (switches.experimental & 4 == 0)
|
||||
{
|
||||
// Keylevel lemmas: improves on the previous one
|
||||
if (!isPossiblySent (b->term))
|
||||
{
|
||||
@ -1532,6 +1535,7 @@ bind_goal (const Binding b)
|
||||
}
|
||||
know_only = 1;
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
|
@ -108,6 +108,8 @@ prune_bounds (const System sys)
|
||||
/**
|
||||
* This should be removed once the hidelevel lemma works correctly
|
||||
*/
|
||||
if (switches.experimental & 4 == 0)
|
||||
{
|
||||
if ((switches.match < 2)
|
||||
&& (num_intruder_runs >
|
||||
((double) switches.runs * max_encryption_level * 8)))
|
||||
@ -122,6 +124,7 @@ prune_bounds (const System sys)
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Limit on exceeding any attack length
|
||||
if (get_semitrace_length () >= attack_length)
|
||||
|
@ -242,6 +242,8 @@ prune_theorems (const System sys)
|
||||
|
||||
b = bl->data;
|
||||
|
||||
if (switches.experimental & 4 == 0)
|
||||
{
|
||||
// Check for "Hidden" interm goals
|
||||
//!@TODO in the future, this can be subsumed by adding TERM_Hidden to the hidelevel constructs
|
||||
if (termInTerm (b->term, TERM_Hidden))
|
||||
@ -256,6 +258,7 @@ prune_theorems (const System sys)
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Check for encryption levels
|
||||
/*
|
||||
@ -281,6 +284,8 @@ prune_theorems (const System sys)
|
||||
}
|
||||
}
|
||||
|
||||
if (switches.experimental & 4 == 0)
|
||||
{
|
||||
// Check for SK-type function occurrences
|
||||
//!@todo Needs a LEMMA, although this seems to be quite straightforward to prove.
|
||||
// The idea is that functions are never sent as a whole, but only used in applications.
|
||||
@ -300,6 +305,7 @@ prune_theorems (const System sys)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bl = bl->next;
|
||||
}
|
||||
|
@ -942,6 +942,8 @@ switcher (const int process, int index, int commandline)
|
||||
else
|
||||
{
|
||||
switches.experimental = integer_argument ();
|
||||
eprintf ("Set experimental switch to %i.\n", switches.experimental);
|
||||
eprintf ("And 4 mask: %i.\n", switches.experimental & 4);
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user