diff options
author | Jason Gross <jgross@mit.edu> | 2018-11-27 19:06:17 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2018-11-27 19:06:17 -0500 |
commit | 7591e2a20c90bf220e504a52f63f95f32d7703be (patch) | |
tree | d3806fd62b39577f28d1cc822a6b4ba92beff16b /src | |
parent | f70342c496515e3de2332f50bc51b92b067513d1 (diff) |
Restrict rawexpr_equiv to match with reveal better
Diffstat (limited to 'src')
-rw-r--r-- | src/Experiments/NewPipeline/RewriterWf1.v | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/Experiments/NewPipeline/RewriterWf1.v b/src/Experiments/NewPipeline/RewriterWf1.v index f08122984..ac12b8585 100644 --- a/src/Experiments/NewPipeline/RewriterWf1.v +++ b/src/Experiments/NewPipeline/RewriterWf1.v @@ -787,7 +787,7 @@ Module Compilers. | _ => False end | rExpr t e => e === e1 - | rValue t e => reify e === e1 + | rValue t e => False end. Definition rawexpr_ok (r : rawexpr) := rawexpr_equiv_expr (expr_of_rawexpr r) r. @@ -797,13 +797,8 @@ Module Compilers. | rExpr t e, r | r, rExpr t e => rawexpr_equiv_expr e r - (* | rValue t1 e1, rValue t2 e2 => existT _ t1 e1 = existT _ t2 e2 - *) - | rValue t e, r - | r, rValue t e - => rawexpr_equiv_expr (reify e) r | rIdent _ t1 idc1 t'1 alt1, rIdent _ t2 idc2 t'2 alt2 => alt1 === alt2 /\ (existT ident _ idc1 = existT ident _ idc2) @@ -811,6 +806,7 @@ Module Compilers. => alt1 === alt2 /\ rawexpr_equiv f1 f2 /\ rawexpr_equiv x1 x2 + | rValue _ _, _ | rIdent _ _ _ _ _, _ | rApp _ _ _ _, _ => False @@ -932,7 +928,7 @@ Module Compilers. destruct re; cbn [rawexpr_equiv_expr]; intros; destruct_head'_and; inversion_sigma; repeat (subst || cbn [eq_rect type_of_rawexpr] in * ); - reflexivity. + solve [ reflexivity | exfalso; assumption ]. Qed. Lemma swap_swap_list {A n m ls ls'} |