有限域映射

Maps with finite domain

我需要一个数据类型的有限映射。我使用典型的(部分)地图,直到我在证明中遇到障碍,只能通过引入 finite (dom m) 谓词来解决。携带这个事实是乏味的,那么标准库中有一些解决方案吗?

this answer中所述(我也从中窃取了以下示例),自Isabelle2016-1以来,"~~/src/HOL/Library/Finite_Map"中有一个有限映射类型fmap

theory Scratch
  imports "~~/src/HOL/Library/Finite_Map"
begin

value "fmdom' (fmap_of_list [(1, 2), (3, 4::nat)])"
(* prints "{1, 1 + 1 + 1}" *)