Loogle!
Result
Found 69970 declarations mentioning Nat. Of these, only the first 200 are shown.
- Nat ๐ Init.Prelude
: Type - Lean.defaultMaxRecDepth ๐ Init.Prelude
: โ - Lean.firstFrontendMacroScope ๐ Init.Prelude
: โ - Lean.reservedMacroScope ๐ Init.Prelude
: โ - Nat.zero ๐ Init.Prelude
: โ - UInt16.size ๐ Init.Prelude
: โ - UInt32.size ๐ Init.Prelude
: โ - UInt64.size ๐ Init.Prelude
: โ - UInt8.size ๐ Init.Prelude
: โ - USize.size ๐ Init.Prelude
: โ - System.Platform.numBits ๐ Init.Prelude
: โ - BitVec ๐ Init.Prelude
(w : โ) : Type - Fin ๐ Init.Prelude
(n : โ) : Type - instAddNat ๐ Init.Prelude
: Add โ - instDecidableEqNat ๐ Init.Prelude
: DecidableEq โ - instInhabitedNat ๐ Init.Prelude
: Inhabited โ - instLENat ๐ Init.Prelude
: LE โ - instLTNat ๐ Init.Prelude
: LT โ - instMinNat ๐ Init.Prelude
: Min โ - instMulNat ๐ Init.Prelude
: Mul โ - instNatPowNat ๐ Init.Prelude
: NatPow โ - instSubNat ๐ Init.Prelude
: Sub โ - Char.ofNat ๐ Init.Prelude
(n : โ) : Char - Char.utf8Size ๐ Init.Prelude
(c : Char) : โ - Nat.instDiv ๐ Init.Prelude
: Div โ - Nat.instMod ๐ Init.Prelude
: Mod โ - Nat.isValidChar ๐ Init.Prelude
(n : โ) : Prop - Nat.succ ๐ Init.Prelude
(n : โ) : โ - Substring.bsize ๐ Init.Prelude
: Substring โ โ - UInt32.toNat ๐ Init.Prelude
(n : UInt32) : โ - Lean.Syntax.getNumArgs ๐ Init.Prelude
(stx : Lean.Syntax) : โ - String.Pos.byteIdx ๐ Init.Prelude
(self : String.Pos) : โ - String.Pos.mk ๐ Init.Prelude
(byteIdx : โ) : String.Pos - Lean.Macro.Context.currRecDepth ๐ Init.Prelude
(self : Lean.Macro.Context) : โ - Lean.Macro.Context.maxRecDepth ๐ Init.Prelude
(self : Lean.Macro.Context) : โ - Nat.pred ๐ Init.Prelude
: โ โ โ - String.utf8ByteSize ๐ Init.Prelude
: String โ โ - UInt8.ofNat ๐ Init.Prelude
(n : โ) : UInt8 - OfNat ๐ Init.Prelude
(ฮฑ : Type u) : โ โ Type u - Nat.le ๐ Init.Prelude
(n : โ) : โ โ Prop - Nat.lt ๐ Init.Prelude
(n m : โ) : Prop - Nat.modCore ๐ Init.Prelude
(x y : โ) : โ - Lean.Name.mkNum ๐ Init.Prelude
(p : Lean.Name) (v : โ) : Lean.Name - Lean.Name.num ๐ Init.Prelude
(pre : Lean.Name) (i : โ) : Lean.Name - Lean.ParserDescr.cat ๐ Init.Prelude
(catName : Lean.Name) (rbp : โ) : Lean.ParserDescr - Lean.Syntax.getArg ๐ Init.Prelude
(stx : Lean.Syntax) (i : โ) : Lean.Syntax - Lean.Syntax.matchesNull ๐ Init.Prelude
(stx : Lean.Syntax) (n : โ) : Bool - String.utf8ByteSize.go ๐ Init.Prelude
: List Char โ โ - instDecidableEqBitVec ๐ Init.Prelude
{w : โ} : DecidableEq (BitVec w) - instDecidableEqFin ๐ Init.Prelude
(n : โ) : DecidableEq (Fin n) - instLEBitVec ๐ Init.Prelude
{w : โ} : LE (BitVec w) - instLEFin ๐ Init.Prelude
{n : โ} : LE (Fin n) - instLTBitVec ๐ Init.Prelude
{w : โ} : LT (BitVec w) - instLTFin ๐ Init.Prelude
{n : โ} : LT (Fin n) - instOfNatNat ๐ Init.Prelude
(n : โ) : OfNat โ n - BitVec.ofNat ๐ Init.Prelude
(n i : โ) : BitVec n - BitVec.toNat ๐ Init.Prelude
{w : โ} (x : BitVec w) : โ - Fin.val ๐ Init.Prelude
{n : โ} (self : Fin n) : โ - List.length ๐ Init.Prelude
{ฮฑ : Type u_1} : List ฮฑ โ โ - List.lengthTR ๐ Init.Prelude
{ฮฑ : Type u_1} (as : List ฮฑ) : โ - Nat.add ๐ Init.Prelude
: โ โ โ โ โ - Nat.beq ๐ Init.Prelude
: โ โ โ โ Bool - Nat.ble ๐ Init.Prelude
: โ โ โ โ Bool - Nat.ctorElimType ๐ Init.Prelude
{motive : โ โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Nat.div ๐ Init.Prelude
(x y : โ) : โ - Nat.mod ๐ Init.Prelude
: โ โ โ โ โ - Nat.mul ๐ Init.Prelude
: โ โ โ โ โ - Nat.pow ๐ Init.Prelude
(m : โ) : โ โ โ - Nat.sub ๐ Init.Prelude
: โ โ โ โ โ - Lean.Name.ctorElimType ๐ Init.Prelude
{motive : Lean.Name โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Lean.ParserDescr.ctorElimType ๐ Init.Prelude
{motive : Lean.ParserDescr โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Lean.ParserDescr.node ๐ Init.Prelude
(kind : Lean.SyntaxNodeKind) (prec : โ) (p : Lean.ParserDescr) : Lean.ParserDescr - Lean.SourceInfo.ctorElimType ๐ Init.Prelude
{motive : Lean.SourceInfo โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Lean.Syntax.ctorElimType ๐ Init.Prelude
{motive_1 : Lean.Syntax โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Lean.Syntax.isNodeOf ๐ Init.Prelude
(stx : Lean.Syntax) (k : Lean.SyntaxNodeKind) (n : โ) : Bool - Nat.le.refl ๐ Init.Prelude
{n : โ} : n.le n - Lean.Macro.Exception.ctorElimType ๐ Init.Prelude
{motive : Lean.Macro.Exception โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Lean.Syntax.Preresolved.ctorElimType ๐ Init.Prelude
{motive : Lean.Syntax.Preresolved โ Sort u} (ctorIdx : โ) : Sort (max 1 u) - Array.emptyWithCapacity ๐ Init.Prelude
{ฮฑ : Type u} (c : โ) : Array ฮฑ - Array.mkEmpty ๐ Init.Prelude
{ฮฑ : Type u} (c : โ) : Array ฮฑ - Array.size ๐ Init.Prelude
{ฮฑ : Type u} (a : Array ฮฑ) : โ - Char.ofNatAux ๐ Init.Prelude
(n : โ) (h : n.isValidChar) : Char - List.lengthTRAux ๐ Init.Prelude
{ฮฑ : Type u_1} : List ฮฑ โ โ โ โ - Lean.ParserDescr.trailingNode ๐ Init.Prelude
(kind : Lean.SyntaxNodeKind) (prec lhsPrec : โ) (p : Lean.ParserDescr) : Lean.ParserDescr - instPowNat ๐ Init.Prelude
{ฮฑ : Type u_1} [NatPow ฮฑ] : Pow ฮฑ โ - Array.getD ๐ Init.Prelude
{ฮฑ : Type u_1} (a : Array ฮฑ) (i : โ) (vโ : ฮฑ) : ฮฑ - List.ctorElimType ๐ Init.Prelude
{ฮฑ : Type u} {motive : List ฮฑ โ Sort u_1} (ctorIdx : โ) : Sort (max 1 u_1 (imax (u + 1) (u + 1) u_1)) - Nat.le_refl ๐ Init.Prelude
(n : โ) : n โค n - NatPow.mk ๐ Init.Prelude
{ฮฑ : Type u} (pow : ฮฑ โ โ โ ฮฑ) : NatPow ฮฑ - NatPow.pow ๐ Init.Prelude
{ฮฑ : Type u} [self : NatPow ฮฑ] : ฮฑ โ โ โ ฮฑ - OfNat.mk ๐ Init.Prelude
{ฮฑ : Type u} {xโ : โ} (ofNat : ฮฑ) : OfNat ฮฑ xโ - OfNat.ofNat ๐ Init.Prelude
{ฮฑ : Type u} (xโ : โ) [self : OfNat ฮฑ xโ] : ฮฑ - Option.ctorElimType ๐ Init.Prelude
{ฮฑ : Type u} {motive : Option ฮฑ โ Sort u_1} (ctorIdx : โ) : Sort (max 1 u_1 (imax (u + 1) u_1)) - List.set ๐ Init.Prelude
{ฮฑ : Type u_1} (l : List ฮฑ) (n : โ) (a : ฮฑ) : List ฮฑ - Nat.ble_self_eq_true ๐ Init.Prelude
(n : โ) : n.ble n = true - Nat.le_succ ๐ Init.Prelude
(n : โ) : n โค n.succ - Nat.lt_irrefl ๐ Init.Prelude
(n : โ) : ยฌn < n - Nat.lt_succ_self ๐ Init.Prelude
(n : โ) : n < n.succ - Nat.pred_le ๐ Init.Prelude
(n : โ) : n.pred โค n - UInt16.ofBitVec ๐ Init.Prelude
(toBitVec : BitVec 16) : UInt16 - UInt16.toBitVec ๐ Init.Prelude
(self : UInt16) : BitVec 16 - UInt32.ofBitVec ๐ Init.Prelude
(toBitVec : BitVec 32) : UInt32 - UInt32.toBitVec ๐ Init.Prelude
(self : UInt32) : BitVec 32 - UInt64.ofBitVec ๐ Init.Prelude
(toBitVec : BitVec 64) : UInt64 - UInt64.toBitVec ๐ Init.Prelude
(self : UInt64) : BitVec 64 - UInt8.ofBitVec ๐ Init.Prelude
(toBitVec : BitVec 8) : UInt8 - UInt8.toBitVec ๐ Init.Prelude
(self : UInt8) : BitVec 8 - Lean.Macro.Context.mk ๐ Init.Prelude
(methods : Lean.Macro.MethodsRef) (quotContext : Lean.Name) (currMacroScope : Lean.MacroScope) (currRecDepth maxRecDepth : โ) (ref : Lean.Syntax) : Lean.Macro.Context - Array.get!Internal ๐ Init.Prelude
{ฮฑ : Type u} [Inhabited ฮฑ] (a : Array ฮฑ) (i : โ) : ฮฑ - Array.get!InternalBorrowed ๐ Init.Prelude
{ฮฑ : Type u} [Inhabited ฮฑ] (a : Array ฮฑ) (i : โ) : ฮฑ - Except.ctorElimType ๐ Init.Prelude
{ฮต : Type u} {ฮฑ : Type v} {motive : Except ฮต ฮฑ โ Sort u_1} (ctorIdx : โ) : Sort (max 1 (imax (u + 1) u_1) (imax (v + 1) u_1)) - Nat.not_succ_le_self ๐ Init.Prelude
(n : โ) : ยฌn.succ โค n - UInt16.ofNatLT ๐ Init.Prelude
(n : โ) (h : n < UInt16.size) : UInt16 - UInt32.ofNatLT ๐ Init.Prelude
(n : โ) (h : n < UInt32.size) : UInt32 - UInt64.ofNatLT ๐ Init.Prelude
(n : โ) (h : n < UInt64.size) : UInt64 - UInt8.ofNatLT ๐ Init.Prelude
(n : โ) (h : n < UInt8.size) : UInt8 - USize.ofNatLT ๐ Init.Prelude
(n : โ) (h : n < USize.size) : USize - Nat.decEq ๐ Init.Prelude
(n m : โ) : Decidable (n = m) - Fin.mk ๐ Init.Prelude
{n : โ} (val : โ) (isLt : val < n) : Fin n - USize.size_pos ๐ Init.Prelude
: 0 < USize.size - Array.appendCore.loop ๐ Init.Prelude
{ฮฑ : Type u} (bs : Array ฮฑ) (i j : โ) (as : Array ฮฑ) : Array ฮฑ - Array.extract.loop ๐ Init.Prelude
{ฮฑ : Type u_1} (as : Array ฮฑ) (i j : โ) (bs : Array ฮฑ) : Array ฮฑ - Nat.le.step ๐ Init.Prelude
{n m : โ} : n.le m โ n.le m.succ - Nat.decLe ๐ Init.Prelude
(n m : โ) : Decidable (n โค m) - Nat.decLt ๐ Init.Prelude
(n m : โ) : Decidable (n < m) - Fin.isLt ๐ Init.Prelude
{n : โ} (self : Fin n) : โself < n - Nat.zero_le ๐ Init.Prelude
(n : โ) : 0 โค n - EStateM.Result.ctorElimType ๐ Init.Prelude
{ฮต ฯ ฮฑ : Type u} {motive : EStateM.Result ฮต ฯ ฮฑ โ Sort u_1} (ctorIdx : โ) : Sort (max 1 (imax (u + 1) (u + 1) u_1)) - BitVec.decEq ๐ Init.Prelude
{w : โ} (x y : BitVec w) : Decidable (x = y) - Nat.not_lt_zero ๐ Init.Prelude
(n : โ) : ยฌn < 0 - Nat.succ_pos ๐ Init.Prelude
(n : โ) : 0 < n.succ - Nat.zero_lt_succ ๐ Init.Prelude
(n : โ) : 0 < n.succ - Nat.le.below ๐ Init.Prelude
{n : โ} {motive : (a : โ) โ n.le a โ Prop} {aโ : โ} (t : n.le aโ) : Prop - Nat.eq_of_beq_eq_true ๐ Init.Prelude
{n m : โ} : n.beq m = true โ n = m - Nat.not_succ_le_zero ๐ Init.Prelude
(n : โ) : n.succ โค 0 โ False - Nat.le.below.refl ๐ Init.Prelude
{n : โ} {motive : (a : โ) โ n.le a โ Prop} : Nat.le.below โฏ - instDecidableLeBitVec ๐ Init.Prelude
{w : โ} (x y : BitVec w) : Decidable (x โค y) - instDecidableLtBitVec ๐ Init.Prelude
{w : โ} (x y : BitVec w) : Decidable (x < y) - Fin.decLe ๐ Init.Prelude
{n : โ} (a b : Fin n) : Decidable (a โค b) - Fin.decLt ๐ Init.Prelude
{n : โ} (a b : Fin n) : Decidable (a < b) - Nat.le_of_lt_succ ๐ Init.Prelude
{m n : โ} : m < n.succ โ m โค n - Nat.le_step ๐ Init.Prelude
{n m : โ} (h : n โค m) : n โค m.succ - Nat.le_succ_of_le ๐ Init.Prelude
{n m : โ} (h : n โค m) : n โค m.succ - Nat.lt_of_not_le ๐ Init.Prelude
{a b : โ} (h : ยฌa โค b) : b < a - Nat.lt_or_ge ๐ Init.Prelude
(n m : โ) : n < m โจ n โฅ m - Nat.lt_succ_of_le ๐ Init.Prelude
{n m : โ} : n โค m โ n < m.succ - Nat.ne_of_beq_eq_false ๐ Init.Prelude
{n m : โ} : n.beq m = false โ ยฌn = m - Fin.Internal.ofNat ๐ Init.Prelude
(n : โ) (hn : 0 < n) (a : โ) : Fin n - Array.getInternal ๐ Init.Prelude
{ฮฑ : Type u} (a : Array ฮฑ) (i : โ) (h : i < a.size) : ฮฑ - Array.getInternalBorrowed ๐ Init.Prelude
{ฮฑ : Type u} (a : Array ฮฑ) (i : โ) (h : i < a.size) : ฮฑ - Nat.le_of_succ_le_succ ๐ Init.Prelude
{n m : โ} : n.succ โค m.succ โ n โค m - Nat.pred_le_pred ๐ Init.Prelude
{n m : โ} : n โค m โ n.pred โค m.pred - Nat.succ_le_succ ๐ Init.Prelude
{n m : โ} : n โค m โ n.succ โค m.succ - Nat.ble_eq_true_of_le ๐ Init.Prelude
{n m : โ} (h : n โค m) : n.ble m = true - Nat.le_of_ble_eq_true ๐ Init.Prelude
{n m : โ} (h : n.ble m = true) : n โค m - Nat.ble_succ_eq_true ๐ Init.Prelude
{n m : โ} : n.ble m = true โ n.ble m.succ = true - Nat.sub_le ๐ Init.Prelude
(n m : โ) : n - m โค n - Nat.le_antisymm ๐ Init.Prelude
{n m : โ} (hโ : n โค m) (hโ : m โค n) : n = m - Nat.not_le_of_not_ble_eq_true ๐ Init.Prelude
{n m : โ} (h : ยฌn.ble m = true) : ยฌn โค m - Array.extract ๐ Init.Prelude
{ฮฑ : Type u_1} (as : Array ฮฑ) (start : โ := 0) (stop : โ := as.size) : Array ฮฑ - Nat.eq_or_lt_of_le ๐ Init.Prelude
{n m : โ} : n โค m โ n = m โจ n < m - Nat.lt_of_le_of_ne ๐ Init.Prelude
{n m : โ} (hโ : n โค m) (hโ : ยฌn = m) : n < m - USize.size_eq ๐ Init.Prelude
: USize.size = 4294967296 โจ USize.size = 18446744073709551616 - System.Platform.numBits_eq ๐ Init.Prelude
: System.Platform.numBits = 32 โจ System.Platform.numBits = 64 - Fin.eq_of_val_eq ๐ Init.Prelude
{n : โ} {i j : Fin n} : โi = โj โ i = j - Fin.val_eq_of_eq ๐ Init.Prelude
{n : โ} {i j : Fin n} (h : i = j) : โi = โj - Nat.le_trans ๐ Init.Prelude
{n m k : โ} : n โค m โ m โค k โ n โค k - Nat.lt_add_one ๐ Init.Prelude
(n : โ) : n < n + 1 - Nat.lt_of_le_of_lt ๐ Init.Prelude
{n m k : โ} (hโ : n โค m) (hโ : m < k) : n < k - Nat.lt_of_lt_of_le ๐ Init.Prelude
{n m k : โ} : n < m โ m โค k โ n < k - Nat.lt_trans ๐ Init.Prelude
{n m k : โ} (hโ : n < m) : m < k โ n < k - Nat.modCore_lt ๐ Init.Prelude
{x y : โ} (hy : 0 < y) : x.modCore y < y - Nat.div.go ๐ Init.Prelude
(y : โ) (hy : 0 < y) (fuel x : โ) (hfuel : x < fuel) : โ - Nat.modCore.go ๐ Init.Prelude
(y : โ) (hy : 0 < y) (fuel x : โ) (hfuel : x < fuel) : โ - noConfusion_of_Nat ๐ Init.Prelude
{ฮฑ : Sort u} (f : ฮฑ โ โ) {a b : ฮฑ} (h : a = b) : Bool.rec False True ((f a).beq (f b)) - BitVec.ofFin ๐ Init.Prelude
{w : โ} (toFin : Fin (2 ^ w)) : BitVec w - BitVec.toFin ๐ Init.Prelude
{w : โ} (self : BitVec w) : Fin (2 ^ w) - System.Platform.getNumBits ๐ Init.Prelude
: Unit โ { n // n = 32 โจ n = 64 } - BitVec.ofNatLT ๐ Init.Prelude
{w : โ} (i : โ) (p : i < 2 ^ w) : BitVec w - Nat.mod_lt ๐ Init.Prelude
(x : โ) {y : โ} (hy : 0 < y) : x % y < y - Nat.succ_sub_succ_eq_sub ๐ Init.Prelude
(n m : โ) : n.succ - m.succ = n - m - Nat.le.brecOn ๐ Init.Prelude
{n : โ} {motive : (a : โ) โ n.le a โ Prop} {aโ : โ} (t : n.le aโ) (F_1 : โ (a : โ) (t : n.le a), Nat.le.below t โ motive a t) : motive aโ t - Nat.modCoreGo_lt ๐ Init.Prelude
{fuel y : โ} (hy : 0 < y) (x : โ) (hfuel : x < fuel) : Nat.modCore.go y hy fuel x hfuel < y - Nat.le.below.step ๐ Init.Prelude
{n : โ} {motive : (a : โ) โ n.le a โ Prop} {m : โ} (aโ : n.le m) : Nat.le.below aโ โ motive m aโ โ Nat.le.below โฏ - Nat.add_pos_right ๐ Init.Prelude
{b : โ} (a : โ) (hb : 0 < b) : 0 < a + b - Nat.div_rec_lemma ๐ Init.Prelude
{x y : โ} : 0 < y โง y โค x โ x - y < x - Nat.pow_pos ๐ Init.Prelude
{a n : โ} (h : 0 < a) : 0 < a ^ n - Nat.sub_lt ๐ Init.Prelude
{n m : โ} : 0 < n โ 0 < m โ n - m < n - Nat.mul_pos ๐ Init.Prelude
{n m : โ} (hn : 0 < n) (hm : 0 < m) : 0 < n * m - Nat.div_rec_fuel_lemma ๐ Init.Prelude
{x y fuel : โ} (hy : 0 < y) (hle : y โค x) (hfuel : x < fuel + 1) : x - y < fuel - Lean.Parser.Category.toCtorIdx ๐ Init.Notation
: Lean.Parser.Category โ โ - instSizeOfNat ๐ Init.SizeOf
: SizeOf โ - Lean.Name.sizeOf ๐ Init.SizeOf
: Lean.Name โ โ - default.sizeOf ๐ Init.SizeOf
(ฮฑ : Sort u) : ฮฑ โ โ - SizeOf.mk ๐ Init.SizeOf
{ฮฑ : Sort u} (sizeOf : ฮฑ โ โ) : SizeOf ฮฑ - SizeOf.sizeOf ๐ Init.SizeOf
{ฮฑ : Sort u} [self : SizeOf ฮฑ] : ฮฑ โ โ - sizeOf_nat ๐ Init.SizeOf
(n : โ) : sizeOf n = n - Bool.false.sizeOf_spec ๐ Init.SizeOf
: sizeOf false = 1 - Bool.true.sizeOf_spec ๐ Init.SizeOf
: sizeOf true = 1 - PUnit.unit.sizeOf_spec ๐ Init.SizeOf
: sizeOf PUnit.unit = 1
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, _ * _, _ ^ _, |- _ < _ โ _
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 0902274
serving mathlib revision 3540854