proofs/lib/lemmas/proofs/public_config.bend checks
raw source on the hub · import bend-collections-laws-containers@1.0.0.0/proofs/lib/lemmas/proofs/public_config.bend as Public_config
19 imports
import Base import ../src/cache.bend as C import ../src/public.bend as Pub import ../src/driver.bend as D import ../spec/cache.bend as S import ../spec/clock.bend as Clock import ../spec/public_commands.bend as PC import ../spec/equivalence.bend as E import ../types/model.bend as T import ./refinement.bend as F import ./invariants.bend as Inv import ./public_relation.bend as R import ./public_drive.bend as Drive import ./extensional_states.bend as Ext import ./configuration_observations.bend as Config import ./representation_access.bend as Access import ./cache_storage_preservation.bend as Storage import ./abstraction_size.bend as Size import ./abstraction_bindings.bend as B
Templates
template unchanged source · line 25 · raw
@-K:Data -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @+zero_value:V -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+answer:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.Answer<K, V> -> @+expected:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.Reply<K, V> -> @+s:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.Model<K, V> -> @state:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c) == s : 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.Model<K, V>} -> @reply:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.reply(K, V, answer) == expected : 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.Reply<K, V>} -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.drive(K, V, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.Finished{c, answer}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.Returned{s, expected, events, 0n})A finished answer whose abstraction is identical to the specified state.
template len source · line 30 · raw
@-K:Data -> @-encode:(@_:K -> String) -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @zero_key:K -> @+zero_value:V -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> @valid:{0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/invariants.representation(K, encode, V, c) == True{} : Bool} -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.execute(K, encode, V, zero_key, zero_value, c, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.Len{}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.execute(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c), zero_key, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.Len{}))
template set_lifetime source · line 33 · raw
@-K:Data -> @-encode:(@_:K -> String) -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @zero_key:K -> @+zero_value:V -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+ns:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/types/model.Int64 -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.execute(K, encode, V, zero_key, zero_value, c, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.SetLifetime{ns}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.execute(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c), zero_key, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.SetLifetime{ns}))
template metrics source · line 36 · raw
@-K:Data -> @-encode:(@_:K -> String) -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @zero_key:K -> @+zero_value:V -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.execute(K, encode, V, zero_key, zero_value, c, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.Metrics{}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.execute(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c), zero_key, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.Metrics{}))
template reset_metrics source · line 40 · raw
@-K:Data -> @-encode:(@_:K -> String) -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @zero_key:K -> @+zero_value:V -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.execute(K, encode, V, zero_key, zero_value, c, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.ResetMetrics{}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.execute(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c), zero_key, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.ResetMetrics{}))
template purge source · line 45 · raw
@-K:Data -> @-encode:(@_:K -> String) -> @-same:(@_:K -> @_:K -> Bool) -> @-V:Data -> @zero_key:K -> @+zero_value:V -> @+c:0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/cache.Cache<K, V> -> @+events:List<&2, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/clock.ClockEvent> -> 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/public_relation.results(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/driver.execute(K, encode, V, zero_key, zero_value, c, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/src/public.Purge{}), 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/public_commands.execute(K, same, V, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/proofs/refinement.abstract(K, V, c), zero_key, zero_value, events, 0x5c489f5d9646d7cc9aa3dd8137e9dc07/proofs/lib/lemmas/spec/cache.Purge{}))Full Purge replaces the table with Map.new, clears recency and metrics.