diff options
| author | pboutill | 2012-12-21 21:47:38 +0000 |
|---|---|---|
| committer | pboutill | 2012-12-21 21:47:38 +0000 |
| commit | e9428d3127ca159451437c2abbc6306e0c31f513 (patch) | |
| tree | 675eadf0e2790ae2dbe6f378dabf5a77feaec6f4 /proofs | |
| parent | 99674e1e719cede1531ff4c3e21c57cfb6b55b48 (diff) | |
Yet a new reduction tactic in Coq : cbn
It is supposed to become the next generation of the simpl tactics (it "refolds" constant)
but
1/it is a bit more aggresive than the old simpl
2/it cannot be customized as simpl start to be
3/(for now)it does not refold in reccursive calls constant such as
compare x y := compare_cont x y Eq := (fix compare_cont x y s := ...) x y Eq
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16111 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs')
| -rw-r--r-- | proofs/redexpr.ml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/proofs/redexpr.ml b/proofs/redexpr.ml index be0cba3a12..c4c821a9e5 100644 --- a/proofs/redexpr.ml +++ b/proofs/redexpr.ml @@ -183,6 +183,9 @@ let rec reduction_of_red_expr = function (fun _ -> simpl),DEFAULTcast) | Simpl None -> (simpl,DEFAULTcast) | Cbv f -> (cbv_norm_flags (make_flag f),DEFAULTcast) + | Cbn f -> + (strong (fun env evd x -> zip ~refold:true + (whd_state_gen ~refold:true (make_flag f) env evd (x, []))),DEFAULTcast) | Lazy f -> (clos_norm_flags (make_flag f),DEFAULTcast) | Unfold ubinds -> (unfoldn (List.map out_with_occurrences ubinds),DEFAULTcast) | Fold cl -> (fold_commands cl,DEFAULTcast) |
