- author
- - Kaarel Kaljurand
- version
- - 2011-07-21
BUG: Think if this code is correct and complete.
OBSOLETE COMMENT: Note that the DRACE-tester also uses the notion of equivalence defined here,
but for DRACE it is sometimes too strict,
e.g. DRACE NP considers reversing the arguments of `be' equivalence-preserving,
to be able to perform the transformation:
John is every man. --> Every man is John.
But given the definition of equivalence here, they are not.
Similarly:
If there is a man then it is necessary that a human is the man. --> Every man must be a human.
- check_equivalence(+Drs1:term, +Drs2:term) is det
-
- Arguments:
-
Drs1 | - is an Attempto DRS |
Drs2 | - is an Attempto DRS |
- are_equivalent(+Drs1:term, +Drs2:term) is det
- are_equivalent(+Drs1:term, +Drs2:term, +Options:list) is det
- are_equivalent_x(+Drs1:term, +Drs2:term) is det
-
- Arguments:
-
Drs1 | - is an Attempto DRS |
Drs2 | - is an Attempto DRS |
Options | - is a list of options
The DRSs are equivalent iff they are well-formed and
every condition list of Drs1 is a subset of some condition list
of Drs2, and the other way around.
Valid options are:
- ignore_sid(Bool)
- If
true then the sentence IDs are ignored during comparison,
otherwise (default) the sentence IDs are taken into consideration.
|
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- are_equivalent(Arg1, Arg2, Arg3)