Loogle!
Result
Found 1217 declarations mentioning Lean.Syntax. Of these, only the first 200 are shown.
- Lean.Syntax 📋 Init.Prelude
: Type - Lean.Syntax.missing 📋 Init.Prelude
: Lean.Syntax - Lean.instInhabitedSyntax 📋 Init.Prelude
: Inhabited Lean.Syntax - Lean.mkAtom 📋 Init.Prelude
(val : String) : Lean.Syntax - Lean.Syntax.getHeadInfo 📋 Init.Prelude
(stx : Lean.Syntax) : Lean.SourceInfo - Lean.Syntax.getId 📋 Init.Prelude
: Lean.Syntax → Lean.Name - Lean.Syntax.getKind 📋 Init.Prelude
(stx : Lean.Syntax) : Lean.SyntaxNodeKind - Lean.Syntax.getNumArgs 📋 Init.Prelude
(stx : Lean.Syntax) : ℕ - Lean.Syntax.isIdent 📋 Init.Prelude
: Lean.Syntax → Bool - Lean.Syntax.isMissing 📋 Init.Prelude
: Lean.Syntax → Bool - Lean.Macro.Context.ref 📋 Init.Prelude
(self : Lean.Macro.Context) : Lean.Syntax - Lean.replaceRef 📋 Init.Prelude
(ref oldRef : Lean.Syntax) : Lean.Syntax - Lean.Syntax.atom 📋 Init.Prelude
(info : Lean.SourceInfo) (val : String) : Lean.Syntax - Lean.Syntax.getArg 📋 Init.Prelude
(stx : Lean.Syntax) (i : ℕ) : Lean.Syntax - Lean.Syntax.getArgs 📋 Init.Prelude
(stx : Lean.Syntax) : Array Lean.Syntax - Lean.Syntax.getHeadInfo? 📋 Init.Prelude
: Lean.Syntax → Option Lean.SourceInfo - Lean.Syntax.getInfo? 📋 Init.Prelude
: Lean.Syntax → Option Lean.SourceInfo - Lean.Syntax.getOptional? 📋 Init.Prelude
(stx : Lean.Syntax) : Option Lean.Syntax - Lean.Syntax.isOfKind 📋 Init.Prelude
(stx : Lean.Syntax) (k : Lean.SyntaxNodeKind) : Bool - Lean.Syntax.matchesIdent 📋 Init.Prelude
(stx : Lean.Syntax) (id : Lean.Name) : Bool - Lean.Syntax.matchesNull 📋 Init.Prelude
(stx : Lean.Syntax) (n : ℕ) : Bool - Lean.Syntax.setKind 📋 Init.Prelude
(stx : Lean.Syntax) (k : Lean.SyntaxNodeKind) : Lean.Syntax - Lean.Macro.Exception.error 📋 Init.Prelude
: Lean.Syntax → String → Lean.Macro.Exception - Lean.Macro.expandMacro? 📋 Init.Prelude
(stx : Lean.Syntax) : Lean.MacroM (Option Lean.Syntax) - Lean.Syntax.isNodeOf 📋 Init.Prelude
(stx : Lean.Syntax) (k : Lean.SyntaxNodeKind) (n : ℕ) : Bool - Lean.Syntax.matchesLit 📋 Init.Prelude
(stx : Lean.Syntax) (k : Lean.SyntaxNodeKind) (val : String) : Bool - Lean.Syntax.node1 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ : Lean.Syntax) : Lean.Syntax - Lean.TSyntax.mk 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} (raw : Lean.Syntax) : Lean.TSyntax ks - Lean.TSyntax.raw 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} (self : Lean.TSyntax ks) : Lean.Syntax - Lean.Macro.throwErrorAt 📋 Init.Prelude
{α : Type} (ref : Lean.Syntax) (msg : String) : Lean.MacroM α - Lean.SourceInfo.fromRef 📋 Init.Prelude
(ref : Lean.Syntax) (canonical : Bool := false) : Lean.SourceInfo - Lean.Syntax.node 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (args : Array Lean.Syntax) : Lean.Syntax - Lean.Syntax.node2 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ : Lean.Syntax) : Lean.Syntax - Lean.TSyntaxArray.mk 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} (as : Array Lean.Syntax) : Lean.TSyntaxArray ks - Lean.TSyntaxArray.mkImpl 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} : Array Lean.Syntax → Lean.TSyntaxArray ks - Lean.TSyntaxArray.raw 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} (as : Lean.TSyntaxArray ks) : Array Lean.Syntax - Lean.TSyntaxArray.rawImpl 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} : Lean.TSyntaxArray ks → Array Lean.Syntax - Lean.Macro.Methods.expandMacro? 📋 Init.Prelude
(self : Lean.Macro.Methods) : Lean.Syntax → Lean.MacroM (Option Lean.Syntax) - Lean.Syntax.SepArray.elemsAndSeps 📋 Init.Prelude
{sep : String} (self : Lean.Syntax.SepArray sep) : Array Lean.Syntax - Lean.Syntax.SepArray.mk 📋 Init.Prelude
{sep : String} (elemsAndSeps : Array Lean.Syntax) : Lean.Syntax.SepArray sep - Lean.mkAtomFrom 📋 Init.Prelude
(src : Lean.Syntax) (val : String) (canonical : Bool := false) : Lean.Syntax - Lean.mkNullNode 📋 Init.Prelude
(args : Array Lean.Syntax := #[]) : Lean.Syntax - Lean.Macro.withIncRecDepth 📋 Init.Prelude
{α : Type} (ref : Lean.Syntax) (x : Lean.MacroM α) : Lean.MacroM α - Lean.MonadRef.getRef 📋 Init.Prelude
{m : Type → Type} [self : Lean.MonadRef m] : m Lean.Syntax - Lean.Syntax.getPos? 📋 Init.Prelude
(stx : Lean.Syntax) (canonicalOnly : Bool := false) : Option String.Pos.Raw - Lean.Syntax.getTailPos? 📋 Init.Prelude
(stx : Lean.Syntax) (canonicalOnly : Bool := false) : Option String.Pos.Raw - Lean.Syntax.ident 📋 Init.Prelude
(info : Lean.SourceInfo) (rawVal : Substring.Raw) (val : Lean.Name) (preresolved : List Lean.Syntax.Preresolved) : Lean.Syntax - Lean.Syntax.node3 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ : Lean.Syntax) : Lean.Syntax - Lean.Syntax.node4 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ a₄ : Lean.Syntax) : Lean.Syntax - Lean.Macro.Context.mk 📋 Init.Prelude
(methods : Lean.Macro.MethodsRef) (quotContext : Lean.Name) (currMacroScope : Lean.MacroScope) (currRecDepth maxRecDepth : ℕ) (ref : Lean.Syntax) : Lean.Macro.Context - Lean.Syntax.TSepArray.elemsAndSeps 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} {sep : String} (self : Lean.Syntax.TSepArray ks sep) : Array Lean.Syntax - Lean.Syntax.TSepArray.mk 📋 Init.Prelude
{ks : Lean.SyntaxNodeKinds} {sep : String} (elemsAndSeps : Array Lean.Syntax) : Lean.Syntax.TSepArray ks sep - Lean.Syntax.node5 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ a₄ a₅ : Lean.Syntax) : Lean.Syntax - Lean.mkNode 📋 Init.Prelude
(k : Lean.SyntaxNodeKind) (args : Array Lean.Syntax) : Lean.TSyntax k - Lean.Syntax.node6 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ a₄ a₅ a₆ : Lean.Syntax) : Lean.Syntax - Lean.MonadRef.withRef 📋 Init.Prelude
{m : Type → Type} [self : Lean.MonadRef m] {α : Type} : Lean.Syntax → m α → m α - Lean.Syntax.node7 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ a₄ a₅ a₆ a₇ : Lean.Syntax) : Lean.Syntax - Lean.Syntax.node8 📋 Init.Prelude
(info : Lean.SourceInfo) (kind : Lean.SyntaxNodeKind) (a₁ a₂ a₃ a₄ a₅ a₆ a₇ a₈ : Lean.Syntax) : Lean.Syntax - Lean.withRef 📋 Init.Prelude
{m : Type → Type} [Monad m] [Lean.MonadRef m] {α : Type} (ref : Lean.Syntax) (x : m α) : m α - Lean.MonadRef.mk 📋 Init.Prelude
{m : Type → Type} (getRef : m Lean.Syntax) (withRef : {α : Type} → Lean.Syntax → m α → m α) : Lean.MonadRef m - Lean.withRef? 📋 Init.Prelude
{m : Type → Type} [Monad m] [Lean.MonadRef m] {α : Type} (ref? : Option Lean.Syntax) (x : m α) : m α - Lean.Macro.Methods.mk 📋 Init.Prelude
(expandMacro? : Lean.Syntax → Lean.MacroM (Option Lean.Syntax)) (getCurrNamespace : Lean.MacroM Lean.Name) (hasDecl : Lean.Name → Lean.MacroM Bool) (resolveNamespace : Lean.Name → Lean.MacroM (List Lean.Name)) (resolveGlobalName : Lean.Name → Lean.MacroM (List (Lean.Name × List String))) : Lean.Macro.Methods - Lean.instCoeOutTSyntaxSyntax 📋 Init.Notation
{ks : Lean.SyntaxNodeKinds} : CoeOut (Lean.TSyntax ks) Lean.Syntax - Lean.instCoeSyntaxTSyntaxConsSyntaxNodeKindMkStr1Nil 📋 Init.Notation
: Coe Lean.Syntax (Lean.TSyntax `rawStx) - autoParam 📋 Init.Tactics
(α : Sort u) (tactic : Lean.Syntax) : Sort u - Lean.Module.header 📋 Init.MetaTypes
(self : Lean.Module) : Lean.Syntax - Lean.Module.commands 📋 Init.MetaTypes
(self : Lean.Module) : Array Lean.Syntax - Lean.Module.mk 📋 Init.MetaTypes
(header : Lean.Syntax) (commands : Array Lean.Syntax) : Lean.Module - Lean.Syntax.instGetElemNatTrue 📋 Init.GetElem
: GetElem Lean.Syntax ℕ Lean.Syntax fun x x_1 => True - Lean.Syntax.getTailInfo 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Lean.SourceInfo - Lean.Syntax.getTrailingSize 📋 Init.Meta.Defs
(stx : Lean.Syntax) : ℕ - Lean.Syntax.hasArgs 📋 Init.Meta.Defs
: Lean.Syntax → Bool - Lean.Syntax.instBEq 📋 Init.Meta.Defs
: BEq Lean.Syntax - Lean.Syntax.instRepr 📋 Init.Meta.Defs
: Repr Lean.Syntax - Lean.Syntax.isAtom 📋 Init.Meta.Defs
: Lean.Syntax → Bool - Lean.Syntax.isNone 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Bool - Lean.Syntax.mkSynthetic 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.toNat 📋 Init.Meta.Defs
(stx : Lean.Syntax) : ℕ - Lean.Syntax.unsetTrailing 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Lean.Syntax - Lean.evalPrec 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Lean.MacroM ℕ - Lean.evalPrio 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Lean.MacroM ℕ - Lean.mkOptionalNode 📋 Init.Meta.Defs
(arg : Option Lean.Syntax) : Lean.Syntax - Lean.Syntax.copyHeadTailInfoFrom 📋 Init.Meta.Defs
(target source : Lean.Syntax) : Lean.Syntax - Lean.Syntax.getHead? 📋 Init.Meta.Defs
: Lean.Syntax → Option Lean.Syntax - Lean.Syntax.getOptionalIdent? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option Lean.Name - Lean.Syntax.getSepArgs 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Array Lean.Syntax - Lean.Syntax.getTailInfo? 📋 Init.Meta.Defs
: Lean.Syntax → Option Lean.SourceInfo - Lean.Syntax.getTrailing? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option Substring.Raw - Lean.Syntax.isCharLit? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option Char - Lean.Syntax.isFieldIdx? 📋 Init.Meta.Defs
(s : Lean.Syntax) : Option ℕ - Lean.Syntax.isIdOrAtom? 📋 Init.Meta.Defs
: Lean.Syntax → Option String - Lean.Syntax.isInterpolatedStrLit? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option String - Lean.Syntax.isNameLit? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option Lean.Name - Lean.Syntax.isNatLit? 📋 Init.Meta.Defs
(s : Lean.Syntax) : Option ℕ - Lean.Syntax.isStrLit? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option String - Lean.Syntax.isToken 📋 Init.Meta.Defs
(token : String) : Lean.Syntax → Bool - Lean.Syntax.setHeadInfo 📋 Init.Meta.Defs
(stx : Lean.Syntax) (info : Lean.SourceInfo) : Lean.Syntax - Lean.Syntax.setInfo 📋 Init.Meta.Defs
(info : Lean.SourceInfo) : Lean.Syntax → Lean.Syntax - Lean.Syntax.setTailInfo 📋 Init.Meta.Defs
(stx : Lean.Syntax) (info : Lean.SourceInfo) : Lean.Syntax - Lean.Syntax.structEq 📋 Init.Meta.Defs
: Lean.Syntax → Lean.Syntax → Bool - Lean.Syntax.instRepr.repr 📋 Init.Meta.Defs
: Lean.Syntax → ℕ → Std.Format - Lean.Syntax.isLit? 📋 Init.Meta.Defs
(litKind : Lean.SyntaxNodeKind) (stx : Lean.Syntax) : Option String - Lean.Syntax.mkSep 📋 Init.Meta.Defs
(a : Array Lean.Syntax) (sep : Lean.Syntax) : Lean.Syntax - Lean.Syntax.setHeadInfoAux 📋 Init.Meta.Defs
(info : Lean.SourceInfo) : Lean.Syntax → Option Lean.Syntax - Lean.Syntax.setTailInfoAux 📋 Init.Meta.Defs
(info : Lean.SourceInfo) : Lean.Syntax → Option Lean.Syntax - Lean.mkHole 📋 Init.Meta.Defs
(ref : Lean.Syntax) (canonical : Bool := false) : Lean.Term - Lean.mkSepArray 📋 Init.Meta.Defs
(as : Array Lean.Syntax) (sep : Lean.Syntax) : Array Lean.Syntax - Lean.Syntax.find? 📋 Init.Meta.Defs
(stx : Lean.Syntax) (p : Lean.Syntax → Bool) : Option Lean.Syntax - Lean.Syntax.findAux 📋 Init.Meta.Defs
(p : Lean.Syntax → Bool) : Lean.Syntax → Option Lean.Syntax - Lean.Syntax.SepArray.getElems 📋 Init.Meta.Defs
{sep : String} (sa : Lean.Syntax.SepArray sep) : Array Lean.Syntax - Lean.Syntax.SepArray.ofElems 📋 Init.Meta.Defs
{sep : String} (elems : Array Lean.Syntax) : Lean.Syntax.SepArray sep - Lean.TSyntax.Compat.instCoeTailSyntax 📋 Init.Meta.Defs
{k : Lean.SyntaxNodeKinds} : CoeTail Lean.Syntax (Lean.TSyntax k) - Array.filterSepElems 📋 Init.Meta.Defs
(a : Array Lean.Syntax) (p : Lean.Syntax → Bool) : Array Lean.Syntax - Array.mapSepElems 📋 Init.Meta.Defs
(a : Array Lean.Syntax) (f : Lean.Syntax → Lean.Syntax) : Array Lean.Syntax - Lean.mkCIdentFrom 📋 Init.Meta.Defs
(src : Lean.Syntax) (c : Lean.Name) (canonical : Bool := false) : Lean.Ident - Lean.mkIdentFrom 📋 Init.Meta.Defs
(src : Lean.Syntax) (val : Lean.Name) (canonical : Bool := false) : Lean.Ident - Lean.Syntax.getTrailingTailPos? 📋 Init.Meta.Defs
(stx : Lean.Syntax) (canonicalOnly : Bool := false) : Option String.Pos.Raw - Lean.Syntax.instCoeArraySepArray 📋 Init.Meta.Defs
{sep : String} : Coe (Array Lean.Syntax) (Lean.Syntax.SepArray sep) - Lean.Syntax.instCoeOutSepArrayArray 📋 Init.Meta.Defs
{sep : String} : CoeOut (Lean.Syntax.SepArray sep) (Array Lean.Syntax) - Lean.Syntax.instCoeOutTSyntaxArrayArray 📋 Init.Meta.Defs
{k : Lean.SyntaxNodeKinds} : CoeOut (Lean.TSyntaxArray k) (Array Lean.Syntax) - Lean.TSyntax.Compat.instCoeTailArraySyntaxTSyntaxArray 📋 Init.Meta.Defs
{k : Lean.SyntaxNodeKinds} : CoeTail (Array Lean.Syntax) (Lean.TSyntaxArray k) - Lean.Syntax.isScientificLit? 📋 Init.Meta.Defs
(stx : Lean.Syntax) : Option (ℕ × Bool × ℕ) - Lean.mkGroupNode 📋 Init.Meta.Defs
(args : Array Lean.Syntax := #[]) : Lean.Syntax - Lean.TSyntax.Compat.instCoeTailArraySyntaxTSepArray 📋 Init.Meta.Defs
{k : Lean.SyntaxNodeKinds} {sep : String} : CoeTail (Array Lean.Syntax) (Lean.Syntax.TSepArray k sep) - Lean.Syntax.getSubstring? 📋 Init.Meta.Defs
(stx : Lean.Syntax) (withLeading withTrailing : Bool := true) : Option Substring.Raw - Lean.Parser.Tactic.getConfigItems 📋 Init.Meta.Defs
(c : Lean.Syntax) : Lean.TSyntaxArray `Lean.Parser.Tactic.configItem - Array.filterSepElemsM 📋 Init.Meta.Defs
{m : Type → Type} [Monad m] (a : Array Lean.Syntax) (p : Lean.Syntax → m Bool) : m (Array Lean.Syntax) - Array.mapSepElemsM 📋 Init.Meta.Defs
{m : Type → Type} [Monad m] (a : Array Lean.Syntax) (f : Lean.Syntax → m Lean.Syntax) : m (Array Lean.Syntax) - Lean.mkCIdentFromRef 📋 Init.Meta.Defs
{m : Type → Type} [Monad m] [Lean.MonadRef m] (c : Lean.Name) (canonical : Bool := false) : m Lean.Syntax - Lean.Parser.Tactic.appendConfig 📋 Init.Meta.Defs
(cfg cfg' : Lean.Syntax) : Lean.TSyntax `Lean.Parser.Tactic.optConfig - Lean.Syntax.SepArray.ofElemsUsingRef 📋 Init.Meta.Defs
{m : Type → Type} [Monad m] [Lean.MonadRef m] {sep : String} (elems : Array Lean.Syntax) : m (Lean.Syntax.SepArray sep) - Lean.TSyntax.expandInterpolatedStrChunks 📋 Init.Meta.Defs
(chunks : Array Lean.Syntax) (mkAppend : Lean.Syntax → Lean.Syntax → Lean.MacroM Lean.Syntax) (mkElem : Lean.Syntax → Lean.MacroM Lean.Syntax) (mkLit : String → Lean.MacroM Lean.Syntax) : Lean.MacroM Lean.Syntax - Lean.expandMacros 📋 Init.Meta.Defs
(stx : Lean.Syntax) (p : Lean.SyntaxNodeKind → Bool := fun k => k != `Lean.Parser.Term.byTactic) : Lean.MacroM Lean.Syntax - Lean.Syntax.setArg 📋 Init.Syntax
(stx : Lean.Syntax) (i : ℕ) (arg : Lean.Syntax) : Lean.Syntax - Lean.Syntax.setArgs 📋 Init.Syntax
(stx : Lean.Syntax) (args : Array Lean.Syntax) : Lean.Syntax - Lean.expandBracketedBinders 📋 Init.NotationExtra
(combinatorDeclName : Lean.Name) (bracketedExplicitBinders body : Lean.Syntax) : Lean.MacroM Lean.Syntax - Lean.expandExplicitBinders 📋 Init.NotationExtra
(combinatorDeclName : Lean.Name) (explicitBinders body : Lean.Syntax) : Lean.MacroM Lean.Syntax - Lean.expandBracketedBindersAux 📋 Init.NotationExtra
(combinator : Lean.Syntax) (binders : Array Lean.Syntax) (body : Lean.Syntax) : Lean.MacroM Lean.Syntax - Lean.expandExplicitBindersAux 📋 Init.NotationExtra
(combinator : Lean.Syntax) (idents : Array Lean.Syntax) (type? : Option Lean.Syntax) (body : Lean.Syntax) : Lean.MacroM Lean.Syntax - Lean.Syntax.instToFormat 📋 Init.Data.Format.Syntax
: Std.ToFormat Lean.Syntax - Lean.Syntax.instToString 📋 Init.Data.Format.Syntax
: ToString Lean.Syntax - Lean.Syntax.formatStxAux 📋 Init.Data.Format.Syntax
(maxDepth : Option ℕ) (showInfo : Bool) (depth : ℕ) : Lean.Syntax → Std.Format - Lean.Syntax.formatStx 📋 Init.Data.Format.Syntax
(stx : Lean.Syntax) (maxDepth : Option ℕ := none) (showInfo : Bool := false) : Std.Format - Lean.DataValue.ofSyntax 📋 Lean.Data.KVMap
(v : Lean.Syntax) : Lean.DataValue - Lean.KVMap.instValueSyntax 📋 Lean.Data.KVMap
: Lean.KVMap.Value Lean.Syntax - Lean.instCoeSyntaxDataValue 📋 Lean.Data.KVMap
: Coe Lean.Syntax Lean.DataValue - Lean.KVMap.setSyntax 📋 Lean.Data.KVMap
(m : Lean.KVMap) (k : Lean.Name) (v : Lean.Syntax) : Lean.KVMap - Lean.KVMap.updateSyntax 📋 Lean.Data.KVMap
(m : Lean.KVMap) (k : Lean.Name) (f : Lean.Syntax → Lean.Syntax) : Lean.KVMap - Lean.KVMap.getSyntax 📋 Lean.Data.KVMap
(m : Lean.KVMap) (k : Lean.Name) (defVal : Lean.Syntax := Lean.Syntax.missing) : Lean.Syntax - Lean.Unhygienic.Context.ref 📋 Lean.Hygiene
(self : Lean.Unhygienic.Context) : Lean.Syntax - Lean.Unhygienic.Context.mk 📋 Lean.Hygiene
(ref : Lean.Syntax) (scope : Lean.MacroScope) : Lean.Unhygienic.Context - Lean.sanitizeSyntax 📋 Lean.Hygiene
(stx : Lean.Syntax) : StateM Lean.NameSanitizerState Lean.Syntax - Lean.mkPatternWithRef 📋 Lean.Expr
(p : Lean.Expr) (stx : Lean.Syntax) : Lean.Expr - Lean.patternWithRef? 📋 Lean.Expr
(p : Lean.Expr) : Option (Lean.Syntax × Lean.Expr) - Lean.Elab.CompletionInfo.namespaceId 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) : Lean.Elab.CompletionInfo - Lean.Elab.CompletionInfo.option 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) : Lean.Elab.CompletionInfo - Lean.Elab.CompletionInfo.tactic 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) : Lean.Elab.CompletionInfo - Lean.Elab.CustomInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.CustomInfo) : Lean.Syntax - Lean.Elab.ElabInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.ElabInfo) : Lean.Syntax - Lean.Elab.ErrorNameInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.ErrorNameInfo) : Lean.Syntax - Lean.Elab.FieldInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.FieldInfo) : Lean.Syntax - Lean.Elab.FieldRedeclInfo.mk 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) : Lean.Elab.FieldRedeclInfo - Lean.Elab.FieldRedeclInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.FieldRedeclInfo) : Lean.Syntax - Lean.Elab.MacroExpansionInfo.output 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.MacroExpansionInfo) : Lean.Syntax - Lean.Elab.MacroExpansionInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.MacroExpansionInfo) : Lean.Syntax - Lean.Elab.OptionInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.OptionInfo) : Lean.Syntax - Lean.Elab.UserWidgetInfo.stx 📋 Lean.Elab.InfoTree.Types
(self : Lean.Elab.UserWidgetInfo) : Lean.Syntax - Lean.Elab.CompletionInfo.errorName 📋 Lean.Elab.InfoTree.Types
(stx partialId : Lean.Syntax) : Lean.Elab.CompletionInfo - Lean.Elab.CustomInfo.mk 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (value : Dynamic) : Lean.Elab.CustomInfo - Lean.Elab.ElabInfo.mk 📋 Lean.Elab.InfoTree.Types
(elaborator : Lean.Name) (stx : Lean.Syntax) : Lean.Elab.ElabInfo - Lean.Elab.ErrorNameInfo.mk 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (errorName : Lean.Name) : Lean.Elab.ErrorNameInfo - Lean.Elab.UserWidgetInfo.mk 📋 Lean.Elab.InfoTree.Types
(toWidgetInstance : Lean.Widget.WidgetInstance) (stx : Lean.Syntax) : Lean.Elab.UserWidgetInfo - Lean.Elab.MacroExpansionInfo.mk 📋 Lean.Elab.InfoTree.Types
(lctx : Lean.LocalContext) (stx output : Lean.Syntax) : Lean.Elab.MacroExpansionInfo - Lean.Elab.OptionInfo.mk 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (optionName declName : Lean.Name) : Lean.Elab.OptionInfo - Lean.Elab.CompletionInfo.dotId 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (id : Lean.Name) (lctx : Lean.LocalContext) (expectedType? : Option Lean.Expr) : Lean.Elab.CompletionInfo - Lean.Elab.CompletionInfo.fieldId 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (id : Option Lean.Name) (lctx : Lean.LocalContext) (structName : Lean.Name) : Lean.Elab.CompletionInfo - Lean.Elab.FieldInfo.mk 📋 Lean.Elab.InfoTree.Types
(projName fieldName : Lean.Name) (lctx : Lean.LocalContext) (val : Lean.Expr) (stx : Lean.Syntax) : Lean.Elab.FieldInfo - Lean.Elab.CompletionInfo.endSection 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (id? : Option Lean.Name) (danglingDot : Bool) (scopeNames : List String) : Lean.Elab.CompletionInfo - Lean.Elab.CompletionInfo.id 📋 Lean.Elab.InfoTree.Types
(stx : Lean.Syntax) (id : Lean.Name) (danglingDot : Bool) (lctx : Lean.LocalContext) (expectedType? : Option Lean.Expr) : Lean.Elab.CompletionInfo - Lean.instToMessageDataSyntax 📋 Lean.Message
: Lean.ToMessageData Lean.Syntax - Lean.MessageData.ofSyntax 📋 Lean.Message
(stx : Lean.Syntax) : Lean.MessageData - Lean.MessageData.instCoeSyntax 📋 Lean.Message
: Coe Lean.Syntax Lean.MessageData - Lean.IsNode 📋 Lean.Syntax
: Lean.Syntax → Prop - Lean.Syntax.asNode 📋 Lean.Syntax
: Lean.Syntax → Lean.SyntaxNode - Lean.Syntax.getAntiquotSpliceSuffix 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.getAntiquotSuffixSpliceInner 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.getAntiquotTerm 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.getAtomVal 📋 Lean.Syntax
: Lean.Syntax → String - Lean.Syntax.getCanonicalAntiquot 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.getQuotContent 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax - Lean.Syntax.hasMissing 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isAntiquot 📋 Lean.Syntax
: Lean.Syntax → Bool - Lean.Syntax.isAntiquotSplice 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isAntiquotSuffixSplice 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isAntiquots 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isAnyAntiquot 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isEscapedAntiquot 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.isQuot 📋 Lean.Syntax
: Lean.Syntax → Bool - Lean.Syntax.isTokenAntiquot 📋 Lean.Syntax
(stx : Lean.Syntax) : Bool - Lean.Syntax.unescapeAntiquot 📋 Lean.Syntax
(stx : Lean.Syntax) : Lean.Syntax
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 ?aIf 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 ?bBy 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_tsumeven though the hypothesisf i < g iis 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, _ * _, _ ^ _, |- _ < _ → _
would 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 401c76f serving mathlib revision a3d2529