Start documenting FiniteMap.lean

This commit is contained in:
2026-06-29 08:59:51 -05:00
parent d1a11a9b2c
commit 490c472d22

View File

@@ -1,8 +1,23 @@
import Spa.Lattice.Tuple import Spa.Lattice.Tuple
import Mathlib.Data.List.Nodup import Mathlib.Data.List.Nodup
/-!
# Finite Maps
This file defines _finite maps_, or key-value maps with a finite domain. This
is encoded as a map from `Fin` into the value type. Finite maps form a
lattice from pointwise composition: $(f \land g) k = f k \land g k$,
and, provided the domain `\beta` is of finite height, so is the map
lattice as a whole.
In fact, the isomorphism is described and proven in `Spa/Lattice/Tuple.lean`.
-/
namespace Spa namespace Spa
/-- Key-value map with domain `α` and codomain `β`, with possible keys $\textit{ks} \subseteq \alpha$. -/
def FiniteMap (α β : Type*) (ks : List α) : Type _ := Fin ks.length β def FiniteMap (α β : Type*) (ks : List α) : Type _ := Fin ks.length β
namespace FiniteMap namespace FiniteMap