53 lines
909 B
Text
53 lines
909 B
Text
import Lean
|
|
/-!
|
|
# Escaping names that are tokens when pretty printing
|
|
-/
|
|
|
|
|
|
/-!
|
|
Variable that's a token.
|
|
-/
|
|
section
|
|
variable («forall» : Nat)
|
|
|
|
/-- info: «forall» + 1 : Nat -/
|
|
#guard_msgs in #check «forall» + 1
|
|
end
|
|
|
|
|
|
/-!
|
|
Constant that's a token
|
|
-/
|
|
def «forall» := 1
|
|
|
|
/-- info: «forall» + 1 : Nat -/
|
|
#guard_msgs in #check «forall» + 1
|
|
|
|
|
|
/-!
|
|
Don't escape name components that are tokens if the prefix is not a token.
|
|
-/
|
|
def Exists.forall := 1
|
|
|
|
/-- info: Exists.forall : Nat -/
|
|
#guard_msgs in #check Exists.forall
|
|
|
|
|
|
/-!
|
|
Overly cautious for tokens that are prefixes.
|
|
-/
|
|
def forall.congr := 1
|
|
|
|
/-- info: «forall».congr : Nat -/
|
|
#guard_msgs in #check forall.congr
|
|
|
|
|
|
/-!
|
|
Escape the last name component to avoid a token.
|
|
-/
|
|
notation "Exists.forall" => true
|
|
|
|
/-- info: Exists.«forall» : Nat -/
|
|
#guard_msgs in #check «Exists».forall
|
|
/-- info: Exists.forall : Bool -/
|
|
#guard_msgs in #check Exists.forall
|