def lift_observation
stelliferous@0.0.2.0 · proofs/storage_refinement.bend:471
import stelliferous@0.0.2.0/proofs/storage_refinement.bend as StorageRefinement
import Base
import stelliferous@0.0.2.0/proofs/storage_tree_model.bend as Tree
471
472
473def lift_observation(~Element: Data,~Context: Data,
474 ~Proposition: Context -> @-storage: Array<Element> -> @-tree: Tree.Tree<Element> -> Type,
475 +context: Context,-storage: Array<Element>,observation: Observation<Element,storage>,
476 canonical: @+tree: Tree.Tree<Element> -> Proposition(context,Tree.pack(Element,tree),tree)) ->
477 Proposition(context,storage,Tree.reflect(Element,storage)):
478 Observation{+tree,packed,reflected} = observation
479 %reflected : Proposition(context,storage,_)
480 %packed : Proposition(context,_,tree)
481 canonical(tree)