For a visual presentation of the semantics of terms, we use Venn-diagrams.
Consider two relations: traveler[Trip*Person]
and dest[Trip*Destination]
. The first relation tells which persons have traveled on which trip. The diagram shows this as red dashed lines. The second relation links trips to destinations. It is depicted by dotted blue lines in the diagram.
Each pair (fact) in the diagram can be written as a fact in two ways, using the converse operator:
From the diagram, we assume that each pair represents a true statement (i.e. a fact). The statements are given both formally and in natural language. The elaborate version is a literate translation of the semantics in logic. The ordinary version tells the same in a more human sounding manner.
Consider two relations: traveler[Trip*Person]
and dest[Trip*Destination]
. The first relation tells which persons have traveled on which trip. The diagram shows this as red dashed lines. The second relation links trips to destinations. It is depicted by dotted blue lines in the diagram.
From this diagram, we can tell which statements are true (i.e. facts). The statements are given both formally and in natural language. The elaborate version is a literate translation of the . The ordinary version tells the same in a more human sounding manner.
The following statements do NOT follow from the population shown in the diagram:
Would you like a different explanation of the residual operators? explains them in natural language. for the explanation of residual operators in logic.
Formal statement
Elaborate natural language
Ordinary natural language
"Peter" (traveler~;dest) "Rome"
There is a trip that Peter has made, which has Rome as destination.
Peter has made a trip to Rome.
"Peter" (traveler~;dest) "Paris"
There is a trip that Peter has made, which has Paris as destination.
Peter has made a trip to Paris
Formal statement | Elaborate natural language | Ordinary natural language |
| For each trip, if Peter has made the trip then its destination is Rome. | Every trip that Peter made has Rome as destination. |
| For each trip, if Peter has made the trip then its destination is Paris. | Every trip that Peter made has Paris as destination. |
| For each trip, if Paris is the destination then Peter has made that trip. | Every trip to Paris has been made by Peter. |
Fact
Fact
"Peter" traveler~ "LBD-199"
"LBD-199" traveler "Peter"
"Peter" traveler~ "TSS-730"
"TSS-730" traveler "Peter"
"TSS-730" dest "Rome"
"Rome" dest~ "TSS-730"
"TSS-730" dest "Paris"
"Paris" dest~ "TSS-730"
"QRA-492" dest "Paris"
"Paris" dest~ "QRA-492"
Formal statement | Elaborate natural language | Ordinary natural language |
| For each trip, if it has destination Rome, then it has been made by Peter. | Every trip to Rome has been made by Peter. |
Consider two relations: authorized[Account*Person]
and beneficiary[Account*Person]
. The first relation tells which persons are authorized to which accounts. The diagram shows this as red dashed lines. The second relation tells which persons stand to benefit from which accounts.. It is depicted by dotted blue lines in the diagram.
This diagram gives an example population of the relations authorized[Account*Person]
and beneficiary[Account*Person]
. Bob is authorized for account DE9382991 and Ann is authorized for account RS746620. Carl stands to benefit from account NL19RABO03992844 and Ann stands to benefit from account RS746620. Formally, we say:
By combining the relations authorized
and beneficiary
, we can derive the following true statements.
A different way to state the same is:
Would you like a different explanation of the boolean operators? This page explains them in set theory. Click here for the semantics of the boolean operators in algebra. Here you get their definitions in logic.
statement
natural language
"RS746620" (authorized/\beneficiary) "Ann"
Ann is authorized for and stands to benefit from for account RS746620.
"NL19RABO03992844" (authorized\/beneficiary) "Carl"
Carl is authorized for or stands to benefit from account NL19RABO03992844.
"RS746620" (authorized\/beneficiary) "Ann"
Ann is authorized for or stands to benefit from account RS746620.
"DE9382991" (authorized\/beneficiary) "Bob"
Bob is authorized for or stands to benefit from account DE9382991.
authorized/\beneficiary = {("RS746620", "Ann")}
authorized\/beneficiary =
{ ("NL19RABO03992844", "Carl")
, ("RS746620", "Ann")
, ("DE9382991", "Bob") }
statements
"NL19RABO03992844" beneficiary "Carl"
"DE9382991" authorized "Bob"
"RS746620" authorized "Ann"
"RS746620" beneficiary "Ann"