instance
Lake.instForInNameMapProdName
{m : Type u_1 → Type u_2}
{α : Type}
:
ForIn m (Lake.NameMap α) (Lake.Name × α)
Equations
- Lake.instForInNameMapProdName = { forIn := fun {β} [Monad m] self init f => Lean.RBMap.forIn self init f }
Equations
- Lake.instCoeRBMapNameQuickCmpNameMap = { coe := id }
@[inline, reducible]
Equations
Instances For
@[inline, reducible]
Equations
Instances For
Name Helpers #
@[simp]
theorem
Lake.Name.isPrefixOf_append
{n : Lake.Name}
{m : Lake.Name}
:
¬Lean.Name.hasMacroScopes n = true → ¬Lean.Name.hasMacroScopes m = true → Lean.Name.isPrefixOf n (n ++ m) = true
@[simp]
theorem
Lake.Name.quickCmpAux_iff_eq
{n : Lake.Name}
{n' : Lake.Name}
:
Lean.Name.quickCmpAux n n' = Ordering.eq ↔ n = n'
theorem
Lake.Name.eq_of_quickCmp
{n : Lake.Name}
{n' : Lake.Name}
:
Lean.Name.quickCmp n n' = Ordering.eq → n = n'
Equations
- Lake.Name.instLawfulCmpEqNameQuickCmp = Lake.LawfulCmpEq.mk (_ : ∀ {a : Lake.Name}, Lean.Name.quickCmp a a = Ordering.eq)
Equations
- Lake.Name.quoteFrom ref Lean.Name.anonymous = { raw := (Lean.mkCIdentFrom ref `Lean.Name.anonymous).raw }
- Lake.Name.quoteFrom ref (Lean.Name.str p s) = Lean.Syntax.mkApp { raw := (Lean.mkCIdentFrom ref `Lean.Name.mkStr).raw } #[Lake.Name.quoteFrom ref p, Lean.quote `term s]
- Lake.Name.quoteFrom ref (Lean.Name.num p v) = Lean.Syntax.mkApp { raw := (Lean.mkCIdentFrom ref `Lean.Name.mkNum).raw } #[Lake.Name.quoteFrom ref p, Lean.quote `term v]