laurelang
laurelang copied to clipboard
Feature: predefined structure relations
: ? married(person, person).
? married(p1_uid, p2_uid) {
db:Marriage(partner_id=p1_uid, partner2_id=p2_uid);
}%
? married(p1_uid, p2_uid) { married(p2_uid, p1_uid); }
$ InMarriage {
person(name, _) person_1;
person person_2;
} where {
married(person_1, person_2);
not({
divorced(person_1, person_2)
| dead(person_1)
| dead(person_2);
});
}
? InMarriage:repr(in_marriage) -> format("{in_marriage:name} is happily married with {partners_name}") {
person(partners_name, _) = in_marriage:person_2;
}