Commit 772ff880 authored by Dan Frumin's avatar Dan Frumin
Browse files

Prove `dcexpr_interp_mono`.

parent f002e839
...@@ -361,15 +361,18 @@ Proof. ...@@ -361,15 +361,18 @@ Proof.
Qed. Qed.
Lemma dcexpr_interp_mono (X: list string) (E E': known_locs) (de: dcexpr) : Lemma dcexpr_interp_mono (X: list string) (E E': known_locs) (de: dcexpr) :
dcexpr_wf X E de E `prefix_of` E' dcexpr_interp E de = dcexpr_interp E' de. dcexpr_wf X E de E `prefix_of` E'
dcexpr_interp E de = dcexpr_interp E' de.
Proof. Proof.
induction de; simplify_eq /=; intros H Hpre; revert X.
try (by rewrite IHde ) || induction de; simplify_eq /=; intros X H Hpre; eauto;
(apply andb_prop_elim in H as [H1 H2]; destruct_and?;
rewrite IHde2; [rewrite IHde1; done | done | done ]; try by rewrite (IHde X)
by rewrite (IHde1 H1 Hpre (dcexpr_interp E de1))) || eauto. || (rewrite (IHde2 X) // (IHde1 X) //).
by rewrite (dexpr_interp_mono X E E'). - by rewrite (dexpr_interp_mono X E E').
Admitted. - rewrite (IHde1 X) //.
by erewrite (IHde2 (_::X)).
Qed.
Global Instance dexpr_closed X E de : Global Instance dexpr_closed X E de :
dexpr_wf X E de dexpr_wf X E de
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment