This module compares instances of plai databases that are present in plai_db_instances, independently of their representation.
After computing two plai dbs (DB1 and DB2) with compare(DB1, DB2, AbsInt, Diff), several types of differences may appear in a list of elements abs_diff(Id2, AbsInt, DBId2, Sg:Call, Succ, new)
* modif(Sg:Call, Succ, Succ2) : means that there is a tuple in both dbs but the success pattern is not the same in both. It is Succ in DB1 and Succ2 in DB2.
* contained(Sg:Call) : means that the call pattern in DB1 Sg:Call is not in DB1 but it is contained in one more general in DB2
* not_in(Sg:Call) : means there is a tuple for Sg:Call in DB1 but there is not in DB2.
* new : means that the tuple of DB2 does not exist in DB1.
Module compare_dump (Semantic dump comparator), is an example of use of this module.
Usage:compare(DBId1,DBId2,AbsInt,Diff)
Compares two previously loaded abstract databases of domain AbsInt, DBId1 and DBId2 to produce a list with the differences in Diff, expressed relative to database DBId1.
Usage:check_same_success(AbsInt,Succ1,Succ2)
Succeeds if Succ1 and Succ2 are quivalent abstract substitution patterns.
Usage:check_same_calls(AbsInt,Sg1,Call1,Sg2,Call2)
Succeeds if Call1 and Call2 are quivalent call patterns for goals Sg1 and Sg2.