pub trait LossyMapper: SpecMapper {
// Required methods
proof fn lemma_sound_mapper(&self, o: Self::Out);
proof fn lemma_mapper_wf_out_in(&self, o: Self::Out);
}Expand description
A SpecMapper that can be lossy (i.e., malleable).
Required Methods§
Sourceproof fn lemma_sound_mapper(&self, o: Self::Out)
proof fn lemma_sound_mapper(&self, o: Self::Out)
requires
self.wf_out(o),ensuresself.spec_map(self.spec_map_rev(o)) == o,A sound mapper should satisfy spec_map(spec_map_rev(o)) == o for all well-formed o.
That is, once Self::Out values are mapped to Self::In, spec_map should map them back to the original Self::Out values.
Sourceproof fn lemma_mapper_wf_out_in(&self, o: Self::Out)
proof fn lemma_mapper_wf_out_in(&self, o: Self::Out)
requires
self.wf_out(o),ensuresself.wf_in(self.spec_map_rev(o)),