Sent from my iPhone On 16 Oct 2017, at 00:49, Andrej Bauer > wrote: The theorem that beta-reduction preserves matching brackets is mixing levels of abstraction in bad way. As we are happy to reason about terms as trees knowing that we can parse strings into trees, we should think about intrinsic terms (what Thomas calls "derivations") knowing that by type checking and scope checking we can convert trees into derivations. Assigning meaning to purely syntactic entities is a confusing levels of abstractions in the same way as the matching brackets theorem. I do not understand these remarks. Did I say somewhere that we should worry about matching brackets in beta-reductions, or that we should do semantics at the wrong level of abstraction? Sorry if this was not very clear. I was trying to make an analogy. Some novice programmers seem to think that strings are the only data structure. From this point of view we may define beta reduction as an operation on strings and then prove that it preserves matching brackets. I hope we all agree that this makes little sense. Instead beta reduction should be defined on trees or even better alpha-equivalence classes of trees. Analogously we should think of derivations and not preterms when studying the semantics of Type Theory. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.