]> matita.cs.unibo.it Git - helm.git/log
helm.git
14 years agohints polished and fixed to allow recursive inference of ext_carr
Enrico Tassi [Tue, 28 Sep 2010 23:09:45 +0000 (23:09 +0000)]
hints polished and fixed to allow recursive inference of ext_carr

14 years agonicer hints, 16.1->3 done
Enrico Tassi [Tue, 28 Sep 2010 11:35:23 +0000 (11:35 +0000)]
nicer hints, 16.1->3 done

14 years agomany fixes to setoids for re, 16.1 almost done
Enrico Tassi [Mon, 27 Sep 2010 23:25:57 +0000 (23:25 +0000)]
many fixes to setoids for re, 16.1 almost done

14 years agofixed notation for \cup and \cap
Enrico Tassi [Mon, 27 Sep 2010 23:25:07 +0000 (23:25 +0000)]
fixed notation for \cup and \cap

14 years agosome reorganization + some more re-setoids.ma proofs
Enrico Tassi [Sat, 25 Sep 2010 14:55:09 +0000 (14:55 +0000)]
some reorganization + some more re-setoids.ma proofs

14 years agomorphism support moved to sets/ and logic/cprop
Enrico Tassi [Thu, 23 Sep 2010 22:39:08 +0000 (22:39 +0000)]
morphism support moved to sets/ and logic/cprop

14 years agointerpretation for <->
Enrico Tassi [Thu, 23 Sep 2010 22:36:07 +0000 (22:36 +0000)]
interpretation for <->

14 years agofix typo
Enrico Tassi [Thu, 23 Sep 2010 22:35:46 +0000 (22:35 +0000)]
fix typo

14 years agopatch by Brian committed, cut&paste should not crash matita any longer
Enrico Tassi [Thu, 23 Sep 2010 19:55:43 +0000 (19:55 +0000)]
patch by Brian committed, cut&paste should not crash matita any longer

14 years agoSetoid-Rewriting under Ex works for an arbitrary depth of Ex. Patches needed:
Enrico Tassi [Thu, 23 Sep 2010 13:42:24 +0000 (13:42 +0000)]
Setoid-Rewriting under Ex works for an arbitrary depth of Ex. Patches needed:

Index: ../components/ng_refiner/nCicUnification.ml
===================================================================
--- ../components/ng_refiner/nCicUnification.ml (revision 10941)
+++ ../components/ng_refiner/nCicUnification.ml (working copy)
@@ -97,7 +97,7 @@
    let time2 = Unix.gettimeofday () in
    let time1 =
     match !times with time1::tl -> times := tl; time1 | [] -> assert false in
-   prerr_endline ("}}} " ^ string_of_float (time2 -. time1));
+   prerr_endline ("}}} " ^ !indent ^ " " ^ string_of_float (time2 -. time1));
    (match exc_opt with
    | Some e ->  prerr_endline ("exception raised: " ^ Printexc.to_string e)
    | None -> ());
@@ -730,6 +730,32 @@
               | Uncertain _ as exn -> raise exn
               | _ -> assert false
     in
+    let fo_unif_heads_and_cont_or_unwind_and_hints
+      test_eq_only metasenv subst m1 m2 cont hm1 hm2
+     =
+      let ms, continuation =
+        (* calling the continuation inside the outermost try is an option
+           and makes unification stronger, but looks not frequent to me
+           that heads unify but not the arguments and that an hints can fix
+           that *)
+        try fo_unif test_eq_only metasenv subst m1 m2, cont
+        with
+        | UnificationFailure _
+        | KeepReducing _ | Uncertain _ as exn ->
+           let (t1,norm1),(t2,norm2) = hm1, hm2 in
+           match
+             try_hints metasenv subst
+              (norm1,NCicReduction.unwind t1) (norm2,NCicReduction.unwind t2)
+           with
+            | Some x -> x, fun x -> x
+            | None ->
+                match exn with
+                | KeepReducing msg -> raise (KeepReducingThis (msg,hm1,hm2))
+                | UnificationFailure _ | Uncertain _ as exn -> raise exn
+                | _ -> assert false
+      in
+        continuation ms
+    in
     let height_of = function
      | NCic.Const (Ref.Ref (_,Ref.Def h))
      | NCic.Const (Ref.Ref (_,Ref.Fix (_,_,h)))
