Proof output improved for occurrences of the Athena problem.
This commit is contained in:
parent
59bcb18fec
commit
2107d76532
@ -2703,7 +2703,17 @@ isTriviallyKnownAfterArachne (const System sys, const Term t, const int run,
|
||||
* Currently used in mgusubterm in mgu.c
|
||||
*/
|
||||
void
|
||||
markNoFullProof ()
|
||||
markNoFullProof (const Term tbig, const Term tsmall)
|
||||
{
|
||||
// Comment in proof
|
||||
if (switches.output == PROOF)
|
||||
{
|
||||
indentPrint ();
|
||||
eprintf ("Note: the pattern set will be incomplete, because ");
|
||||
termPrint (tbig);
|
||||
eprintf (" allows for infinitely many ways to subtermUnify ");
|
||||
termPrint (tsmall);
|
||||
eprintf (".\n");
|
||||
}
|
||||
sys->current_claim->complete = false;
|
||||
}
|
||||
|
@ -35,6 +35,6 @@ void arachneOutputAttack ();
|
||||
void printSemiState ();
|
||||
int countIntruderActions ();
|
||||
void role_name_print (const int run);
|
||||
void markNoFullProof ();
|
||||
void markNoFullProof (const Term tbig, const Term tsmall);
|
||||
|
||||
#endif
|
||||
|
12
src/mgu.c
12
src/mgu.c
@ -328,12 +328,12 @@ subtermUnify (Term tbig, Term tsmall, Termlist tl, Termlist keylist,
|
||||
if (isOpenVariable (tbig))
|
||||
{
|
||||
// This one needs to be pursued by further constraint adding
|
||||
/**
|
||||
* Currently, this is not implemented yet. TODO.
|
||||
* This is actually the main Athena problem that we haven't solved yet.
|
||||
*/
|
||||
// Mark that we don't have a full proof.
|
||||
markNoFullProof ();
|
||||
/**
|
||||
* Currently, this is not implemented yet. TODO.
|
||||
* This is actually the main Athena problem that we haven't solved yet.
|
||||
*/
|
||||
// Mark that we don't have a full proof, and possibly remark in proof output.
|
||||
markNoFullProof (tbig, tsmall);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user