| … | … | @@ -8,7 +8,8 @@ |
| 8 | 8 | ; |
| 9 | 9 | ; Other parts of the code call this "polarity", and so the three examples |
| 10 | 10 | ; could be called mono-polar, bipolar and tri-polar. The concept of "mating" |
| 11 | | ; applies for either vocabulary. |
| 11 | ; applies for either vocabulary. "Joining" and "linking" are synonymous |
| 12 | ; ideas. Different blocks of code use these words interchangeably. |
| 12 | 13 | ; |
| 13 | 14 | (use-modules (opencog)) |
| 14 | 15 | ; |
| … | … | @@ -47,14 +48,21 @@ |
| 47 | 48 | (define dir-set (Concept "left-right connectors")) |
| 48 | 49 | (Member (Set (ConnectorDir "+") (ConnectorDir "-")) dir-set) |
| 49 | 50 | |
| 51 | ; Please keep in mind that a `Set` in Atomese is an unordered set. Thus, |
| 52 | ; the expression `(Set (ConnectorDir "+") (ConnectorDir "-"))` and also |
| 53 | ; `(Set (ConnectorDir "-") (ConnectorDir "+"))` are exactly the same set. |
| 54 | ; There is no need to specify both orderings. |
| 55 | ; |
| 56 | ; The above just says: "opposites attract". |
| 57 | |
| 50 | 58 | ; -------------------------------------- |
| 51 | 59 | ; The tri-sexual example follows below. It is not currently used in any |
| 52 | 60 | ; demos; the reader is encouraged to construct one. |
| 53 | 61 | ; |
| 54 | 62 | ; The example here is that there are three sexes, `a`, `b` and `c`. The |
| 55 | | ; mating rules are such that sex `a` can mate with `b`, but nothing else |
| 63 | ; mating rules are such that sex `a` can mate with `b`, but nothing else, |
| 56 | 64 | ; so `a` cannot mate to other `a`'s nor to `c`. The sex `c` can also mate |
| 57 | | ; to `b`, but not to itself. Finally, `b` cannot mate with itself. This |
| 65 | ; with `b`, but not to itself. Finally, `b` cannot mate with itself. This |
| 58 | 66 | ; idea is encoded in the following rules: |
| 59 | 67 | |
| 60 | 68 | (define sexuality-set (Concept "abc example")) |