mirror of
https://github.com/leanprover/lean4.git
synced 2026-03-17 18:34:06 +00:00
This PR migrates most remaining tests to the new test suite. It also completes the migration of directories like `tests/lean/run`, meaning that PRs trying to add tests to those old directories will now fail.
1570 lines
68 KiB
Plaintext
1570 lines
68 KiB
Plaintext
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 20, "character": 20}}
|
|
{"items": [], "isIncomplete": true}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 23, "character": 21}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 23, 21, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 26, "character": 24}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}],
|
|
"isIncomplete": false}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 26, 24, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 29, "character": 25}}
|
|
{"items": [], "isIncomplete": true}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 32, "character": 26}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 32, 26, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 35, "character": 27}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 35, 27, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 40, "character": 7}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 40, 7, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 44, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 44, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 49, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 49, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 53, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 53, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 59, "character": 4}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 59, 4, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 64, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 64, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 70, "character": 4}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 70, 4, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 76, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 76, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 81, "character": 4}}
|
|
{"items": [], "isIncomplete": true}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 86, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 86, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 91, "character": 4}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 91, 4, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 96, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 96, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 102, "character": 4}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 102, 4, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 108, "character": 2}}
|
|
{"items": [], "isIncomplete": true}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 112, "character": 2}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 112, 2, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 118, "character": 4}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 118, 4, 0]}
|
|
{"textDocument": {"uri": "file:///completionTactics.lean"},
|
|
"position": {"line": 132, "character": 21}}
|
|
{"items":
|
|
[{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "let rec",
|
|
"kind": 14,
|
|
"documentation": {"value": "Local recursive def ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]},
|
|
{"label": "let",
|
|
"kind": 14,
|
|
"documentation": {"value": "Local def ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}],
|
|
"isIncomplete": true}
|
|
Resolution of open:
|
|
{"label": "open",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of match:
|
|
{"label": "match",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of set_option:
|
|
{"label": "set_option",
|
|
"kind": 14,
|
|
"documentation":
|
|
{"value":
|
|
"`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ",
|
|
"kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of skip:
|
|
{"label": "skip",
|
|
"kind": 14,
|
|
"documentation": {"value": "A docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of ident:
|
|
{"label": "ident",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of let rec:
|
|
{"label": "let rec",
|
|
"kind": 14,
|
|
"documentation": {"value": "Local recursive def ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of exact:
|
|
{"label": "exact",
|
|
"kind": 14,
|
|
"documentation": {"value": "Another docstring ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of intro:
|
|
{"label": "intro",
|
|
"kind": 14,
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|
|
Resolution of let:
|
|
{"label": "let",
|
|
"kind": 14,
|
|
"documentation": {"value": "Local def ", "kind": "markdown"},
|
|
"data": ["file:///completionTactics.lean", 132, 21, 0]}
|