File: .lake/packages/lean4/src/lean/Lean/Data/Name.lean

full_name: Lean.Name.hashEx
code: @[export lean_name_hash_exported] def hashEx : Name → UInt64 
goal: Lean.Name → UInt64

full_name: Lean.Name.getPrefix
code: def getPrefix : Name → Name
  
goal: Lean.Name → Lean.Name

full_name: Lean.Name.getString!
code: def getString! : Name → String
  
goal: Lean.Name → String

full_name: Lean.Name.getNumParts
code: def getNumParts : Name → Nat
  
goal: Lean.Name → Nat

full_name: Lean.Name.updatePrefix
code: def updatePrefix : Name → Name → Name
  
goal: Lean.Name → Lean.Name → Lean.Name

full_name: Lean.Name.componentsRev
code: def componentsRev : Name → List Name
  
goal: Lean.Name → List Lean.Name

full_name: Lean.Name.components
code: def components (n : Name) : List Name 
goal: List Lean.Name

full_name: Lean.Name.eqStr
code: def eqStr : Name → String → Bool
  
goal: Lean.Name → String → Bool

full_name: Lean.Name.isPrefixOf
code: def isPrefixOf : Name → Name → Bool
  
goal: Lean.Name → Lean.Name → Bool

full_name: Lean.Name.isSuffixOf
code: def isSuffixOf : Name → Name → Bool
  
goal: Lean.Name → Lean.Name → Bool

full_name: Lean.Name.cmp
code: def cmp : Name → Name → Ordering
  
goal: Lean.Name → Lean.Name → Ordering

full_name: Lean.Name.lt
code: def lt (x y : Name) : Bool 
goal: Bool

full_name: Lean.Name.quickCmpAux
code: def quickCmpAux : Name → Name → Ordering
  
goal: Lean.Name → Lean.Name → Ordering

full_name: Lean.Name.quickCmp
code: def quickCmp (n₁ n₂ : Name) : Ordering 
goal: Ordering

full_name: Lean.Name.quickLt
code: def quickLt (n₁ n₂ : Name) : Bool 
goal: Bool

full_name: Lean.Name.hasNum
code: /-- Returns true if the name has any numeric components. -/
def hasNum : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isInternal
code: /-- The frontend does not allow user declarations to start with `_` in any of its parts.
   We use name parts starting with `_` internally to create auxiliary names (e.g., `_private`). -/
def isInternal : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isInternalOrNum
code: /--
The frontend does not allow user declarations to start with `_` in any of its parts.
We use name parts starting with `_` internally to create auxiliary names (e.g., `_private`).

This function checks if any component of the name starts with `_`, or is numeric.
-/
def isInternalOrNum : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isInternalDetail.matchPrefix
code: /--
Returns true if this a part of name that is internal or dynamically
generated so that it may easily be changed.

Generally, user code should not explicitly use internal names.
-/
def isInternalDetail : Name → Bool
  
goal: Bool

full_name: Lean.Name.isInternalDetail
code: /--
Returns true if this a part of name that is internal or dynamically
generated so that it may easily be changed.

Generally, user code should not explicitly use internal names.
-/
def isInternalDetail : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isImplementationDetail
code: /--
Checks whether the name is an implementation-detail hypothesis name.

Implementation-detail hypothesis names start with a double underscore.
-/
def isImplementationDetail : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isAtomic
code: def isAtomic : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isAnonymous
code: def isAnonymous : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isStr
code: def isStr : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.isNum
code: def isNum : Name → Bool
  
goal: Lean.Name → Bool

full_name: Lean.Name.anyS
code: /--
Return `true` if `n` contains a string part `s` that satisfies `f`.

Examples:
```
#eval (`foo.bla).anyS (·.startsWith "fo") -- true
#eval (`foo.bla).anyS (·.startsWith "boo") -- false
```
-/
def anyS (n : Name) (f : String → Bool) : Bool 
goal: Bool