)]}'
{
  "commit": "b8ce0136d7d98f6c2a67e5a052d23be3dae7573d",
  "tree": "d9154689e0c07921e2a90d9e2f3cc5d0e2b4412d",
  "parents": [
    "9f4db470c4f6c85e932fadd37b5e7913a98a4cf1"
  ],
  "author": {
    "name": "Leonardo de Moura",
    "email": "leomoura@amazon.com",
    "time": "Sun Mar 22 18:21:29 2026 -0700"
  },
  "committer": {
    "name": "Leonardo de Moura",
    "email": "leomoura@amazon.com",
    "time": "Sun Mar 22 19:05:45 2026 -0700"
  },
  "message": "feat: add `control` and `arrow_telescope` simproc DSL primitives\n\nAdd two new `sym_simproc` primitives for use as `pre` simprocs:\n- `control` — simplifies control-flow expressions (`if-then-else`,\n  `match`, `cond`, `dite`), visiting only conditions and discriminants\n- `arrow_telescope` — simplifies arrow telescopes\n  (`p₁ → p₂ → ... → q`) without entering binders\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94bd71023d7a58e94e00a4873ff600637fa416bc",
      "old_mode": 33188,
      "old_path": "src/Init/Grind/Interactive.lean",
      "new_id": "33c44acf74b5f83ffe3b1fc47755c21d446ff27b",
      "new_mode": 33188,
      "new_path": "src/Init/Grind/Interactive.lean"
    },
    {
      "type": "modify",
      "old_id": "a66443aa13a27d11a24ac5b36f80a2db97e01e19",
      "old_mode": 33188,
      "old_path": "src/Init/Sym/Simp/SimprocDSL.lean",
      "new_id": "276fb05ecc978a4b3344ef413f81f5d73a10f866",
      "new_mode": 33188,
      "new_path": "src/Init/Sym/Simp/SimprocDSL.lean"
    },
    {
      "type": "modify",
      "old_id": "d8d1e34ea5fed73eaeab062e117a4f6b212b46e1",
      "old_mode": 33188,
      "old_path": "src/Lean/Elab/Tactic/Grind/BuiltinTactic.lean",
      "new_id": "648e6ef4f93ed1af4c5baee9578171e348531f61",
      "new_mode": 33188,
      "new_path": "src/Lean/Elab/Tactic/Grind/BuiltinTactic.lean"
    },
    {
      "type": "modify",
      "old_id": "d6495c4c684478801f130625f0061c17ae7d2805",
      "old_mode": 33188,
      "old_path": "src/Lean/Elab/Tactic/Grind/SimprocDSLBuiltin.lean",
      "new_id": "5361af52f22c36a5966efd655e762ec9da8916c9",
      "new_mode": 33188,
      "new_path": "src/Lean/Elab/Tactic/Grind/SimprocDSLBuiltin.lean"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d8b09d032b6c7957d0f74349358d4b6bddf99af",
      "new_mode": 33188,
      "new_path": "tests/elab/sym_simp_dsl_control1.lean"
    }
  ]
}
