Flagship declarations

Start with the mathematical results

Pinned project revision
Project-declaredLean 4.31.0

Find? ext

Cedar.Data.Map.find?_ext

Plain-language statement

Two well-formed maps are equal if they have the same find? for every key.

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Find? notmem keys

Cedar.Data.Map.find?_notmem_keys

Plain-language statement

Inverse of find?_mem_toList, except that this requires wf

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Find? some iff in values

Cedar.Data.Map.find?_some_iff_in_values

Plain-language statement

The mp direction of this does not need the wf precondition and, in fact, is available separately as find?_some_implies_in_values above

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

In list iff find? some

Cedar.Data.Map.in_list_iff_find?_some

Plain-language statement

The mpr direction of this does not need the wf precondition and, in fact, is available separately as find?_mem_toList above

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Map make append find disjoint

Cedar.Data.Map.map_make_append_find_disjoint

Plain-language statement

If a key exists in l₂ but not in l₁, then Map.make (l₁ ++ l₂) contains that key.

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record

Project index

More declarations

Search within this project

Showing 8 of 194 additional declarations. Use project search for the complete index.

Project-declaredLean 4.31.0

Map MOn Values ok implies all ok

Cedar.Data.Map.mapMOnValues_ok_implies_all_ok

Plain-language statement

Note that the converse is not true: counterexample m₁ is [(1, false)], m₂ is [(1, false), (2, true)], f is Except.ok But for a limited converse, see all_ok_implies_mapMOnValues_ok

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Map MOn Values preserves keys

Cedar.Data.Map.mapMOnValues_preserves_keys

Plain-language statement

This is not stated in terms of Map.keys because Map.keys produces a Set, and we want the even stronger property that it not only preserves the key-set, but also the key-order. (We'll use this to prove mapMOnValues_some_wf.)

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Map MOn Values some implies all from some alt proof

Cedar.Data.Map.mapMOnValues_some_implies_all_from_some_alt_proof

Plain-language statement

alternate proof of mapMOnValues_some_implies_all_from_some, which instead of relying on mapMOnValues_some_implies_forall₂, relies on List.mapM_some_implies_all_from_some. Which do we prefer?

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Map MOn Values some implies all some alt proof

Cedar.Data.Map.mapMOnValues_some_implies_all_some_alt_proof

Plain-language statement

alternate proof of mapMOnValues_some_implies_all_some, which instead of relying on mapMOnValues_some_implies_forall₂, relies on List.mapM_some_implies_all_some. Which do we prefer?

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Map MOn Values some wf alt proof

Cedar.Data.Map.mapMOnValues_some_wf_alt_proof

Plain-language statement

Alternate proof of mapMOnValues_some_wf, that relies on List.mapM_some_eq_filterMap instead of mapMOnValues_preserves_keys. Which do we prefer?

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Mem values make

Cedar.Data.Map.mem_values_make

Plain-language statement

Very similar to mem_make_mem_list above

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Action scope produces boolean

Cedar.Thm.action_scope_produces_boolean

Plain-language statement

Lemma: evaluating the actionScope of any policy produces a boolean (and does not error)

authorizationprogram verificationsemantics

Source project: Cedar Specification

Person-level attribution pending.

View proof record