I swear there used to be a T-shirt for sale featuring the immortal words:
What part of
: means has type∈ means is in. (Likewise ∉ means "is not in".)Γ is usually used to refer to an environment or context; in this case it can be thought of as a set of type annotations, pairing an identifier with its type. Therefore x : σ ∈ Γ means that the environment Γ includes the fact that x has type σ.⊢ can be read as proves or determines. Γ ⊢ x : σ means that the environment Γ determines that x has type σ., is a way of including specific additional assumptions into an environment Γ.Γ, x : τ ⊢ e : τ' means that environment Γ, with the additional, overriding assumption that x has type τ, proves that e has type τ'.As requested: operator precedence, from highest to lowest:
λ x . e, ∀ α . σ, and τ → τ', let x = e0 in e1, and whitespace for function application.:∈ and ∉, (left-associative)⊢