aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Selection.v
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2016-03-06 10:24:32 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2016-03-06 10:24:32 +0100
commita803f6926dc6d817447b3926cc409913e5d86cc0 (patch)
tree2a6be038f33ce7291b2787dfcefd586d27bdbadf /backend/Selection.v
parent2b5f5cb0bb6d8dbf302ab6d84c27eda30252912d (diff)
downloadcompcert-kvx-a803f6926dc6d817447b3926cc409913e5d86cc0.tar.gz
compcert-kvx-a803f6926dc6d817447b3926cc409913e5d86cc0.zip
Put forward_simulation and backward_simulation in Prop instead of Type
The original presentation of forward_simulation and backward_simulation diagrams was using records containing types, relations, and properties over these. These records had to live in Type because in Prop the projections could not be defined. This was causing problems with proofs of statements such as (exists x, P x) -> forward_simulation sem1 sem2 because the exists could not be eliminated in a Type context. This commit re-expresses the simulation diagrams as a record of properties (in Prop) and an inductive (in Prop too) that packs the record with the types and relations. The external interface of module Smallstep is unchanged, it's only the proofs in Smallstep and Behaviors that take a slightly different shape.
Diffstat (limited to 'backend/Selection.v')
0 files changed, 0 insertions, 0 deletions