Library seqcomsound


the soundness proof of the 'seq' rule

Require Import include.
Require Import memory.
Require Import memdata.
Require Import language.
Require Import opsem.
Require Import assertion.
Require Import simulation.
Require Import lemmasforseplog.
Require Import inferules.
Require Import tacticsforseplog.
Require Import includeLib.
Require Import baseTac.
Require Import auxdef.

Lemma seq_rule_sound_aux : forall I r ri q FSpec sd s2,
        (forall o O op, (o, O, op) |= ->
        MethSimMod FSpec sd (nilcont s2) o op O I r ri (lift q))->
        forall c ke ks aop o O,
        MethSimMod FSpec sd (c, (ke, ks)) o aop O I r ri (lift ) ->
        MethSimMod FSpec sd (c, (ke, (AddStmtToKs s2 ks))) o aop O I r ri (lift q) .

Lemma seq_rule_sound : forall Spec sd I r ri p q s1 s2,
                            RuleSem Spec sd I r ri p s1 ->
                            RuleSem Spec sd I r ri s2 q ->
                            RuleSem Spec sd I r ri p (sseq s1 s2) q .