Structures For Tracking a Computation's Oracle Queries #
This file defines types like QueryLog and QueryCache for use with
simulation oracles and implementation transformers defined in the same directory.
Type to represent a cache of queries to oracles in spec.
Defined to be a function from (indexed) inputs to an optional output.
Equations
Instances For
Equations
Add a index + input pair to the cache by updating the function
Equations
Instances For
Simple wrapper in order to introduce the Monoid structure for countingOracle.
Marked as reducible and can generally be treated as just a function.
Equations
Instances For
Pointwise addition as the Monoid operation used for WriterT.
Equations
Equations
Instances For
Log of queries represented by a list of dependent product's tagging the oracle's index.
(i : ι) → spec.domain i × spec.range i is slightly more restricted as it doesn't
keep track of query ordering between different oracles.
Equations
Instances For
Equations
Query log with a single entry.
Equations
Instances For
Update a query log by adding a new element to the appropriate list. Note that this requires decidable equality on the indexing set.
Equations
Instances For
Equations
Get all the queries made to oracle i.
Equations
Instances For
Equations
Instances For
Check if an element was ever queried in a log of queries. Relies on decidable equality of the domain types of oracles.
Equations
Instances For
Get only the portion of the log for queries in spec₁.
Equations
Instances For
Get only the portion of the log for queries in spec₂.
Equations
Instances For
View a log for spec₁ as one for spec₁ ++ₒ spec₂ by inclusion.
Equations
Instances For
View a log for spec₂ as one for spec₁ ++ₒ spec₂ by inclusion.
Equations
Instances For
Equations
Equations
Type to represent a store of seed values to use in a computation, represented as a function. Updates to individual seed lists are performed via continuation passing.
Equations
Instances For
Equations
Equations
Equations
Instances For
Add a list of values to the query seed.
Equations
Instances For
Add a single value into the seed, by adding a singleton list
Equations
Instances For
Take only the first n values of the seed at index i.