Require Export mc_reify.reify.
Require Export MirrorCore.RTac.Repeat.
Require Export MirrorCore.RTac.Try.
Require Export MirrorCore.RTac.First.
Require Export mc_reify.funcs.
Require Export mc_reify.reflexivity_tacs.
Definition reify_prop_right: my_lemma.
reify_lemma reify_vst mpred_prop_right.
Defined.
(* Print reify_prop_right. *)
Definition reify_now_later : my_lemma.
reify_lemma reify_vst mpred_now_later.
Defined.
(* Print reify_now_later. *)
Definition reify_derives_refl : my_lemma.
reify_lemma reify_vst mpred_derives_refl.
Defined.
(* Print reify_derives_refl. *)
Definition reify_semax_post' : my_lemma.
reify_lemma reify_vst mpred_semax_post'.
Defined.
(* Print reify_semax_post'. *)
Definition writable_Tsh_lemma: my_lemma.
reify_lemma reify_vst writable_share_top.
Defined.
(* Print writable_Tsh_lemma. *)
Definition writable_Ews_lemma: my_lemma.
reify_lemma reify_vst writable_Ews.
Defined.
(* Print writable_Ews_lemma. *)
Section tbled.
Variable tbl : SymEnv.functions RType_typ.
Let RSym_sym := RSym_sym tbl.
Existing Instance RSym_sym.
Let Expr_expr_fs := Expr_expr_fs tbl.
Existing Instance Expr_expr_fs.
Let Expr_ok_fs := Expr_ok_fs tbl.
Existing Instance Expr_ok_fs.
Let ExprVar_expr := @ExprVariables.ExprVar_expr typ func.
Existing Instance ExprVar_expr.
Existing Instance MA.
Existing Instance rtac_base.MentionsAnyOk.

(* Specifications: *)
Lemma APPLY_sound_prop_right: rtac_sound (EAPPLY typ func reify_prop_right).
Lemma APPLY_sound_now_later: rtac_sound (EAPPLY typ func reify_now_later).
Lemma APPLY_sound_derives_refl: rtac_sound (EAPPLY typ func reify_derives_refl).
Lemma APPLY_sound_semax_post': rtac_sound (EAPPLY typ func reify_semax_post').
Lemma APPLY_sound_writable_Tsh: rtac_sound (APPLY typ func writable_Tsh_lemma).
Lemma APPLY_sound_writable_Ews: rtac_sound (APPLY typ func writable_Ews_lemma).
End tbled.