diff options
| -rw-r--r-- | plugins/ssr/ssrfwd.ml | 4 | ||||
| -rw-r--r-- | test-suite/ssr/under.v | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/plugins/ssr/ssrfwd.ml b/plugins/ssr/ssrfwd.ml index 491d6cfb33..be2732513f 100644 --- a/plugins/ssr/ssrfwd.ml +++ b/plugins/ssr/ssrfwd.ml @@ -425,11 +425,13 @@ let undertac ist varnames ((dir,mult),_ as rule) hint = if hint = nohint then Proofview.tclUNIT () else + let betaiota = Tactics.reduct_in_concl (Reductionops.nf_betaiota, DEFAULTcast) in Proofview.tclDISPATCH ((List.map (function None -> Proofview.V82.tactic overtac | Some e -> ssrevaltac ist e <*> Proofview.V82.tactic overtac) - (if hint = nullhint then [None] else snd hint)) @ [Proofview.tclUNIT ()]) + (if hint = nullhint then [None] else snd hint)) + @ [betaiota]) in (Proofview.V82.tactic (Ssrequality.ssrrewritetac ~under:true ~map_redex ist [rule]) <*> intro_lock varnames <*> undertacs) diff --git a/test-suite/ssr/under.v b/test-suite/ssr/under.v index 7db2f2a982..9ce249124d 100644 --- a/test-suite/ssr/under.v +++ b/test-suite/ssr/under.v @@ -132,7 +132,6 @@ Lemma test_big_cosmetic (F G : nat -> nat) (m n : nat) : \sum_(0 <= i < m) \sum_(0 <= j < n | odd j) (j + i). Proof. under a A: [RHS]eq_bigr by under b B: eq_bigr by []. (* renaming bound vars *) -simpl. myadmit. Qed. @@ -140,9 +139,7 @@ Lemma test_big_andb (F : nat -> nat) (m n : nat) : \sum_(0 <= i < 5 | odd i && (i == 1)) i = 1. Proof. under i: eq_bigl by rewrite andb_idl; first by move/eqP->. -simpl. under i: eq_bigr by move/eqP=>{1}->. (* the 2nd occ should not be touched *) -simpl. myadmit. Qed. |
