{"textDocument": {"uri": "file://533.lean"}, "position": {"line": 2, "character": 10}} {"items": [{"label": "False", "kind": 22, "documentation": {"value": "`False` is the empty proposition. Thus, it has no introduction rules.\nIt represents a contradiction. `False` elimination rule, `False.rec`,\nexpresses the fact that anything follows from a contradiction.\nThis rule is sometimes called ex falso (short for ex falso sequitur quodlibet),\nor the principle of explosion.\nFor more information: [Propositional Logic](https://leanprover.github.io/theorem_proving_in_lean4/propositions_and_proofs.html#propositional-logic)\n", "kind": "markdown"}, "detail": "Prop"}, {"label": "Fin", "kind": 22, "documentation": {"value": "`Fin n` is a natural number `i` with the constraint that `0 ≤ i < n`.\nIt is the \"canonical type with `n` elements\".\n", "kind": "markdown"}, "detail": "Nat → Type"}, {"label": "Float", "kind": 22, "detail": "Type"}, {"label": "FloatArray", "kind": 22, "detail": "Type"}, {"label": "FloatSpec", "kind": 22, "detail": "Type 1"}, {"label": "Foo", "kind": 6, "detail": "Sort ?u"}, {"label": "ForIn", "kind": 7, "detail": "(Type u₁ → Type u₂) → Type u → outParam (Type v) → Type (max (max (max u (u₁ + 1)) u₂) v)"}, {"label": "ForIn'", "kind": 7, "detail": "(Type u₁ → Type u₂) →\n (ρ : Type u) → (α : outParam (Type v)) → outParam (Membership α ρ) → Type (max (max (max u (u₁ + 1)) u₂) v)"}, {"label": "ForInStep", "kind": 22, "documentation": {"value": "Auxiliary type used to compile `for x in xs` notation. ", "kind": "markdown"}, "detail": "Type u → Type u"}, {"label": "ForM", "kind": 7, "documentation": {"value": "Typeclass for the polymorphic `forM` operation described in the \"do unchained\" paper.\nRemark:\n- `γ` is a \"container\" type of elements of type `α`.\n- `α` is treated as an output parameter by the typeclass resolution procedure.\n That is, it tries to find an instance using only `m` and `γ`.\n", "kind": "markdown"}, "detail": "(Type u → Type v) → Type w₁ → outParam (Type w₂) → Type (max (max (max (u + 1) v) w₁) w₂)"}, {"label": "Function", "kind": 9, "detail": "namespace"}, {"label": "Functor", "kind": 7, "documentation": {"value": "In functional programming, a \"functor\" is a function on types `F : Type u → Type v`\nequipped with an operator called `map` or `<$>` such that if `f : α → β` then\n`map f : F α → F β`, so `f <$> x : F β` if `x : F α`. This corresponds to the\ncategory-theory notion of [functor](https://en.wikipedia.org/wiki/Functor) in\nthe special case where the category is the category of types and functions\nbetween them, except that this class supplies only the operations and not the\nlaws (see `LawfulFunctor`).\n", "kind": "markdown"}, "detail": "(Type u → Type v) → Type (max (u + 1) v)"}, {"label": "failure", "kind": 5, "detail": "[self : Alternative f] → {α : Type u} → f α"}, {"label": "false", "kind": 4, "documentation": {"value": "The boolean value `false`, not to be confused with the proposition `False`. ", "kind": "markdown"}, "detail": "Bool"}, {"label": "false_and", "kind": 3, "detail": "∀ (p : Prop), (False ∧ p) = False"}, {"label": "false_iff", "kind": 3, "detail": "∀ (p : Prop), (False ↔ p) = ¬p"}, {"label": "false_implies", "kind": 3, "detail": "∀ (p : Prop), (False → p) = True"}, {"label": "false_of_ne", "kind": 3, "detail": "a ≠ a → False"}, {"label": "false_or", "kind": 3, "detail": "∀ (p : Prop), (False ∨ p) = p"}, {"label": "flip", "kind": 3, "detail": "(α → β → φ) → β → α → φ"}, {"label": "floatDecLe", "kind": 3, "detail": "(a b : Float) → Decidable (a ≤ b)"}, {"label": "floatDecLt", "kind": 3, "detail": "(a b : Float) → Decidable (a < b)"}, {"label": "floatSpec", "kind": 21, "detail": "FloatSpec"}, {"label": "forIn", "kind": 5, "detail": "[self : ForIn m ρ α] → {β : Type u₁} → [inst : Monad m] → ρ → β → (α → β → m (ForInStep β)) → m β"}, {"label": "forIn'", "kind": 5, "detail": "[self : ForIn' m ρ α d] → {β : Type u₁} → [inst : Monad m] → (x : ρ) → β → ((a : α) → a ∈ x → β → m (ForInStep β)) → m β"}, {"label": "forM", "kind": 5, "detail": "[self : ForM m γ α] → [inst : Monad m] → γ → (α → m PUnit) → m PUnit"}, {"label": "forall_congr", "kind": 3, "detail": "(∀ (a : α), p a = q a) → (∀ (a : α), p a) = ∀ (a : α), q a"}, {"label": "funext", "kind": 3, "detail": "(∀ (x : α), f₁ x = f₂ x) → f₁ = f₂"}], "isIncomplete": true}