Definition set_lemma (temp : PTree.t (type * bool)) (var : PTree.t type)
         (ret : type) (gt : PTree.t type) (id : ident)
         (e : Clight.expr) (ty : type): my_lemma.Definition load_lemma (temp : PTree.t (type * bool)) (var : PTree.t type)
     (ret : type) (gt : PTree.t type) (id : ident) (t t_root : type) (e0 e1 : Clight.expr)
    (efs: list efield) (tts : list type) (e : type_id_env) (lr : LLRR)
    (n: nat): my_lemma.Definition store_lemma (temp : PTree.t (type * bool)) (var : PTree.t type)
     (ret : type) (gt : PTree.t type) (t t_root : type) (e0 e1 e2: Clight.expr)
     (efs : list efield) (tts : list type)
     (e : type_id_env) (lr : LLRR) (n: nat): my_lemma.

Lemma APPLY_sound_store_lemma: forall (temp : PTree.t (type * bool)) (var : PTree.t type) (ret : type) (gt : PTree.t type) (t t_root : type) (e0 e1 e2 : Clight.expr) (efs : list efield) (tts : list type) (e : type_id_env) (lr : LLRR) (n : nat), rtac_sound (EAPPLY typ func (store_lemma temp var ret gt t t_root e0 e1 e2 efs tts e lr n)).