Affordances are a pretty neat idea in the ecological psychology literature – they are used to explain how an actor’s behavior is modified by its environment. For example, a bear might find a good night’s sleep in a cave that a squirrel would be restless in. That same cave might be perfect for the squirrel to find food in, while the bear might have to venture outside to find a meal.

Using the work of [Chemero 2003], affordances can be said to be predicated on two things: environmental features and actor abilities.

Environmental features are to states of affairs what properties are to objects – both entail some kind of attribution. The difference is that while a property is tied to a particular thing, a feature is just attributed to a whole state of affairs (or environment) at once. For example, “it’s bright outside” attributes brightness to nothing in particular, just the whole outdoor scene.

Actor abilities are held by Chemero to be ‘functional properties’, as opposed to dispositions. The difference here is that functional properties can malfunction even in ideal circumstances (you can trip over yourself on a perfectly good sidewalk) while dispositions are guaranteed to manifest when properly triggered.

I prefer a different take on dispositions that relaxes the necessity of manifestation given a proper trigger, but Chemero’s heart is in the right place – actor abilities can’t be blatantly deterministic. If manifestation was readily deducible, animals would be understood more as robots than as free agents. And heck, we might all be deterministic robots running off highly complex algorithms at the end of the day. But until that time comes, it’s better to expect a bit of manifestation failure in our actors’ abilities.

Suppose that Stan, sitting in the downstairs kitchen of his house, wants to go upstairs. How can we represent and explain that the staircase is a solution to his problem?

Following Chemero, we have a staircase in the kitchen with six-inch risers. We also have Stan, who is capable of climbing stairs of this standard height. Our theory of stairclimbing only takes riser-height into consideration, so Stan can theoretically get upstairs.

In terms of representation, the first floor, staircase, second floor, and their spatial connections constitute a state of affairs. This state of affairs has the feature of a path between the first and second floors via the staircase. Stan has the ability to climb stairs when the riser height is less than one foot. All together, we can say that the house affords Stan the ability to go upstairs.

In casual symbols, we have a path from the first to second floor through a staircase with 6″ risers:

(instance-of :first-floor Floor)
(instance-of :second-floor Floor)
(instance-of :staircase Staircase)
(feature (path [:first-floor :staircase :second-floor]))
(riser-height :staircase (inches 6))

Moreover, we have a theory that an actor can move between two adjacent path elements if both elements afford movement. The adjacency of path elements can be inferred from the formal structure of the path vector indicated with square brackets.

(=> (and (adjacent-path-elements ?x ?y)
         (located-in ?a ?x)
         (affords ?x Movement ?a)
         (affords ?y Movement ?a))
   (ability ?a (move-to ?y)))

From this it’s straightforward to show that movement along a path of properly-afforded elements is both transitive and symmetric.

We have two supplementary theories about movement: floors always afford movement, and staircases afford movement if they can be climbed.

(=> (instanceOf ?x Floor)
    (affords ?x Movement ?a))
(=> (and (instanceOf ?x Staircase) (ability ?a (climb ?x)))
    (affords ?x Movement ?a))

Apart from the house, we have Stan on the first floor and his ability to climb normal stairs:

(located-in :stan :first-floor)
(has-property :stan :a)
(=> (and (has-property ?x :a)
         (instanceOf ?s Staircase)
         (riser-height ?s ?h)
         (< ?h (inches 12)))
    (ability ?x (climb ?s)))

So we can deduce that Stan can climb the staircase:

(ability :stan (climb :staircase))

And thus that Stan can move from the first to the second floor:

(ability :stan (move-to :second-floor))

Chemero’s theory has a nice structure to it, as it forces us to think about our situation in terms of abilities and actions. The feature thing is also nice, as it relieves us from predicating the path of a particular gerrymandered object.

However, this representation needs some work. The disposition stuff needs to be cleaned up, for one. It’s also not clear that the logic used above is appropriate – in many cases, logical descriptions can accidently cover up important ontological commitments or confusions. For example, the move-to clause in

(ability :stan (move-to :second-floor))

isn’t truth-functional, which means that the whole sentence isn’t from the normal predicate calculus.  So there’s work for next time.