 At the syntactic level, we read \(X \vdash A\) as processing on \(X\) generates information of type A. In this case we are understanding \(\vdash\) as an information processing mechanism as suggested by Wansing (1993: 16), such that \(\vdash\) encodes not just the output of an information processing procedure, but the properties of the procedure itself. Just what this processing consists of will depend on the processing constraints that we set up on our database. These processing constraints will be imposed in order to guarantee an output from the processing itself, or to put this another way, in order to preserve information flow. Such processing constraints are fixed by the presence or absence of various structural rules, and structural rules are the business of substructural logics. 