import Mathlib.Tactic.TypeStar /-! # Interpretation to a Semantic Domain This file serves to introduce the double-angle-bracket "denotation" notation by prodiving a class instance `Interp`, whose single method `interp` is what the double brackets map to. -/ namespace Spa /-- A type `α` that implements this class has denotation / meaning in the semantic domain `dom`. -/ class Interp (α : Type*) (dom : outParam Type*) where interp : α → dom notation:max (priority := high) "⟦" v "⟧" => Interp.interp v end Spa