]> matita.cs.unibo.it Git - helm.git/commitdiff
example:
authorEnrico Tassi <enrico.tassi@inria.fr>
Thu, 17 Apr 2008 16:55:36 +0000 (16:55 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Thu, 17 Apr 2008 16:55:36 +0000 (16:55 +0000)
  inductive I : Type :=
  | k : \forall A. (A -> I)-> I

  match t with
  | k _ f => f w (* is smaller than t even if applied! *)

helm/software/components/cic_proof_checking/cicTypeChecker.ml

index 883bc329600be45d2decfbefc498860fe837d4f7..9336cb84ab3c6e8af65624525867ee6f1b9035fc 100644 (file)
@@ -763,10 +763,12 @@ and check_is_really_smaller_arg
  match CicReduction.whd ~subst context te with
      C.Rel m when List.mem m safes -> true
    | C.Rel _ 
-   | C.Appl _
    | C.MutConstruct _
    | C.Const _
    | C.Var _ -> false
+   | C.Appl (he::_) ->
+        check_is_really_smaller_arg rec_uri rec_uri_len 
+          ~logger ~metasenv ~subst context n nn kl x safes he
    | C.Lambda (name,ty,ta) ->
       check_is_really_smaller_arg rec_uri rec_uri_len 
         ~logger ~metasenv ~subst (Some (name,Cic.Decl ty)::context)