diff options
| author | Pierre Boutillier | 2014-09-18 14:06:29 +0200 |
|---|---|---|
| committer | Pierre Boutillier | 2014-09-18 15:12:00 +0200 |
| commit | 854be50a06b1c0fd95a63402eeced0fd0388bf55 (patch) | |
| tree | 4cf56f1f6374087e27f2481ec61786d304214508 | |
| parent | 82229da083c2cfecca63f4ff5ca7da41bda059f6 (diff) | |
Reductionops: (Co)Fixpoints are always refolded during iota
| -rw-r--r-- | pretyping/reductionops.ml | 8 | ||||
| -rw-r--r-- | test-suite/Makefile | 2 | ||||
| -rw-r--r-- | test-suite/output/inference.out | 6 |
3 files changed, 6 insertions, 10 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml index 10f2bfd5bf..4c9fc4dc53 100644 --- a/pretyping/reductionops.ml +++ b/pretyping/reductionops.ml @@ -911,9 +911,7 @@ let rec whd_state_gen ?csts tactic_mode flags env sigma = |args, (Stack.Fix (f,s',cst_l)::s'') -> let x' = Stack.zip(x,args) in let out_sk = s' @ (Stack.append_app [|x'|] s'') in - if tactic_mode - then reduce_and_refold_fix whrec env cst_l f out_sk - else whrec Cst_stack.empty (contract_fix f, out_sk) + reduce_and_refold_fix whrec env cst_l f out_sk |args, (Stack.Cst (const,curr,remains,s',cst_l) :: s'') -> let x' = Stack.zip(x,args) in begin match remains with @@ -949,9 +947,7 @@ let rec whd_state_gen ?csts tactic_mode flags env sigma = if Closure.RedFlags.red_set flags Closure.RedFlags.fIOTA then match Stack.strip_app stack with |args, (Stack.Case(ci, _, lf,_)::s') -> - if tactic_mode - then reduce_and_refold_cofix whrec env cst_l cofix stack - else whrec Cst_stack.empty (contract_cofix cofix, stack) + reduce_and_refold_cofix whrec env cst_l cofix stack |_ -> fold () else fold () diff --git a/test-suite/Makefile b/test-suite/Makefile index 74e8061387..5188fe6c51 100644 --- a/test-suite/Makefile +++ b/test-suite/Makefile @@ -42,7 +42,7 @@ HIDE := $(if $(VERBOSE),,@) REDIR := $(if $(VERBOSE),,> /dev/null 2>&1) # read out an emacs config and look for coq-prog-args; if such exists, return it -get_coq_prog_args_helper = sed -n s'/^.*coq-prog-args:\s*(\([^)]*\)).*/\1/p' $(1) +get_coq_prog_args_helper = sed -n s'/^.*coq-prog-args:[[:space:]]*(\([^)]*\)).*/\1/p' $(1) get_coq_prog_args = $(strip $(filter-out "-emacs-U" "-emacs",$(shell $(call get_coq_prog_args_helper,$(1))))) SINGLE_QUOTE=" #" # double up on the quotes, in a comment, to appease the emacs syntax highlighter diff --git a/test-suite/output/inference.out b/test-suite/output/inference.out index 466faaccb3..6701259760 100644 --- a/test-suite/output/inference.out +++ b/test-suite/output/inference.out @@ -5,10 +5,10 @@ fun e : option L => match e with end : option L -> option L -P is monomorphic +P is not universe polymorphic fun (m n p : nat) (H : S m <= S n + p) => le_S_n m (n + p) H : forall m n p : nat, S m <= S n + p -> m <= n + p -fun n : nat => let x := A n in ?12 ?15:T n +fun n : nat => let x := A n in ?y ?y0:T n : forall n : nat, T n -fun n : nat => ?20 ?23:T n +fun n : nat => ?y ?y0:T n : forall n : nat, T n |
