(************************************************

Reified Lemmas

************************************************)

Definition reify_hlip_base (temp : PTree.t (type * bool)) (var : PTree.t type)
         (ret : type) (gt : PTree.t type) (s : statement) : my_lemma.(* Print reify_hlip_base. *)

Definition reify_hlip_ind : my_lemma.Definition solve_hd_in_hlip (hd: expr typ func) : rtac typ (expr typ func) :=
  match hd with
  | App (Inj (inr (Smx flater))) _ => EAPPLY typ func reify_derives_refl
  | _ => EAPPLY typ func reify_now_later
  end.Definition HLIP temp var ret gt R s :=
  THEN (EAPPLY typ func (reify_hlip_base temp var ret gt s))
       (TRY (solve_strip_1_later R)).

(* Specifications: *)
Lemma HLIP_sound_aux0: forall temp var ret gt s, rtac_sound (EAPPLY typ func (reify_hlip_base temp var ret gt s)).
Lemma HLIP_sound_aux1: rtac_sound (EAPPLY typ func reify_hlip_ind).