lean4-htt/src
Joachim Breitner 85f25967ea
feat: Lean.RArray (#6070)
This PR adds the Lean.RArray data structure.

This data structure is equivalent to `Fin n → α` or `Array α`, but
optimized for a fast kernel-reduction `get` operation.

It is not suitable as a general-purpose data structure. The primary
intended use case is the “denote” function of a typical proof by
reflection proof, where only the `get` operation is necessary, and where
using `List.get` unnecessarily slows down proofs with more than a
hand-full of atomic expressions.


There is no well-formedness invariant attached to this data structure,
to keep it concise; it's semantics is given through `RArray.get`. In
that way one can also view an `RArray` as a decision tree implementing
`Nat → α`.

In #6068 this data structure is used in `simp_arith`.
2024-11-14 10:56:50 +00:00
..
bin
cmake feat: compile against Windows SDK headers under Windows (#5753) 2024-10-22 13:00:02 +00:00
include/lean feat: Bool.to(U)IntX (#6060) 2024-11-13 15:49:16 +00:00
Init feat: Lean.RArray (#6070) 2024-11-14 10:56:50 +00:00
initialize fix: explicitly initialize Std in lean_initialize (#4668) 2024-07-06 13:17:30 +00:00
kernel fix: instantiateMVars slowdown in the language server (#5805) 2024-10-25 09:35:41 +00:00
lake refactor: lake: avoid v! in builtin code (#6073) 2024-11-14 05:00:02 +00:00
Lean feat: Lean.RArray (#6070) 2024-11-14 10:56:50 +00:00
library chore: tag prerelease builds with -pre (#5943) 2024-11-06 14:47:52 +00:00
runtime feat: define ISize and basic operations on it (#5961) 2024-11-05 15:08:19 +00:00
shell chore: avoid rebuilding leanmanifest in each build (#5057) 2024-08-15 14:55:36 +00:00
Std feat: add options to configure all of bv_decide's preprocessing (#6077) 2024-11-14 09:22:23 +00:00
util feat: add --short-version (-V) option to display short version (#5930) 2024-11-03 15:18:23 +00:00
cadical.mk feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
CMakeLists.txt chore: tag prerelease builds with -pre (#5943) 2024-11-06 14:47:52 +00:00
config.h.in
githash.h.in
Init.lean feat: change Array.set to take a Nat and a tactic provided bound (#5988) 2024-11-11 07:53:24 +00:00
lakefile.toml.in feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
lean-toolchain
Lean.lean chore: remove SplitIf.ext cache (#5571) 2024-10-17 09:36:00 +00:00
lean.mk.in fix: split libleanshared on Windows to avoid symbol limit 2024-08-12 14:14:42 +02:00
Leanc.lean feat: expose flags for the bundled C compiler (#4477) 2024-06-22 01:23:33 +00:00
Std.lean chore: move Lean.Data.Parsec to Std.Internal.Parsec (#5115) 2024-08-21 15:26:17 +00:00
stdlib.make.in fix: rm new shared libs before build for Windows (#5541) 2024-10-02 04:06:03 +00:00
stdlib_flags.h chore: unset parseQuotWithCurrentStage in stage1’s src/stdlib_flags.h (#4537) 2024-06-23 09:44:14 +00:00
version.h.in chore: tag prerelease builds with -pre (#5943) 2024-11-06 14:47:52 +00:00