]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/tactics/proofEngineStructuralRules.ml
Defs in context may now have an optional type (when unknown).
[helm.git] / helm / ocaml / tactics / proofEngineStructuralRules.ml
index d89420f58cde8526c4d578341db8633db23c7f10..07ddf3a9ea4c77c430f3fe5c00d163e6abda76ee 100644 (file)
@@ -29,8 +29,9 @@ let clearbody ~hyp ~status:(proof, goal) =
  let module C = Cic in
   match hyp with
      None -> assert false
+   | Some (_, C.Def (_, Some _)) -> assert false
    | Some (_, C.Decl _) -> raise (Fail "No Body To Clear")
-   | Some (n_to_clear_body, C.Def term) as hyp_to_clear_body ->
+   | Some (n_to_clear_body, C.Def (term,None)) as hyp_to_clear_body ->
       let curi,metasenv,pbo,pty = proof in
        let metano,_,_ = List.find (function (m,_,_) -> m=goal) metasenv in
         let string_of_name =
@@ -56,7 +57,7 @@ let clearbody ~hyp ~status:(proof, goal) =
                          cleared_entry::context
                      | None -> None::context
                      | Some (n,C.Decl t)
-                     | Some (n,C.Def t) ->
+                     | Some (n,C.Def (t,None)) ->
                         let _ =
                          try
                           CicTypeChecker.type_of_aux' metasenv context t
@@ -71,6 +72,7 @@ let clearbody ~hyp ~status:(proof, goal) =
                              )
                         in
                          entry::context
+                     | Some (_,Cic.Def (_,Some _)) -> assert false
                   ) canonical_context []
                 in
                  let _ =
@@ -113,8 +115,9 @@ let clear ~hyp:hyp_to_clear ~status:(proof, goal) =
                     match entry with
                        t when t == hyp_to_clear -> None::context
                      | None -> None::context
+                     | Some (_,Cic.Def (_,Some _)) -> assert false
                      | Some (n,C.Decl t)
-                     | Some (n,C.Def t) ->
+                     | Some (n,C.Def (t,None)) ->
                         let _ =
                          try
                           CicTypeChecker.type_of_aux' metasenv context t