### rules.json:

Definition file with all rules.

Format:

```
"rule_index": {
    "premise_map": {
      # symbolic predicte -> natural language predicate
    },
    "conclusion_map": {
      # symbolic predicte -> natural language predicate
    },
    "variables": {
      # variable: [
        [Str] name, 
        [Str] data type,
        [Bool] generic node,
        [Str] "factual" or None,
      ]
    },
    "domain": # temporal, locational, capability and advice, natural properties
  }
```



### Domains

Our rules cover four domains:
1. temporal: rules based on the temporal information of a person or an object.
2. locational: rules based on the locations of a person or an object.
3. capability and advice: rules based on capability of a person, such as his skill.
4. natural properties: rules based on the natural properties of an object, such as its density.

