## Generated by Codox

# Wildwood 0.1.0-SNAPSHOT

# wildwood.schema

The knowledge representation. This probably ends up looking a bit like a Toulmin schema, where claims are represented as propositions. There also need to be rules or predicates, things which can test whether a given proposition has a given value. There may be other stuff in here.

Internal representation of most of this will be as Clojure maps.

### argument-keys

Every argument is a proposition, which additionally has these keys.

view source

### argument?

`(argument? o)`

True if `o` qualifies as an argument structure.

An argument structure is a (potentially rich) proposition which, in addition, should have values for `:confidence` and `:authority`. A value for `:data` may, and probably will, also be present but is not required. The value of `:confidence` must be a number in the range -1 to 1.

view source

### consensual-keys

Every proposition which has these keys, in a given decision process, must have the same semantics and types for their values. The exact representations used for the values of these keys does not matter, it is consensual between all participating advocates in a decision process.

view source

### minimise

`(minimise o)`

Expecting that `o` is a (potentially rich) proposition, return a map identical to `o` save that for each value `v` of key `k` in `o`, if `v` is a map and `k` is not a member of `argument-keys`, then the returned map shall substitute the value of `(:id v)`.

see also `wildwood.knowledge-access/maximise`.

view source

### preserved-keys

Keys whose values should not be minimised during proposition minimisation

view source

### proposition?

`(proposition? o)``(proposition? o minimised)`

True if `o` qualifies as a proposition. A proposition is probably a map with some privileged keys, and may look something like a minimised `the-great-game.gossip.news-items` item.

If `minimised` is passed and is `true`, then the proposition must be minimised - that is to say, the values of keys in a proposition map may not themselves be keys. Where the value of a key represents an object in the world, that value must be simply the `id` of the object, not a richer representation.

view source

### required-keys

Every proposition is expected to have values for these keys.

view source

### rule?

`(rule? o)`

True if `o` qualifies as a rule. A rule is a structure which comprises * an id and * a function of two arguments, a proposition and a knowledge accessor, and which should (if this can simply be checked) return an argument structure.

view source

### truth

`(truth p)`

If `p` is a proposition, return whether the value asserted by that proposition is `true`. If the `:truth` key is missing, `true` is assumed.

view source