@@ -767,7 +793,7 @@
             match t1 with
             | C.Const r -> NCicEnvironment.get_relevance r
             | _ -> [] *) in
-          let unif_from_stack t1 t2 b metasenv subst =
+          let unif_from_stack (metasenv, subst) (t1, t2, b) =
               try
                 let t1 = NCicReduction.from_stack ~delta:max_int t1 in
                 let t2 = NCicReduction.from_stack ~delta:max_int t2 in
@@ -784,14 +810,19 @@
                 NCicReduction.unwind (k2,e2,t2,List.rev l2),
                 todo
           in
-        let hh1,hh2,todo=check_stack (List.rev s1) (List.rev s2) relevance [] in
+          let check_stack l1 l2 r =
+            match t1, t2 with
+            | NCic.Meta _, _ | _, NCic.Meta _ ->
+                (NCicReduction.unwind (k1,e1,t1,s1)),
+                (NCicReduction.unwind (k2,e2,t2,s2)),[]
+            | _ -> check_stack l1 l2 r []
+          in
+        let hh1,hh2,todo = check_stack (List.rev s1) (List.rev s2) relevance in
         try
-         let metasenv,subst =
-          fo_unif_w_hints test_eq_only metasenv subst (norm1,hh1) (norm2,hh2) in
-         List.fold_left
-          (fun (metasenv,subst) (x1,x2,r) ->
-            unif_from_stack x1 x2 r metasenv subst
-          ) (metasenv,subst) todo
+          fo_unif_heads_and_cont_or_unwind_and_hints
+            test_eq_only metasenv subst (norm1,hh1) (norm2,hh2)
+            (fun ms -> List.fold_left unif_from_stack ms todo)
+            m1 m2
         with
          | KeepReducing _ -> assert false
          | KeepReducingThis _ ->

14 years agofixed notation
Enrico Tassi [Thu, 16 Sep 2010 21:28:13 +0000 (21:28 +0000)]
fixed notation

14 years agosome more work
Enrico Tassi [Sun, 12 Sep 2010 19:40:39 +0000 (19:40 +0000)]
some more work

14 years agoChange (or better define) the order of hints premises.
Enrico Tassi [Sun, 12 Sep 2010 16:55:11 +0000 (16:55 +0000)]
Change (or better define) the order of hints premises.

They are now processed top to bottom, and not viceversa as before. This seems
to be right thing, since rules like:

  X := carr T
  ....
  R := mk_foo ... (P X) ... T ...
 --------------------------------- |-
  carr R = (P X)

can't be written putting X := carr T last, but you really want to be sure that
the needed assumptions to obtain a foo (in that case, that X is the carrier of
a setoid T) are available _before_ you even try to typecheck the bigger
unification problem (that may not be well typed if X and carr T are not
_convertible_, since in the fix function called in instantiate we call the
typechecker and not the refiner).

14 years agonon uniform coercions landed in hints_declaration.ma, setoids and sets library
Enrico Tassi [Sun, 12 Sep 2010 11:06:39 +0000 (11:06 +0000)]
non uniform coercions landed in hints_declaration.ma, setoids and sets library
updated accordingly

14 years agoSome refactoring in set*.ma, some new notations and new hints for \cup.
Enrico Tassi [Thu, 9 Sep 2010 22:14:11 +0000 (22:14 +0000)]
Some refactoring in set*.ma, some new notations and new hints for \cup.
non uniform coercions still to be pushed from re-setoids.ma to a place
before sets.ma, maybe in hints_declaration.ma since they are complementary.

14 years agoth 16.2 proved in the setoids setting
Enrico Tassi [Thu, 9 Sep 2010 16:01:20 +0000 (16:01 +0000)]
th 16.2 proved in the setoids setting

14 years ago...
Enrico Tassi [Wed, 8 Sep 2010 21:51:05 +0000 (21:51 +0000)]
...

14 years agobetter not allowed sort elimination error messsage
Enrico Tassi [Wed, 8 Sep 2010 16:31:02 +0000 (16:31 +0000)]
better not allowed sort elimination error messsage

