Loogle!
Result
Found 1265 definitions whose name contains "Name". Of these, only the first 200 are shown.
- Lean.Name π Init.Prelude
: Type - Lean.nameLitKind π Init.Prelude
: Lean.SyntaxNodeKind - Lean.Name.anonymous π Init.Prelude
: Lean.Name - Lean.instAppendName π Init.Prelude
: Append Lean.Name - Lean.instHashableName π Init.Prelude
: Hashable Lean.Name - Lean.instInhabitedName π Init.Prelude
: Inhabited Lean.Name - Lean.Macro.getCurrNamespace π Init.Prelude
: Lean.MacroM Lean.Name - Lean.MacroScopesView.name π Init.Prelude
(self : Lean.MacroScopesView) : Lean.Name - Lean.Name.eraseMacroScopes π Init.Prelude
(n : Lean.Name) : Lean.Name - Lean.Name.hasMacroScopes π Init.Prelude
: Lean.Name β Bool - Lean.Name.hash π Init.Prelude
: Lean.Name β UInt64 - Lean.Name.instBEq π Init.Prelude
: BEq Lean.Name - Lean.Name.mkSimple π Init.Prelude
(s : String) : Lean.Name - Lean.Name.mkStr1 π Init.Prelude
(sβ : String) : Lean.Name - Lean.Name.simpMacroScopes π Init.Prelude
(n : Lean.Name) : Lean.Name - Lean.Syntax.Preresolved.namespace π Init.Prelude
(ns : Lean.Name) : Lean.Syntax.Preresolved - Lean.Name.append π Init.Prelude
(a b : Lean.Name) : Lean.Name - Lean.Name.appendCore π Init.Prelude
: Lean.Name β Lean.Name β Lean.Name - Lean.Name.mkNum π Init.Prelude
(p : Lean.Name) (v : β) : Lean.Name - Lean.Name.mkStr π Init.Prelude
(p : Lean.Name) (s : String) : Lean.Name - Lean.Name.mkStr2 π Init.Prelude
(sβ sβ : String) : Lean.Name - Lean.Name.num π Init.Prelude
(pre : Lean.Name) (i : β) : Lean.Name - Lean.Name.str π Init.Prelude
(pre : Lean.Name) (str : String) : Lean.Name - Lean.Macro.Methods.getCurrNamespace π Init.Prelude
(self : Lean.Macro.Methods) : Lean.MacroM Lean.Name - Lean.Macro.resolveNamespace π Init.Prelude
(n : Lean.Name) : Lean.MacroM (List Lean.Name) - Lean.Name.beq π Init.Prelude
: Lean.Name β Lean.Name β Bool - Lean.Name.mkStr3 π Init.Prelude
(sβ sβ sβ : String) : Lean.Name - Lean.Name.mkStr4 π Init.Prelude
(sβ sβ sβ sβ : String) : Lean.Name - Lean.Macro.Methods.resolveNamespace π Init.Prelude
(self : Lean.Macro.Methods) : Lean.Name β Lean.MacroM (List Lean.Name) - Lean.Name.mkStr5 π Init.Prelude
(sβ sβ sβ sβ sβ : String) : Lean.Name - Lean.Macro.resolveGlobalName π Init.Prelude
(n : Lean.Name) : Lean.MacroM (List (Lean.Name Γ List String)) - Lean.Name.mkStr6 π Init.Prelude
(sβ sβ sβ sβ sβ sβ : String) : Lean.Name - namedPattern π Init.Prelude
{Ξ± : Sort u} (x a : Ξ±) (h : x = a) : Ξ± - Lean.Name.mkStr7 π Init.Prelude
(sβ sβ sβ sβ sβ sβ sβ : String) : Lean.Name - Lean.Macro.Methods.resolveGlobalName π Init.Prelude
(self : Lean.Macro.Methods) : Lean.Name β Lean.MacroM (List (Lean.Name Γ List String)) - Lean.Name.mkStr8 π Init.Prelude
(sβ sβ sβ sβ sβ sβ sβ sβ : String) : Lean.Name - Lean.Parser.Tactic.rename π Init.Tactics
: Lean.ParserDescr - Lean.Parser.Tactic.renameI π Init.Tactics
: Lean.ParserDescr - Lean.instSizeOfName π Init.SizeOf
: SizeOf Lean.Name - Lean.Name.sizeOf π Init.SizeOf
: Lean.Name β β - Lean.Name.anonymous.sizeOf_spec π Init.SizeOf
: sizeOf Lean.Name.anonymous = 1 - Lean.Name.num.sizeOf_spec π Init.SizeOf
(p : Lean.Name) (n : β) : sizeOf (p.num n) = 1 + sizeOf p + sizeOf n - Lean.Name.str.sizeOf_spec π Init.SizeOf
(p : Lean.Name) (s : String) : sizeOf (p.str s) = 1 + sizeOf p + sizeOf s - Lean.Name.num.injEq π Init.Core
(pre : Lean.Name) (i : β) (preβ : Lean.Name) (iβ : β) : (pre.num i = preβ.num iβ) = (pre = preβ β§ i = iβ) - Lean.Name.str.injEq π Init.Core
(pre : Lean.Name) (str : String) (preβ : Lean.Name) (strβ : String) : (pre.str str = preβ.str strβ) = (pre = preβ β§ str = strβ) - Lean.NameGenerator π Init.MetaTypes
: Type - Lean.instInhabitedNameGenerator π Init.MetaTypes
: Inhabited Lean.NameGenerator - Lean.NameGenerator.idx π Init.MetaTypes
(self : Lean.NameGenerator) : β - Lean.NameGenerator.namePrefix π Init.MetaTypes
(self : Lean.NameGenerator) : Lean.Name - Lean.NameGenerator.mk π Init.MetaTypes
(namePrefix : Lean.Name) (idx : β) : Lean.NameGenerator - Lean.NameGenerator.mk.injEq π Init.MetaTypes
(namePrefix : Lean.Name) (idx : β) (namePrefixβ : Lean.Name) (idxβ : β) : ({ namePrefix := namePrefix, idx := idx } = { namePrefix := namePrefixβ, idx := idxβ }) = (namePrefix = namePrefixβ β§ idx = idxβ) - Lean.NameGenerator.mk.sizeOf_spec π Init.MetaTypes
(namePrefix : Lean.Name) (idx : β) : sizeOf { namePrefix := namePrefix, idx := idx } = 1 + sizeOf namePrefix + sizeOf idx - Lean.Syntax.NameLit π Init.Meta
: Type - Lean.quoteNameMk π Init.Meta
: Lean.Name β Lean.Term - String.toName π Init.Meta
(s : String) : Lean.Name - Substring.toName π Init.Meta
(s : Substring) : Lean.Name - Lean.Name.capitalize π Init.Meta
: Lean.Name β Lean.Name - Lean.Name.getRoot π Init.Meta
: Lean.Name β Lean.Name - Lean.Name.instDecidableEq π Init.Meta
: DecidableEq Lean.Name - Lean.Name.instRepr π Init.Meta
: Repr Lean.Name - Lean.Name.instToString π Init.Meta
: ToString Lean.Name - Lean.Name.isInaccessibleUserName π Init.Meta
: Lean.Name β Bool - Lean.NameGenerator.curr π Init.Meta
(g : Lean.NameGenerator) : Lean.Name - Lean.NameGenerator.next π Init.Meta
(g : Lean.NameGenerator) : Lean.NameGenerator - Lean.TSyntax.getName π Init.Meta
(s : Lean.NameLit) : Lean.Name - Lean.Name.toString.maybePseudoSyntax π Init.Meta
(n : Lean.Name) : Bool - Lean.MonadNameGenerator π Init.Meta
(m : Type β Type) : Type - Lean.Name.appendAfter π Init.Meta
(n : Lean.Name) (suffix : String) : Lean.Name - Lean.Name.appendBefore π Init.Meta
(n : Lean.Name) (pre : String) : Lean.Name - Lean.Name.appendIndexAfter π Init.Meta
(n : Lean.Name) (idx : β) : Lean.Name - Lean.Name.instLawfulBEq π Init.Meta
: LawfulBEq Lean.Name - Lean.Name.reprPrec π Init.Meta
(n : Lean.Name) (prec : β) : Lean.Format - Lean.Syntax.decodeNameLit π Init.Meta
(s : String) : Option Lean.Name - Lean.Syntax.isNameLit? π Init.Meta
(stx : Lean.Syntax) : Option Lean.Name - Lean.Syntax.splitNameLit π Init.Meta
(ss : Substring) : List Substring - Lean.TSyntax.instCoeNameLitTerm π Init.Meta
: Coe Lean.NameLit Lean.Term - Lean.instQuoteNameMkStr1 π Init.Meta
: Lean.Quote Lean.Name - Lean.Name.eraseSuffix? π Init.Meta
: Lean.Name β Lean.Name β Option Lean.Name - Lean.Name.modifyBase π Init.Meta
(n : Lean.Name) (f : Lean.Name β Lean.Name) : Lean.Name - Lean.Name.replacePrefix π Init.Meta
: Lean.Name β Lean.Name β Lean.Name β Lean.Name - Lean.NameGenerator.mkChild π Init.Meta
(g : Lean.NameGenerator) : Lean.NameGenerator Γ Lean.NameGenerator - Lean.Name.toStringWithSep.maybeEscape π Init.Meta
(escape : Bool) (s : String) (force : Bool) : String - Lean.Syntax.mkNameLit π Init.Meta
(val : String) (info : Lean.SourceInfo := Lean.SourceInfo.none) : Lean.NameLit - Lean.MonadNameGenerator.getNGen π Init.Meta
{m : Type β Type} [self : Lean.MonadNameGenerator m] : m Lean.NameGenerator - Lean.Name.escapePart π Init.Meta
(s : String) (force : Bool := false) : Option String - Lean.Name.beq.eq_1 π Init.Meta
: Lean.Name.anonymous.beq Lean.Name.anonymous = true - Lean.MonadNameGenerator.setNGen π Init.Meta
{m : Type β Type} [self : Lean.MonadNameGenerator m] : Lean.NameGenerator β m Unit - Lean.MonadNameGenerator.mk π Init.Meta
{m : Type β Type} (getNGen : m Lean.NameGenerator) (setNGen : Lean.NameGenerator β m Unit) : Lean.MonadNameGenerator m - Lean.Name.toStringWithSep π Init.Meta
(sep : String) (escape : Bool) (n : Lean.Name) (isToken : String β Bool := fun x => false) : String - Lean.Name.toString π Init.Meta
(n : Lean.Name) (escape : Bool := true) (isToken : String β Bool := fun x => false) : String - Lean.monadNameGeneratorLift π Init.Meta
(m n : Type β Type) [MonadLift m n] [Lean.MonadNameGenerator m] : Lean.MonadNameGenerator n - Lean.Name.beq_iff_eq π Init.Meta
{m n : Lean.Name} : (m == n) = true β m = n - Lean.Name.beq.eq_2 π Init.Meta
(pβ : Lean.Name) (sβ : String) (pβ : Lean.Name) (sβ : String) : (pβ.str sβ).beq (pβ.str sβ) = (sβ == sβ && pβ.beq pβ) - Lean.Name.beq.eq_3 π Init.Meta
(pβ : Lean.Name) (nβ : β) (pβ : Lean.Name) (nβ : β) : (pβ.num nβ).beq (pβ.num nβ) = (nβ == nβ && pβ.beq pβ) - Lean.Name.beq.eq_4 π Init.Meta
(xβ xβΒΉ : Lean.Name) (x_4 : xβ = Lean.Name.anonymous β xβΒΉ = Lean.Name.anonymous β False) (x_5 : β (pβ : Lean.Name) (sβ : String) (pβ : Lean.Name) (sβ : String), xβ = pβ.str sβ β xβΒΉ = pβ.str sβ β False) (x_6 : β (pβ : Lean.Name) (nβ : β) (pβ : Lean.Name) (nβ : β), xβ = pβ.num nβ β xβΒΉ = pβ.num nβ β False) : xβ.beq xβΒΉ = false - System.FilePath.fileName π Init.System.FilePath
(p : System.FilePath) : Option String - System.FilePath.withFileName π Init.System.FilePath
(p : System.FilePath) (fname : String) : System.FilePath - IO.FS.DirEntry.fileName π Init.System.IO
(self : IO.FS.DirEntry) : String - IO.FS.rename π Init.System.IO
(old new : System.FilePath) : IO Unit - TypeName π Init.Dynamic
(Ξ± : Type u) : Type - Dynamic.typeName π Init.Dynamic
(any : Dynamic) : Lean.Name - instNonemptyTypeName π Init.Dynamic
{Ξ± : Type u_1} : Nonempty (TypeName Ξ±) - TypeName.mk π Init.Dynamic
(Ξ± : Type u) (typeName : Lean.Name) : TypeName Ξ± - TypeName.typeName π Init.Dynamic
(Ξ± : Type u_1) [TypeName Ξ±] : Lean.Name - Lean.DataValue.ofName π Lean.Data.KVMap
(v : Lean.Name) : Lean.DataValue - Lean.KVMap.instValueName π Lean.Data.KVMap
: Lean.KVMap.Value Lean.Name - Lean.instCoeNameDataValue π Lean.Data.KVMap
: Coe Lean.Name Lean.DataValue - Lean.KVMap.setName π Lean.Data.KVMap
(m : Lean.KVMap) (k v : Lean.Name) : Lean.KVMap - Lean.KVMap.updateName π Lean.Data.KVMap
(m : Lean.KVMap) (k : Lean.Name) (f : Lean.Name β Lean.Name) : Lean.KVMap - Lean.KVMap.getName π Lean.Data.KVMap
(m : Lean.KVMap) (k : Lean.Name) (defVal : Lean.Name := Lean.Name.anonymous) : Lean.Name - Lean.KVMap.instForInProdNameDataValue π Lean.Data.KVMap
{m : Type u_1 β Type u_2} : ForIn m Lean.KVMap (Lean.Name Γ Lean.DataValue) - Lean.DataValue.ofName.injEq π Lean.Data.KVMap
(v vβ : Lean.Name) : (Lean.DataValue.ofName v = Lean.DataValue.ofName vβ) = (v = vβ) - Lean.DataValue.ofName.sizeOf_spec π Lean.Data.KVMap
(v : Lean.Name) : sizeOf (Lean.DataValue.ofName v) = 1 + sizeOf v - Lean.Name.getNumParts π Lean.Data.Name
: Lean.Name β β - Lean.Name.getPrefix π Lean.Data.Name
: Lean.Name β Lean.Name - Lean.Name.getString! π Lean.Data.Name
: Lean.Name β String - Lean.Name.hasNum π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.hashEx π Lean.Data.Name
: Lean.Name β UInt64 - Lean.Name.isAnonymous π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isAtomic π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isImplementationDetail π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isInternal π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isInternalDetail π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isInternalOrNum π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isNum π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.isStr π Lean.Data.Name
: Lean.Name β Bool - Lean.Name.cmp π Lean.Data.Name
: Lean.Name β Lean.Name β Ordering - Lean.Name.components π Lean.Data.Name
(n : Lean.Name) : List Lean.Name - Lean.Name.componentsRev π Lean.Data.Name
: Lean.Name β List Lean.Name - Lean.Name.eqStr π Lean.Data.Name
: Lean.Name β String β Bool - Lean.Name.isPrefixOf π Lean.Data.Name
: Lean.Name β Lean.Name β Bool - Lean.Name.isSuffixOf π Lean.Data.Name
: Lean.Name β Lean.Name β Bool - Lean.Name.lt π Lean.Data.Name
(x y : Lean.Name) : Bool - Lean.Name.quickCmp π Lean.Data.Name
(nβ nβ : Lean.Name) : Ordering - Lean.Name.quickCmpAux π Lean.Data.Name
: Lean.Name β Lean.Name β Ordering - Lean.Name.quickLt π Lean.Data.Name
(nβ nβ : Lean.Name) : Bool - Lean.Name.updatePrefix π Lean.Data.Name
: Lean.Name β Lean.Name β Lean.Name - Lean.Name.isInternalDetail.matchPrefix π Lean.Data.Name
(s pre : String) : Bool - Lean.Name.anyS π Lean.Data.Name
(n : Lean.Name) (f : String β Bool) : Bool - Lean.NameHashSet π Lean.Data.NameMap
: Type - Lean.NameSSet π Lean.Data.NameMap
: Type - Lean.NameSet π Lean.Data.NameMap
: Type - Lean.NameHashSet.empty π Lean.Data.NameMap
: Lean.NameHashSet - Lean.NameSSet.empty π Lean.Data.NameMap
: Lean.NameSSet - Lean.NameSet.empty π Lean.Data.NameMap
: Lean.NameSet - Lean.NameMap π Lean.Data.NameMap
(Ξ± : Type) : Type - Lean.NameHashSet.instEmptyCollection π Lean.Data.NameMap
: EmptyCollection Lean.NameHashSet - Lean.NameHashSet.instInhabited π Lean.Data.NameMap
: Inhabited Lean.NameHashSet - Lean.NameSSet.instEmptyCollection π Lean.Data.NameMap
: EmptyCollection Lean.NameSSet - Lean.NameSSet.instInhabited π Lean.Data.NameMap
: Inhabited Lean.NameSSet - Lean.NameSet.instAppend π Lean.Data.NameMap
: Append Lean.NameSet - Lean.NameSet.instEmptyCollection π Lean.Data.NameMap
: EmptyCollection Lean.NameSet - Lean.NameSet.instInhabited π Lean.Data.NameMap
: Inhabited Lean.NameSet - Lean.mkNameMap π Lean.Data.NameMap
(Ξ± : Type) : Lean.NameMap Ξ± - Lean.NameHashSet.contains π Lean.Data.NameMap
(s : Lean.NameHashSet) (n : Lean.Name) : Bool - Lean.NameSSet.contains π Lean.Data.NameMap
(s : Lean.NameSSet) (n : Lean.Name) : Bool - Lean.NameSSet.insert π Lean.Data.NameMap
(s : Lean.NameSSet) (n : Lean.Name) : Lean.NameSSet - Lean.NameSet.append π Lean.Data.NameMap
(s t : Lean.NameSet) : Lean.NameSet - Lean.NameSet.contains π Lean.Data.NameMap
(s : Lean.NameSet) (n : Lean.Name) : Bool - Lean.NameSet.insert π Lean.Data.NameMap
(s : Lean.NameSet) (n : Lean.Name) : Lean.NameSet - Lean.NameHashSet.filter π Lean.Data.NameMap
(f : Lean.Name β Bool) (s : Lean.NameHashSet) : Lean.NameHashSet - Lean.NameMap.instEmptyCollection π Lean.Data.NameMap
(Ξ± : Type) : EmptyCollection (Lean.NameMap Ξ±) - Lean.NameMap.instInhabited π Lean.Data.NameMap
(Ξ± : Type) : Inhabited (Lean.NameMap Ξ±) - Lean.NameSet.filter π Lean.Data.NameMap
(f : Lean.Name β Bool) (s : Lean.NameSet) : Lean.NameSet - Lean.NameMap.contains π Lean.Data.NameMap
{Ξ± : Type} (m : Lean.NameMap Ξ±) (n : Lean.Name) : Bool - Lean.NameHashSet.insert π Lean.Data.NameMap
(s : Lean.NameHashSet) (n : Lean.Name) : Std.HashSet Lean.Name - Lean.NameMap.find? π Lean.Data.NameMap
{Ξ± : Type} (m : Lean.NameMap Ξ±) (n : Lean.Name) : Option Ξ± - Lean.NameSet.instForInName π Lean.Data.NameMap
{m : Type u_1 β Type u_2} : ForIn m Lean.NameSet Lean.Name - Lean.NameMap.filter π Lean.Data.NameMap
{Ξ± : Type} (f : Lean.Name β Ξ± β Bool) (m : Lean.NameMap Ξ±) : Lean.NameMap Ξ± - Lean.NameMap.insert π Lean.Data.NameMap
{Ξ± : Type} (m : Lean.NameMap Ξ±) (n : Lean.Name) (a : Ξ±) : Lean.RBMap Lean.Name Ξ± Lean.Name.quickCmp - Lean.NameMap.filterMap π Lean.Data.NameMap
{Ξ± Ξ² : Type} (f : Lean.Name β Ξ± β Option Ξ²) (m : Lean.NameMap Ξ±) : Lean.NameMap Ξ² - Lean.NameMap.instForInProdName π Lean.Data.NameMap
{Ξ± : Type} {m : Type u_1 β Type u_2} : ForIn m (Lean.NameMap Ξ±) (Lean.Name Γ Ξ±) - Lean.OptionDecl.declName π Lean.Data.Options
(self : Lean.OptionDecl) : Lean.Name - Lean.Option.name π Lean.Data.Options
{Ξ± : Type} (self : Lean.Option Ξ±) : Lean.Name - Lean.instForInOptionsProdNameDataValue π Lean.Data.Options
{m : Type u_1 β Type u_2} : ForIn m Lean.Options (Lean.Name Γ Lean.DataValue) - Lean.getPPFullNames π Lean.PrettyPrinter.Delaborator.Options
(o : Lean.Options) : Bool - Lean.getPPPrivateNames π Lean.PrettyPrinter.Delaborator.Options
(o : Lean.Options) : Bool - Lean.pp.fullNames π Lean.PrettyPrinter.Delaborator.Options
: Lean.Option Bool - Lean.pp.privateNames π Lean.PrettyPrinter.Delaborator.Options
: Lean.Option Bool - Lean.instToFormatName_lean π Lean.Data.Format
: Lean.ToFormat Lean.Name - Lean.instToFormatProdNameDataValue π Lean.Data.Format
: Lean.ToFormat (Lean.Name Γ Lean.DataValue) - Lean.NameSanitizerState π Lean.Hygiene
: Type - Lean.getSanitizeNames π Lean.Hygiene
(o : Lean.Options) : Bool - Lean.NameSanitizerState.options π Lean.Hygiene
(self : Lean.NameSanitizerState) : Lean.Options - Lean.pp.sanitizeNames π Lean.Hygiene
: Lean.Option Bool - Lean.NameSanitizerState.nameStem2Idx π Lean.Hygiene
(self : Lean.NameSanitizerState) : Lean.NameMap β - Lean.NameSanitizerState.userName2Sanitized π Lean.Hygiene
(self : Lean.NameSanitizerState) : Lean.NameMap Lean.Name - Lean.sanitizeName π Lean.Hygiene
(userName : Lean.Name) : StateM Lean.NameSanitizerState Lean.Name - Lean.NameSanitizerState.mk π Lean.Hygiene
(options : Lean.Options) (nameStem2Idx : Lean.NameMap β) (userName2Sanitized : Lean.NameMap Lean.Name) : Lean.NameSanitizerState - Lean.NameSanitizerState.mk.injEq π Lean.Hygiene
(options : Lean.Options) (nameStem2Idx : Lean.NameMap β) (userName2Sanitized : Lean.NameMap Lean.Name) (optionsβ : Lean.Options) (nameStem2Idxβ : Lean.NameMap β) (userName2Sanitizedβ : Lean.NameMap Lean.Name) : ({ options := options, nameStem2Idx := nameStem2Idx, userName2Sanitized := userName2Sanitized } = { options := optionsβ, nameStem2Idx := nameStem2Idxβ, userName2Sanitized := userName2Sanitizedβ }) = (options = optionsβ β§ nameStem2Idx = nameStem2Idxβ β§ userName2Sanitized = userName2Sanitizedβ) - Lean.NameSanitizerState.mk.sizeOf_spec π Lean.Hygiene
(options : Lean.Options) (nameStem2Idx : Lean.NameMap β) (userName2Sanitized : Lean.NameMap Lean.Name) : sizeOf { options := options, nameStem2Idx := nameStem2Idx, userName2Sanitized := userName2Sanitized } = 1 + sizeOf options + sizeOf nameStem2Idx + sizeOf userName2Sanitized - Lean.LevelMVarId.name π Lean.Level
(self : Lean.LevelMVarId) : Lean.Name - Lean.Expr.bindingName! π Lean.Expr
: Lean.Expr β Lean.Name - Lean.Expr.constName π Lean.Expr
(e : Lean.Expr) : Lean.Name - Lean.Expr.constName! π Lean.Expr
: Lean.Expr β Lean.Name - Lean.Expr.ctorName π Lean.Expr
: Lean.Expr β String - Lean.Expr.letName! π Lean.Expr
: Lean.Expr β Lean.Name - Lean.FVarId.name π Lean.Expr
(self : Lean.FVarId) : Lean.Name - Lean.MVarId.name π Lean.Expr
(self : Lean.MVarId) : Lean.Name - Lean.Expr.constName? π Lean.Expr
: Lean.Expr β Option Lean.Name
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?b
By main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβ
andβ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
woould find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 026c9d9
serving mathlib revision 0e2973b