Equations
- Lean.instCoeStringName = { coe := Lean.Name.mkSimple }
Equations
- Lean.Name.getPrefix x = match x with | Lean.Name.anonymous => Lean.Name.anonymous | Lean.Name.str p s x => p | Lean.Name.num p s x => p
Equations
- Lean.Name.getString! x = match x with | Lean.Name.str x s x_1 => s | x => panicWithPosWithDecl "Lean.Data.Name" "Lean.Name.getString!" 26 17 "unreachable code has been reached"
Equations
- Lean.Name.getNumParts Lean.Name.anonymous = 0
- Lean.Name.getNumParts (Lean.Name.str p s x_1) = Lean.Name.getNumParts p + 1
- Lean.Name.getNumParts (Lean.Name.num p s x_1) = Lean.Name.getNumParts p + 1
Equations
- Lean.Name.updatePrefix x x = match x, x with | Lean.Name.anonymous, newP => Lean.Name.anonymous | Lean.Name.str p s x, newP => Lean.Name.mkStr newP s | Lean.Name.num p s x, newP => Lean.Name.mkNum newP s
Equations
Equations
Equations
- Lean.Name.eqStr x x = match x, x with | Lean.Name.str Lean.Name.anonymous s x, s' => s == s' | x, x_1 => false
Equations
- Lean.Name.isPrefixOf x Lean.Name.anonymous = (x == Lean.Name.anonymous)
- Lean.Name.isPrefixOf x (Lean.Name.num p' x_2 x_3) = (x == Lean.Name.num p' x_2 x_3 || Lean.Name.isPrefixOf x p')
- Lean.Name.isPrefixOf x (Lean.Name.str p' x_2 x_3) = (x == Lean.Name.str p' x_2 x_3 || Lean.Name.isPrefixOf x p')
Equations
- Lean.Name.isSuffixOf Lean.Name.anonymous x = true
- Lean.Name.isSuffixOf (Lean.Name.str p₁ s₁ x_2) (Lean.Name.str p₂ s₂ x_3) = (s₁ == s₂ && Lean.Name.isSuffixOf p₁ p₂)
- Lean.Name.isSuffixOf (Lean.Name.num p₁ n₁ x_2) (Lean.Name.num p₂ n₂ x_3) = (n₁ == n₂ && Lean.Name.isSuffixOf p₁ p₂)
- Lean.Name.isSuffixOf x x = false
Equations
- Lean.Name.cmp Lean.Name.anonymous Lean.Name.anonymous = Ordering.eq
- Lean.Name.cmp Lean.Name.anonymous x = Ordering.lt
- Lean.Name.cmp x Lean.Name.anonymous = Ordering.gt
- Lean.Name.cmp (Lean.Name.num p₁ i₁ x_2) (Lean.Name.num p₂ i₂ x_3) = match Lean.Name.cmp p₁ p₂ with | Ordering.eq => compare i₁ i₂ | ord => ord
- Lean.Name.cmp (Lean.Name.num x_2 x_3 x_4) (Lean.Name.str x_5 x_6 x_7) = Ordering.lt
- Lean.Name.cmp (Lean.Name.str x_2 x_3 x_4) (Lean.Name.num x_5 x_6 x_7) = Ordering.gt
- Lean.Name.cmp (Lean.Name.str p₁ n₁ x_2) (Lean.Name.str p₂ n₂ x_3) = match Lean.Name.cmp p₁ p₂ with | Ordering.eq => compare n₁ n₂ | ord => ord
Equations
- Lean.Name.lt x y = (Lean.Name.cmp x y == Ordering.lt)
Equations
- Lean.Name.quickCmpAux Lean.Name.anonymous Lean.Name.anonymous = Ordering.eq
- Lean.Name.quickCmpAux Lean.Name.anonymous x = Ordering.lt
- Lean.Name.quickCmpAux x Lean.Name.anonymous = Ordering.gt
- Lean.Name.quickCmpAux (Lean.Name.num p₁ i₁ x_2) (Lean.Name.num p₂ i₂ x_3) = match compare i₁ i₂ with | Ordering.eq => Lean.Name.quickCmpAux p₁ p₂ | ord => ord
- Lean.Name.quickCmpAux (Lean.Name.num x_2 x_3 x_4) (Lean.Name.str x_5 x_6 x_7) = Ordering.lt
- Lean.Name.quickCmpAux (Lean.Name.str x_2 x_3 x_4) (Lean.Name.num x_5 x_6 x_7) = Ordering.gt
- Lean.Name.quickCmpAux (Lean.Name.str p₁ n₁ x_2) (Lean.Name.str p₂ n₂ x_3) = match compare n₁ n₂ with | Ordering.eq => Lean.Name.quickCmpAux p₁ p₂ | ord => ord
Equations
- Lean.Name.quickCmp n₁ n₂ = match compare (Lean.Name.hash n₁) (Lean.Name.hash n₂) with | Ordering.eq => Lean.Name.quickCmpAux n₁ n₂ | ord => ord
Equations
- Lean.Name.quickLt n₁ n₂ = (Lean.Name.quickCmp n₁ n₂ == Ordering.lt)
@[inline]
Equations
- Lean.Name.hasLtQuick = { lt := fun a b => Lean.Name.quickLt a b = true }
@[inline]
Equations
- Lean.Name.instDecidableRelNameLtHasLtQuick = inferInstanceAs (DecidableRel fun a b => Lean.Name.quickLt a b = true)
Equations
- Lean.Name.isInternal (Lean.Name.str p s x_1) = (String.get s 0 == Char.ofNat 95 || Lean.Name.isInternal p)
- Lean.Name.isInternal (Lean.Name.num p x_1 x_2) = Lean.Name.isInternal p
- Lean.Name.isInternal x = false
Equations
- Lean.Name.isAtomic x = match x with | Lean.Name.anonymous => true | Lean.Name.str Lean.Name.anonymous x x_1 => true | Lean.Name.num Lean.Name.anonymous x x_1 => true | x => false
Equations
- Lean.Name.isAnonymous x = match x with | Lean.Name.anonymous => true | x => false
Equations
- Lean.Name.isStr x = match x with | Lean.Name.str x x_1 x_2 => true | x => false
Equations
- Lean.Name.isNum x = match x with | Lean.Name.num x x_1 x_2 => true | x => false
Equations
@[inline]
Equations
Equations
- Lean.NameMap.instEmptyCollectionNameMap α = { emptyCollection := Lean.mkNameMap α }
Equations
- Lean.NameMap.instInhabitedNameMap α = { default := ∅ }
Equations
- Lean.NameMap.insert m n a = Std.RBMap.insert m n a
Equations
- Lean.NameMap.contains m n = Std.RBMap.contains m n
@[inline]
Equations
- Lean.NameMap.find? m n = Std.RBMap.find? m n
Equations
Equations
- Lean.NameSet.instEmptyCollectionNameSet = { emptyCollection := Lean.NameSet.empty }
Equations
- Lean.NameSet.instInhabitedNameSet = { default := Lean.NameSet.empty }
Equations
- Lean.NameSet.insert s n = Std.RBTree.insert s n
Equations
- Lean.NameSet.contains s n = Std.RBMap.contains s n
Equations
- Lean.NameSet.instForInNameSetName = inferInstanceAs (ForIn m (Std.RBTree Lean.Name Lean.Name.quickCmp) Lean.Name)
@[inline]
Equations
- Lean.NameSSet.empty = Lean.SSet.empty
Equations
- Lean.NameSSet.instEmptyCollectionNameSSet = { emptyCollection := Lean.NameSSet.empty }
Equations
- Lean.NameSSet.instInhabitedNameSSet = { default := Lean.NameSSet.empty }
@[inline]
Equations
- Lean.NameSSet.insert s n = Lean.SSet.insert s n
@[inline]
Equations
@[inline]
Equations
- Lean.NameHashSet.empty = Std.HashSet.empty
Equations
- Lean.NameHashSet.instEmptyCollectionNameHashSet = { emptyCollection := Lean.NameHashSet.empty }
Equations
- Lean.NameHashSet.instInhabitedNameHashSet = { default := ∅ }
Equations
Equations
Equations
- String.toName s = let ps := String.splitOn s "."; List.foldl (fun n p => Lean.Name.mkStr n (String.trim p)) Lean.Name.anonymous ps