]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/inversion_principle.ml
lazy proof term to increase sharing and decrease memory consumption.
[helm.git] / helm / software / components / tactics / inversion_principle.ml
index 2b6e14b37e28e5ccc3a515ce0f5a1d86c727b685..0f50116cb5ed7be0ce46d09178e8317a8dc1f8fe 100644 (file)
@@ -156,7 +156,8 @@ let build_inversion uri obj =
             let attrs = [`Class (`InversionPrinciple); `Generated] in
        let _subst = [] in
             let proof= 
-              (Some inversor_uri,metasenv',_subst,Cic.Meta(goal,[]),ref_theorem, attrs) in 
+              (Some inversor_uri,metasenv',_subst,
+                 lazy (Cic.Meta(goal,[])),ref_theorem, attrs) in 
             let _,applies =
               List.fold_right
                 (fun _ (i,applies) ->
@@ -193,7 +194,7 @@ let build_inversion uri obj =
               Some
                 (inversor_uri,
                  Cic.Constant 
-                   (UriManager.name_of_uri inversor_uri,Some bo,ty,[],[]))
+                   (UriManager.name_of_uri inversor_uri,Some (Lazy.force bo),ty,[],[]))
        with
          Inversion.EqualityNotDefinedYet -> None
         | CicRefine.RefineFailure ls ->