14 years ago...
Enrico Tassi [Wed, 8 Sep 2010 16:27:48 +0000 (16:27 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 8 Sep 2010 16:20:00 +0000 (16:20 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 8 Sep 2010 13:30:32 +0000 (13:30 +0000)]
...

14 years agosome fixes to cope with the new mowgli server architecture
Ferruccio Guidi [Tue, 17 Aug 2010 15:37:28 +0000 (15:37 +0000)]
some fixes to cope with the new mowgli server architecture

14 years agowe can now generate static html pages about crg terms
Ferruccio Guidi [Tue, 17 Aug 2010 14:38:30 +0000 (14:38 +0000)]
we can now generate static html pages about crg terms

14 years agosome inprovements on the generated html pages
Ferruccio Guidi [Sat, 7 Aug 2010 11:37:52 +0000 (11:37 +0000)]
some inprovements on the generated html pages

14 years agold.dtd: updated to comply with crg
Ferruccio Guidi [Fri, 6 Aug 2010 23:26:57 +0000 (23:26 +0000)]
ld.dtd: updated to comply with crg
Makefiles: updated to comply with new HELM server configuration
top: some traces of old command line option "-m" removed

14 years agowe removed old HAL exportation (replaced by XML exportation)
Ferruccio Guidi [Fri, 6 Aug 2010 19:24:59 +0000 (19:24 +0000)]
we removed old HAL exportation (replaced by XML exportation)

14 years agowe renamed the module abbreviations according to src/modules.ml
Ferruccio Guidi [Fri, 6 Aug 2010 18:23:25 +0000 (18:23 +0000)]
we renamed the module abbreviations according to src/modules.ml
ld.dtd: now is more strict
Makefiles: some refactoring
crg: bug fix in name/indexes translation
xmlLibrary: bug fix in the rendering of the "name" attribute: ^ is
forbidden in a NMTOKEN
brgOutput: new xml exportation via xmlCrg

14 years agothe refactoring continues ...
Ferruccio Guidi [Fri, 6 Aug 2010 12:13:49 +0000 (12:13 +0000)]
the refactoring continues ...

14 years agonew module "xml" devoted to xml I/O
Ferruccio Guidi [Fri, 6 Aug 2010 11:49:10 +0000 (11:49 +0000)]
new module "xml" devoted to xml I/O

14 years agothe refactoring continues ....
Ferruccio Guidi [Fri, 6 Aug 2010 11:29:40 +0000 (11:29 +0000)]
the refactoring continues ....

14 years agonow we take the NUri module from the helm-ng_kernel packeage
Ferruccio Guidi [Fri, 6 Aug 2010 11:27:18 +0000 (11:27 +0000)]
now we take the NUri module from the helm-ng_kernel packeage

14 years agothe refactoring continues
Ferruccio Guidi [Fri, 6 Aug 2010 10:57:42 +0000 (10:57 +0000)]
the refactoring continues

14 years agorefactoring: helena sources are now in a dedicated directory
Ferruccio Guidi [Fri, 6 Aug 2010 10:52:43 +0000 (10:52 +0000)]
refactoring: helena sources are now in a dedicated directory

14 years agotxtLexer: bug fix in parsing the string tokens
Ferruccio Guidi [Fri, 6 Aug 2010 10:21:49 +0000 (10:21 +0000)]
txtLexer: bug fix in parsing the string tokens
library: we now export the "meta" attribute
crgXml: crg exportation factorized and alpha conversion now works
crgBrg: we now mark the abstraction and the reverse translation works
ld.dtd: updated to export crg contents

14 years ago- we simplified the parser return values
Ferruccio Guidi [Tue, 3 Aug 2010 20:54:58 +0000 (20:54 +0000)]
- we simplified the parser return values
- now the display of parser and lexer debug information is controlled
from the command line (with the options -P and -L)
complete_rg: now the empty binders are not treated especially
top: we isolated a fragment of slow code (process_streaming) to be
investigated. It can be enabled with the -1 command line option)
Makefile: we now create the etc directory when it is missing

14 years agoBug fixed: nodes were copied.
Claudio Sacerdoti Coen [Thu, 29 Jul 2010 15:27:13 +0000 (15:27 +0000)]
Bug fixed: nodes were copied.

14 years agointerpret non ambiguous symbols ASAP
Enrico Tassi [Thu, 29 Jul 2010 15:09:38 +0000 (15:09 +0000)]
interpret non ambiguous symbols ASAP

14 years ago...
Enrico Tassi [Wed, 28 Jul 2010 16:44:03 +0000 (16:44 +0000)]
...

14 years agoallows auto before eq is defined
Enrico Tassi [Wed, 28 Jul 2010 16:43:39 +0000 (16:43 +0000)]
allows auto before eq is defined

14 years ago...
Claudio Sacerdoti Coen [Wed, 28 Jul 2010 16:14:53 +0000 (16:14 +0000)]
...

14 years agoFixes unexpected behaviour of ncut when multiple goals are selected.
Wilmer Ricciotti [Wed, 28 Jul 2010 15:45:04 +0000 (15:45 +0000)]
Fixes unexpected behaviour of ncut when multiple goals are selected.

14 years agoExperimental enhancements to the ndestruct tactic. By using the syntax
Wilmer Ricciotti [Wed, 28 Jul 2010 15:44:09 +0000 (15:44 +0000)]
Experimental enhancements to the ndestruct tactic. By using the syntax

ndestruct (e1 ... em) skip (H1 ... Hn)

the user can tell the tactic that
- only equations e1 ... em should be considered
- rewriting should happen only in hypotheses H1 ... Hn and in the goal

both "(e1 ... em)" and "skip (H1 ... Hn)" are optional parameters.

14 years agoSome experiments on a co-inductive Heityng algebra.
Claudio Sacerdoti Coen [Fri, 23 Jul 2010 09:25:06 +0000 (09:25 +0000)]
Some experiments on a co-inductive Heityng algebra.

14 years ago...
Enrico Tassi [Thu, 22 Jul 2010 08:11:22 +0000 (08:11 +0000)]
...

14 years agosome work on \exists
Enrico Tassi [Thu, 22 Jul 2010 08:05:23 +0000 (08:05 +0000)]
some work on \exists

14 years agoeq -> eq0 renaming
Enrico Tassi [Thu, 22 Jul 2010 08:05:08 +0000 (08:05 +0000)]
eq -> eq0 renaming

14 years agouseless box removed
Enrico Tassi [Thu, 22 Jul 2010 08:04:43 +0000 (08:04 +0000)]
useless box removed

14 years agofixed precedence so that no () are needed around variable assignement
Enrico Tassi [Thu, 22 Jul 2010 08:04:19 +0000 (08:04 +0000)]
fixed precedence so that no () are needed around variable assignement

14 years agodo not apply hints if metaclosed
Enrico Tassi [Thu, 22 Jul 2010 08:03:45 +0000 (08:03 +0000)]
do not apply hints if metaclosed

14 years agoavoid assert false, just fail generating the coercion
Enrico Tassi [Thu, 22 Jul 2010 08:03:17 +0000 (08:03 +0000)]
avoid assert false, just fail generating the coercion

14 years ago...
Enrico Tassi [Wed, 21 Jul 2010 15:46:33 +0000 (15:46 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 21 Jul 2010 15:34:49 +0000 (15:34 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 21 Jul 2010 08:54:04 +0000 (08:54 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 21 Jul 2010 08:05:59 +0000 (08:05 +0000)]
...

14 years agonew icons for the lambda-delta web site
Ferruccio Guidi [Tue, 20 Jul 2010 16:15:22 +0000 (16:15 +0000)]
new icons for the lambda-delta web site

14 years agocompleted lemma 17
Enrico Tassi [Tue, 20 Jul 2010 12:43:19 +0000 (12:43 +0000)]
completed lemma 17

14 years ago...
Enrico Tassi [Mon, 19 Jul 2010 09:29:50 +0000 (09:29 +0000)]
...

14 years agore 16.4 almost done
Enrico Tassi [Thu, 15 Jul 2010 16:16:50 +0000 (16:16 +0000)]
re 16.4 almost done

14 years agobig mess of notation
Enrico Tassi [Sat, 10 Jul 2010 16:29:47 +0000 (16:29 +0000)]
big mess of notation

14 years agomore notation
Enrico Tassi [Fri, 9 Jul 2010 12:43:33 +0000 (12:43 +0000)]
more notation

14 years agomoved formal_topology into library"
Enrico Tassi [Wed, 7 Jul 2010 16:08:18 +0000 (16:08 +0000)]
moved formal_topology into library"

14 years agosome notation for map_arrows2
Enrico Tassi [Tue, 6 Jul 2010 10:42:33 +0000 (10:42 +0000)]
some notation for map_arrows2

14 years ago...
Claudio Sacerdoti Coen [Sun, 4 Jul 2010 18:48:10 +0000 (18:48 +0000)]
...

14 years agoSome important proofs/definitions were (and are still) commented out and
Claudio Sacerdoti Coen [Sun, 4 Jul 2010 11:24:14 +0000 (11:24 +0000)]
Some important proofs/definitions were (and are still) commented out and
do not compile.

Added the notion of functor1 to state the main theorem.

14 years agoProof simplified.
Claudio Sacerdoti Coen [Thu, 1 Jul 2010 22:01:36 +0000 (22:01 +0000)]
Proof simplified.

14 years agoProof simplified (??).
Claudio Sacerdoti Coen [Thu, 1 Jul 2010 21:38:32 +0000 (21:38 +0000)]
Proof simplified (??).

14 years ago...
Enrico Tassi [Thu, 1 Jul 2010 16:52:00 +0000 (16:52 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 30 Jun 2010 20:33:43 +0000 (20:33 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 30 Jun 2010 14:10:39 +0000 (14:10 +0000)]
...

14 years ago...
Enrico Tassi [Wed, 30 Jun 2010 13:29:50 +0000 (13:29 +0000)]
...

14 years ago....
Enrico Tassi [Wed, 30 Jun 2010 09:44:22 +0000 (09:44 +0000)]
....

14 years ago...
Enrico Tassi [Tue, 29 Jun 2010 14:03:40 +0000 (14:03 +0000)]
...

14 years agonotation made half decent
Enrico Tassi [Tue, 29 Jun 2010 12:07:37 +0000 (12:07 +0000)]
notation made half decent

14 years agobetter notation for oalgebra
Enrico Tassi [Mon, 28 Jun 2010 20:15:28 +0000 (20:15 +0000)]
better notation for oalgebra

14 years ago....
Enrico Tassi [Fri, 18 Jun 2010 11:11:43 +0000 (11:11 +0000)]
....

14 years agooff by one fixed
Enrico Tassi [Thu, 17 Jun 2010 21:41:00 +0000 (21:41 +0000)]
off by one fixed

14 years agoFix for inversion principles of types with a single constructor.
Wilmer Ricciotti [Thu, 10 Jun 2010 18:23:59 +0000 (18:23 +0000)]
Fix for inversion principles of types with a single constructor.

14 years agoFixed a bug in the undebruijnate function which caused the refiner to produce
Wilmer Ricciotti [Tue, 8 Jun 2010 16:15:14 +0000 (16:15 +0000)]
Fixed a bug in the undebruijnate function which caused the refiner to produce
a wrong object when refining mutually recursive functions (the references to
recursive calls would contain the wrong index to the recursive argument).

14 years agosome stuff on re
Enrico Tassi [Mon, 7 Jun 2010 22:56:03 +0000 (22:56 +0000)]
some stuff on re

14 years agounify left args of inductive types with left argus of constructors. this allows
Enrico Tassi [Mon, 7 Jun 2010 22:55:47 +0000 (22:55 +0000)]
unify left args of inductive types with left argus of constructors. this allows
to put ? in every left arg of every constructor of an inductive type.

14 years agoLibrary support files for John Major equality and Russell.
Wilmer Ricciotti [Wed, 12 May 2010 18:41:47 +0000 (18:41 +0000)]
Library support files for John Major equality and Russell.

14 years agoExperimental support for Russell (coercions moving inside lambda & pattern
Wilmer Ricciotti [Wed, 12 May 2010 18:39:05 +0000 (18:39 +0000)]
Experimental support for Russell (coercions moving inside lambda & pattern
matching etc.) added to the refiner.

14 years agominimization.ma
Andrea Asperti [Tue, 11 May 2010 08:50:33 +0000 (08:50 +0000)]
minimization.ma

14 years agolittle workaround for multiple screens, gdk support not bound by lablgtk2
Enrico Tassi [Tue, 11 May 2010 07:21:34 +0000 (07:21 +0000)]
little workaround for multiple screens, gdk support not bound by lablgtk2

14 years agonew intro:
Enrico Tassi [Mon, 10 May 2010 09:48:33 +0000 (09:48 +0000)]
new intro:
- #; -- introduces into the context every possible assumption giving
        to it an unusable name
- #h1 .. h2; -- multi intros
- intros; -- macro che espande a #h1...hn.

14 years agotrace generation with "// by _;"
Enrico Tassi [Fri, 7 May 2010 21:21:01 +0000 (21:21 +0000)]
trace generation with "// by _;"

14 years agonotation
Enrico Tassi [Fri, 7 May 2010 21:20:58 +0000 (21:20 +0000)]
notation

14 years agoremarks and applyS
Andrea Asperti [Fri, 7 May 2010 10:04:00 +0000 (10:04 +0000)]
remarks and applyS

14 years agoBug fixed: nstatus => status (to undo the changes).
Claudio Sacerdoti Coen [Thu, 6 May 2010 22:35:02 +0000 (22:35 +0000)]
Bug fixed: nstatus => status (to undo the changes).

Worring warnings commented out.

14 years ago...
Claudio Sacerdoti Coen [Thu, 6 May 2010 15:52:38 +0000 (15:52 +0000)]
...

14 years agoFixing naming scheme for composite coercions.
Wilmer Ricciotti [Thu, 6 May 2010 15:50:07 +0000 (15:50 +0000)]
Fixing naming scheme for composite coercions.

14 years agoassert false could happen
Claudio Sacerdoti Coen [Thu, 6 May 2010 15:45:35 +0000 (15:45 +0000)]
assert false could happen

14 years agoBug fixed:
Claudio Sacerdoti Coen [Thu, 6 May 2010 15:15:46 +0000 (15:15 +0000)]
Bug fixed:

 During unification of E1 with E2, E1 and E2 where not always reduced.
 In particular, reduction was not performed in the cases:
   LetIn vs LetIn, Match vs Match
 and maybe also in some cases Appl Meta vs Appl Meta (who knows?)

14 years agocoinduction is between us
Claudio Sacerdoti Coen [Wed, 5 May 2010 15:13:41 +0000 (15:13 +0000)]
coinduction is between us

14 years agoFirst tests.
Claudio Sacerdoti Coen [Wed, 5 May 2010 14:29:57 +0000 (14:29 +0000)]
First tests.

14 years ago* Fixed a couple of glitches in ndestruct
Wilmer Ricciotti [Tue, 4 May 2010 16:49:59 +0000 (16:49 +0000)]
* Fixed a couple of glitches in ndestruct
  - blob equations were not always handled properly
  - tactic used to fail due to not optimal behaviour of the refiner
* Added (experimental) support for JM equality to ndestruct

14 years agoRegular expressions.
Claudio Sacerdoti Coen [Tue, 4 May 2010 16:40:26 +0000 (16:40 +0000)]
Regular expressions.

14 years agonew dependences
Ferruccio Guidi [Wed, 21 Apr 2010 09:00:04 +0000 (09:00 +0000)]
new dependences

From: fguidi <fguidi@c2b2084f-9a08-0410-b176-e24b037a169a>

14 years agoElimination of recursive inductive types leads to looping.
Andrea Asperti [Mon, 19 Apr 2010 09:47:02 +0000 (09:47 +0000)]
Elimination of recursive inductive types leads to looping.
ELimnation of singleton types gives problems with negation.

From: asperti <asperti@c2b2084f-9a08-0410-b176-e24b037a169a>

14 years agoalpha_eq instead of pervasives.compare
Andrea Asperti [Mon, 19 Apr 2010 09:44:21 +0000 (09:44 +0000)]
alpha_eq instead of pervasives.compare

From: asperti <asperti@c2b2084f-9a08-0410-b176-e24b037a169a>