Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-01 00:04:52 -0800 (Tue, 01 Feb 2005)
Revision: 6554
Log message:
Use silent mode, when VERBOSE is _false_, not when it's _undefined_ (but if it
is undefined, set it to false).
Changes | Path |
+5 -2 | metaprl/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-01 03:44:55 -0800 (Tue, 01 Feb 2005)
Revision: 6555
Log message:
d_apply_equalT should not be topval
Changes | Path |
+0 -1 | metaprl-branches/opname_classes3/theories/itt/itt_fun.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-01 03:55:48 -0800 (Tue, 01 Feb 2005)
Revision: 6556
Log message:
When Stdpp.Exc_located is raised and the file name is empty (as it happens,
for example, with Stdpp.Exc_located exceptions raised on the CLI), there is no
need to print the empty file name.
Changes | Path |
+30 -32 | metaprl-branches/opname_classes3/filter/base/filter_exn.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-01 06:51:21 -0800 (Tue, 01 Feb 2005)
Revision: 6557
Log message:
Deleted some unused code
Changes | Path |
+0 -9 | metaprl/filter/base/filter_util.ml |
+0 -1 | metaprl/filter/base/filter_util.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-01 11:36:33 -0800 (Tue, 01 Feb 2005)
Revision: 6558
Log message:
Changed the indentation of begin-end blocks.
let x = begin
if true then begin
1;
begin
2;
3
end;
4
end
else
2
end
Changes | Path |
+1 -1 | metaprl/editor/emacs/caml.el |
Binary | metaprl/editor/emacs/caml.elc |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-01 15:07:59 -0800 (Tue, 01 Feb 2005)
Revision: 6560
Log message:
The context_vars function makes more sense in TermMan, then in TermSubst.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-01 16:51:43 -0800 (Tue, 01 Feb 2005)
Revision: 6561
Log message:
Add a theory Itt_synt_bterm
Aleksey, note that we have to add the rule operatorSquiddle.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-01 18:27:43 -0800 (Tue, 01 Feb 2005)
Revision: 6562
Log message:
More on reflection
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-02 00:06:52 -0800 (Wed, 02 Feb 2005)
Revision: 6563
Log message:
proofs.
Changes | Path |
+9 -3 | metaprl/theories/itt/itt_synt_var.ml |
Added | metaprl/theories/itt/itt_synt_var.prla |
Properties | metaprl/theories/itt/itt_synt_var.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-02 00:36:23 -0800 (Wed, 02 Feb 2005)
Revision: 6564
Log message:
fixed a small bug
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_nat.ml |
+630 -620 | metaprl/theories/itt/itt_nat.prla |
+1304 -1085 | metaprl/theories/itt/itt_poly.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-02 03:06:01 -0800 (Wed, 02 Feb 2005)
Revision: 6565
Log message:
Whew, mmc now compiles with full type information.
Here are some tradeoffs.
1. Type information is *very* useful. I caught many errors
in mmc with it.
2. It also requires you be more verbose. For example, you
might need separate terms:
Foo{'e : Exp}
FooList{'el : List{Exp}}
you probably got away with just Foo{'a} before.
3. It is also unsound. This is mainly because there is no relation
between rules, so one rule can't tell any type constraints of
another rule.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-02 13:43:35 -0800 (Wed, 02 Feb 2005)
Revision: 6566
Log message:
The standalone libmojave was forgetting all INCLUDES, so
ssl was not being included on Win32.
Changes | Path |
+1 -1 | metaprl/mk/defaults |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-02 15:40:17 -0800 (Wed, 02 Feb 2005)
Revision: 6567
Log message:
Add the connection between synt_bterm and base_reflection 'numerals'
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-02 15:55:38 -0800 (Wed, 02 Feb 2005)
Revision: 6568
Log message:
proofs.
Changes | Path |
+5 -1 | metaprl/theories/itt/itt_synt_operator.ml |
Added | metaprl/theories/itt/itt_synt_operator.prla |
Properties | metaprl/theories/itt/itt_synt_operator.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-02 16:03:00 -0800 (Wed, 02 Feb 2005)
Revision: 6569
Log message:
Forget to commit base_reflection last time
Changes | Path |
+2 -1 | metaprl/theories/base/base_reflection.mli |
+0 -0 | metaprl/theories/itt/itt_reflection_new.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-02 17:30:13 -0800 (Wed, 02 Feb 2005)
Revision: 6570
Log message:
Minor updates
Changes | Path |
+0 -0 | metaprl/theories/itt/itt_reflection_new.ml |
+8 -3 | metaprl/theories/itt/itt_synt_bterm.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-02 18:18:11 -0800 (Wed, 02 Feb 2005)
Revision: 6571
Log message:
made bterm_elim primitive and bterm_ind_wf interactive.
Changes | Path |
+18 -20 | metaprl/theories/itt/itt_synt_bterm.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-02 22:28:40 -0800 (Wed, 02 Feb 2005)
Revision: 6572
Log message:
Removing an unused opname
Changes | Path |
+0 -1 | metaprl/support/display/summary.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-02 23:39:02 -0800 (Wed, 02 Feb 2005)
Revision: 6573
Log message:
Made the interface slightly more specific
Changes | Path |
+14 -14 | metaprl/refiner/reflib/mp_resource.ml |
+14 -14 | metaprl/refiner/reflib/mp_resource.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 00:34:46 -0800 (Thu, 03 Feb 2005)
Revision: 6574
Log message:
This brings the support for non-sequent contexts one step closer. Now the
non-sequent contexts are properly recognized by the filter and the
corresponding address arguments are properly recognized and properly passed to
the rewriter.
The rewriter support, however, is still incomplete (this is the last missing
piece of the puzzle) - any non-trivial usage of contexts is likely to result
in Invalid_argument("...not supported...") from the rewriter.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 00:41:07 -0800 (Thu, 03 Feb 2005)
Revision: 6575
Log message:
Do not include the tests directory, unless any test files are actually in use.
Changes | Path |
+2 -1 | metaprl/editor/ml/OMakefile |
Changes by: ( at unknown.email)
Date: 2005-02-03 00:41:07 -0800 (Thu, 03 Feb 2005)
Revision: 6576
Log message:
This commit was manufactured by cvs2svn to create branch
'opname_classes3'.
Changes | Path |
Copied | metaprl-branches/opname_classes3/editor/ml/OMakefile |
Copied | metaprl-branches/opname_classes3/util/check-status.sh |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-03 00:47:35 -0800 (Thu, 03 Feb 2005)
Revision: 6577
Log message:
1. Strip type constraints at parse time after type checking.
I added the function Term_man_{ds,gen}.sweep_up_term.
I'm not sure, but this is probably not definable in
Refiner_debug, because the type
sweep_up_term : (term -> term) -> term -> term
contains a positive occurrence of the term type in an argument.
We *could* move this function out of the refiner, but it
seems a bit silly to do it. Let's see what Aleksey thinks.
2. I accidentally removed collect_opnames in Filter_cache_fun.
Added it back.
check-status now works, apart from the new theorems for reflection.
It is time to merge, at least once we decide what to do with the
sweep_up_term function.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 01:51:30 -0800 (Thu, 03 Feb 2005)
Revision: 6578
Log message:
The display form operators ("slot", "pushm", etc) and options ("mode",
"parens", etc) are now properly declared in the Perv module instead of being
hacked into the opname table by the Filter_cache_fun. (Issue 398)
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 02:03:33 -0800 (Thu, 03 Feb 2005)
Revision: 6579
Log message:
Display forms updates to support the recently added address parameters.
Changes | Path |
+11 -6 | metaprl/support/display/summary.ml |
+2 -1 | metaprl/support/display/summary.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 03:57:02 -0800 (Thu, 03 Feb 2005)
Revision: 6580
Log message:
Removing TermMan.sweep_up_term (which was a dup of TermOp.map_up_term)
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 04:03:27 -0800 (Thu, 03 Feb 2005)
Revision: 6581
Log message:
It's map_up, not map_up_term, sorry!
Changes | Path |
+1 -1 | metaprl-branches/opname_classes3/refiner/reflib/term_ty_infer.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-03 11:08:01 -0800 (Thu, 03 Feb 2005)
Revision: 6582
Log message:
Ported the display form changes, and removed the wildcard types
for unknown terms.
Added types for quoted terms. For example if we have
declare lambda{x : T1. 'e['x] : T2} : T3
then we also get
lambda[@]{x : Term. Term} : Term
I would rather use a type Quote for quoted terms, but this will
surely break in ITT. For example, the following would be
well-typed:
apply[@]{t1[@]; t2[@]}
but the following would break
apply[@]{fst{pair{t1[@]; t0[@]}}; t2[@]}
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 12:25:54 -0800 (Thu, 03 Feb 2005)
Revision: 6583
Log message:
Fixing TERMS=std
Changes | Path |
+6 -1 | metaprl/refiner/term_gen/term_man_gen.ml |
Changes by: ( at unknown.email)
Date: 2005-02-03 12:25:54 -0800 (Thu, 03 Feb 2005)
Revision: 6584
Log message:
This commit was manufactured by cvs2svn to create branch
'opname_classes4'.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-03 16:00:47 -0800 (Thu, 03 Feb 2005)
Revision: 6586
Log message:
Added the Quote typeclass. Quoted terms have types like the following.
apply[@]{'t1 : Term; 't2 : Term} : Quote
Changes | Path |
+3 -21 | metaprl-branches/opname_classes3/refiner/reflib/term_ty_infer.ml |
+6 -0 | metaprl-branches/opname_classes3/support/display/perv.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 18:14:03 -0800 (Thu, 03 Feb 2005)
Revision: 6587
Log message:
Yet another instance of the opname_classes branch, merged once again with the
trunk changes and re-branched.
Known issues:
- The .mli opname declarations are added to the .cmoz in the reverse order.
This, among other things causes Failure ("unknown typeclass:
Mmc_base_judgment!Prop") exception on cd'ing into the /mmc_base_judgment
module.
- The .mli opname declarations are added to the .cmoz even when .cmoz has its
own copy. That results in the "ls" output (and other things, such as .cmoz
and .prla files) being unnecessarily cluttered.
- If the same shape is declared several times (possibly with incompatible
types), does anybody notice?
Potential TODOs and RFEs:
- Proper type checking for display forms.
- Could we may be come up with a way to propagate certain declarations from
.ml into .cmiz (instead of the other way around)? Some declarations needs
to stay in the .ml in order to get properly documented.
- "declare sequent" shortcuts:
- when the type is { Term : Term >- Term } : Term, allow omitting it
- when the type is { Term : Term >- Term } : Foo, allow typing just ": Foo"
- Perv!nil/Perv!cons should have the Dform type.
- When the sequent conclusion is omitted, a we should use something other
than Perv!nil for the conclusion. This new "default conclusion" term
should be a member of a singleton type (in the Term typeclass), and MMC
should be using that in the type of Mmc_core_ast!ty_args
- Base_reflection should use its own cons and nil for bterm lists.
- The new stuff (both the new syntax and the typechecking algorithm) need to
be documented.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 18:15:24 -0800 (Thu, 03 Feb 2005)
Revision: 6588
Log message:
These got accidentally resurrected in one of the merges. Removing them again.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 18:34:03 -0800 (Thu, 03 Feb 2005)
Revision: 6589
Log message:
Annotated a few things with ": Dform"
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 19:51:33 -0800 (Thu, 03 Feb 2005)
Revision: 6590
Log message:
- Removed the obsolte "Opname" and "Definition" choices from the summary_item
type (Filter_summary has hack that prevents it from complaining about
unknown "opname" and "definition" items in the old .prla)
- Restored the ability to have a declare+rewrite in the interface and a define
in the implementation.
- Made the ls options processor a bit smarter about the new "declare" items.
In particular, an ordinary "declare" directive is going to be consideted
formal when the type does not mention "Dform" and is going to be considered
informal and display-related when it does.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-03 20:35:03 -0800 (Thu, 03 Feb 2005)
Revision: 6591
Log message:
Copy declare items from the interface during the checking phase.
This eliminates duplicate declares, and provides a genric way to copy
items from the interface.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-03 21:29:29 -0800 (Thu, 03 Feb 2005)
Revision: 6592
Log message:
Prevent redeclaration of shapes.
Note that Itt_rat, Itt_rbtree had errors in this respect,
using define more than once on the same shape.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-03 23:11:52 -0800 (Thu, 03 Feb 2005)
Revision: 6593
Log message:
Adding a few "XXX BUG" comments on some of the places Jason found.
Changes | Path |
+2 -0 | metaprl-branches/opname_classes4/theories/itt/itt_rat.ml |
+1 -0 | metaprl-branches/opname_classes4/theories/itt/itt_rbtree.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-04 09:38:16 -0800 (Fri, 04 Feb 2005)
Revision: 6594
Log message:
Thread the flag for shape checking, rather than using an imperative
variable. This allows shape checking for sub-theories, and is less
likely to cause problems in the future.
Changes | Path |
+27 -26 | metaprl-branches/opname_classes4/filter/base/filter_cache_fun.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-04 12:29:12 -0800 (Fri, 04 Feb 2005)
Revision: 6595
Log message:
Fixing the documentation display forms (that I broke when merging
opname_classes3).
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-04 14:10:55 -0800 (Fri, 04 Feb 2005)
Revision: 6596
Log message:
Fix a bug in itt_rbtrees
Changes | Path |
+4 -4 | metaprl/theories/itt/itt_rbtree.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-04 17:56:31 -0800 (Fri, 04 Feb 2005)
Revision: 6597
Log message:
Improved display forms for the "declare" directives.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-04 19:41:51 -0800 (Fri, 04 Feb 2005)
Revision: 6598
Log message:
This tries to be more careful about parsing terms.
In general if you see an unparsed term in MetaPRL, it has to be
due to the use of one of two functions being used in Filter_parse:
raw_term_of_parsed_term, or quote_term_of_parsed_term. These are the
only two functions that bypass term parsing.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-04 20:22:14 -0800 (Fri, 04 Feb 2005)
Revision: 6599
Log message:
Starting display form typing. Removed the create_term_parser function in
favor of a rewrite_of_parsed_rewrite function. There is limited demand
for user-defined parsers. We can resurrect if necessary, but I doubt we'll
need to.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-04 21:39:34 -0800 (Fri, 04 Feb 2005)
Revision: 6600
Log message:
Added comments with the exact shell command lines needed to generate the code
for the Refiner_debug submodules.
Changes | Path |
+57 -12 | metaprl-branches/opname_classes4/refiner/refiner/refiner_debug.ml |
+1 -0 | metaprl-branches/opname_classes4/util/gen_refiner_debug.pl |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-05 02:32:33 -0800 (Sat, 05 Feb 2005)
Revision: 6601
Log message:
added and proved some useful rules.
Alexei, can you take a look at "all_list_elim"? It seems that we have to add sth about the wellformedness of 'P.
Changes | Path |
+46 -13 | metaprl/theories/itt/itt_list2.ml |
+4596 -3141 | metaprl/theories/itt/itt_list2.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-05 09:43:23 -0800 (Sat, 05 Feb 2005)
Revision: 6602
Log message:
Added a bunch of comments
Changes | Path |
+65 -2 | metaprl-branches/opname_classes4/refiner/refiner/refiner_debug.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-05 17:14:46 -0800 (Sat, 05 Feb 2005)
Revision: 6603
Log message:
Added display-form type checking. This was a little painful because
some theories were using xlist as a normal list. In the end, I changed
the declarations to the following.
declare xcons{'a : Dform; 'b : Dform} : Dform
declare xnil : Dform
Base_reflection has its own list, using rcons and rnil.
You need to use the functions mk_rlist_term, is_rlist_term, etc.,
instead of mk_xlist_term, is_xlist_term.
The .prla updates are just for the opname renaming.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-05 17:24:35 -0800 (Sat, 05 Feb 2005)
Revision: 6604
Log message:
Added typechecking on productions.
Changes | Path |
+8 -6 | metaprl-branches/opname_classes4/filter/filter/filter_parse.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-05 18:59:00 -0800 (Sat, 05 Feb 2005)
Revision: 6605
Log message:
squiddle -> squiggle
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-05 19:55:00 -0800 (Sat, 05 Feb 2005)
Revision: 6606
Log message:
Disallow type constraints rules and rewrites. For type inference,
type rewrites become equalities.
declare rewrite TyElem{TyExp} <--> Exp
This means, in addition to the rewrite, that TyElem{TyExp} = Exp.
So, if we are unifying t1 and t2, it is legal to unify t1 with TyElem{TyExp},
and Exp with t2.
> Known issues:
> - The .mli opname declarations are added to the .cmoz in the reverse order.
> This, among other things causes Failure ("unknown typeclass:
> Mmc_base_judgment!Prop") exception on cd'ing into the /mmc_base_judgment
> module.
> - The .mli opname declarations are added to the .cmoz even when .cmoz has its
> own copy. That results in the "ls" output (and other things, such as .cmoz
> and .prla files) being unnecessarily cluttered.
These are fixed. Only the declarations that don't exist in the .ml are copied.
> - If the same shape is declared several times (possibly with incompatible
> types), does anybody notice?
This is now checked in Filter_cache_fun.
> Potential TODOs and RFEs:
> - Proper type checking for display forms.
Implemented.
> - Could we may be come up with a way to propagate certain declarations from
> .ml into .cmiz (instead of the other way around)? Some declarations needs
> to stay in the .ml in order to get properly documented.
What about copying the documentation from the .mli (preserving the order)?
> - "declare sequent" shortcuts:
> - when the type is { Term : Term >- Term } : Term, allow omitting it
> - when the type is { Term : Term >- Term } : Foo, allow typing just ": Foo"
Implemented.
> - Perv!nil/Perv!cons should have the Dform type.
> - When the sequent conclusion is omitted, a we should use something other
> than Perv!nil for the conclusion. This new "default conclusion" term
> should be a member of a singleton type (in the Term typeclass), and MMC
> should be using that in the type of Mmc_core_ast!ty_args
> - Base_reflection should use its own cons and nil for bterm lists.
Implemented.
> - The new stuff (both the new syntax and the typechecking algorithm) need to
> be documented.
I need to do this.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-06 15:21:43 -0800 (Sun, 06 Feb 2005)
Revision: 6607
Log message:
Typechecking is now stricter.
-- For rules and rewrites, the goal types are existentially quantified.
-- Rewrites are type-invariant. For example, the following will fail.
declare typeclass A
declare typeclass B -> A
declare foo : A
declare bar : B
prim_rw bad : foo <--> bar
This is rejected because the (bar --> foo) rewrite is bogus.
At this point, the type system is basically sound, apart from
rule and rewrite arguments, and assuming the implementation is
correct. Let's merge.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 16:25:59 -0800 (Sun, 06 Feb 2005)
Revision: 6608
Log message:
Removed a bit of unused code
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 17:09:02 -0800 (Sun, 06 Feb 2005)
Revision: 6609
Log message:
Term_shape_gen.term_shape type does not need to be concrete
Changes | Path |
+0 -7 | metaprl-branches/opname_classes4/refiner/reflib/term_match_table.ml |
+1 -5 | metaprl-branches/opname_classes4/refiner/term_gen/term_shape_gen.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 18:52:20 -0800 (Sun, 06 Feb 2005)
Revision: 6610
Log message:
Perv!dummy_arg is now Comment!dummy_arg and has a display form.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-06 19:33:24 -0800 (Sun, 06 Feb 2005)
Revision: 6611
Log message:
1. Some work on mmc.
2. Fixed the problem with parsed term in comments.
> 1) The problem with <:doc< ... << ... >> ... >>
>
> still exists.
The terms in comments are now parsed.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 20:45:56 -0800 (Sun, 06 Feb 2005)
Revision: 6612
Log message:
- I've added a "docon" term that is the opposite of the "docoff". One can now
write simply
doc docon
instead of having to do something like
doc <:doc< @doc{ } >>
- I've added "doc docoff"/"doc docon" in a few places in ITT to exclude ML
code from the theories.pdf file (I did this some of the theories that needed
it, but most likely not in all of them).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-06 20:48:48 -0800 (Sun, 06 Feb 2005)
Revision: 6613
Log message:
OCaml code uses ocons/onil, not xcons/xnil.
This fixes the ocaml display I believe.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 21:10:51 -0800 (Sun, 06 Feb 2005)
Revision: 6614
Log message:
Annotated a lot of the "dforms helper" operators (including all in itt_comment
and czf_itt_comment) with the "Dform" type.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 22:25:16 -0800 (Sun, 06 Feb 2005)
Revision: 6615
Log message:
display_col can now be typed properly
Changes | Path |
+1 -2 | metaprl-branches/opname_classes4/theories/itt/itt_collection.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 22:44:47 -0800 (Sun, 06 Feb 2005)
Revision: 6616
Log message:
Annotated a few more dform "helper" opname with the ": Dform" type annotation.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 23:02:20 -0800 (Sun, 06 Feb 2005)
Revision: 6617
Log message:
My previos changes would not actually compile, fixing.
(Omake told me that they've compiled, but it was a lie! See bug 403).
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 23:10:31 -0800 (Sun, 06 Feb 2005)
Revision: 6618
Log message:
df_rev_concat needs to know about ocons/onil as well.
Changes | Path |
+6 -0 | metaprl-branches/opname_classes4/support/display/ocaml_expr_df.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 23:15:53 -0800 (Sun, 06 Feb 2005)
Revision: 6619
Log message:
Trivial comment change
Changes | Path |
+2 -2 | metaprl-branches/opname_classes4/filter/base/filter_summary.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-06 23:57:02 -0800 (Sun, 06 Feb 2005)
Revision: 6620
Log message:
Added support for non-sequent contexts to Term_man_ds.context_vars_info
However I am still getting a type error from Itt_test.context_rw:
Itt_rfun!let
{'e1;
v. context[C:v]{C. 'e2['v]; Perv!xcons{'C; Perv!xnil}}}
- has type
- Perv!Term
- but is used with type
- Perv!type[C1093:v]
- unify_normal_term_types2
- term type
- Perv!Term - is not compatible with - Perv!type[C1093:v]
The error is sort of correct - this rewrite is only type-safe when applied to
something of type Term, while it could potentially be applied to something
else. Jason, what do you think would be the right thing to do here? Should we
indeed consider this illegal?
Changes | Path |
+4 -0 | metaprl-branches/opname_classes4/refiner/term_ds/term_man_ds.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 00:25:47 -0800 (Mon, 07 Feb 2005)
Revision: 6621
Log message:
Display form fixes.
Changes | Path |
+7 -31 | metaprl-branches/opname_classes4/theories/itt/itt_comment.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 01:38:16 -0800 (Mon, 07 Feb 2005)
Revision: 6622
Log message:
Added display forms for the labels declared in Itt_labels.
A better way would be to add an opname shortener to the Dforms module,
this commit is just a workaround.
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-07 02:34:55 -0800 (Mon, 07 Feb 2005)
Revision: 6623
Log message:
Proved most of the rules in itt_synt_bterm.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 04:25:55 -0800 (Mon, 07 Feb 2005)
Revision: 6624
Log message:
***************************************************************************
**** !!!!! WARNING !!!!! ****
***************************************************************************
!!!!! This commit breaks binary compatibility !!!!!
!!!!! Export all your uncommitted proofs before updating !!!!!
!!!!! !!!!!
!!!!! If you export to a .prla that did not exist before, you will !!!!!
!!!!! to edit it manually after you update - find the line that !!!!!
!!!!! starts with "NPerv!cons" replace the last (third) occurrence !!!!!
!!!!! of "cons" with "xcons", then replace last (third) occurrence !!!!!
!!!!! nil" with "xnil" on the "Perv!nil" line. !!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Merging the opname_classes branch!
This commit inroduces types to MetaPRL syntax with an informal (but pretty
precise) typechecking. Hopefully Jason will write some documentation
describing how to use this.
This fixes bug 370 and bug 371.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 15:02:12 -0800 (Mon, 07 Feb 2005)
Revision: 6625
Log message:
Added a "gc_compact" topval function that can be used to call Gc.compact and
get more accurate memory usage stats.
Changes | Path |
+1 -0 | metaprl/support/shell/shell_command.ml |
+1 -0 | metaprl/support/shell/shell_command.mli |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-07 15:27:02 -0800 (Mon, 07 Feb 2005)
Revision: 6626
Log message:
Proved more rules.
Changes | Path |
+16 -0 | metaprl/theories/itt/itt_synt_bterm.ml |
+1413 -1164 | metaprl/theories/itt/itt_synt_bterm.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 20:52:21 -0800 (Mon, 07 Feb 2005)
Revision: 6627
Log message:
- Package_info was putting packages into a complicated dag structure, but the
dag was never actually used. I removed the dag structure.
- Minor update for display forms for the root path ("/") listing.
Changes | Path |
+8 -68 | metaprl/support/shell/package_info.ml |
+0 -3 | metaprl/support/shell/package_info.mli |
+2 -2 | metaprl/support/shell/shell_root.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-07 22:33:46 -0800 (Mon, 07 Feb 2005)
Revision: 6628
Log message:
PackReadOnly flag was never used (we were testing for it, but never setting
it), removing.
Changes | Path |
+22 -28 | metaprl/support/shell/package_info.ml |
+0 -1 | metaprl/support/shell/shell_sig.mlz |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-08 00:04:25 -0800 (Tue, 08 Feb 2005)
Revision: 6629
Log message:
I overlooked free type variables in the environment during existential
quantification in rules and rewrites. This fixes it. However, note
that rewrites like the following don't typecheck.
prim_rw add_sub_one :
('a in int) -->
'a <--> (('a +@ 1) -@ 1)
The rewrite is quite sensible in Itt, but problematic because it
applies to any term in the system (including display forms
for example). The quick solution is to add the constraint.
prim_rw add_sub_one ('a :> Term) :
('a in int) -->
'a <--> (('a +@ 1) -@ 1)
This is a bit suboptimal, but rewrites like this are very rare,
and the extra alpha-equality adds only O(1) overhead.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-08 10:24:05 -0800 (Tue, 08 Feb 2005)
Revision: 6630
Log message:
- Changed the default_extract error message to a more verbose one.
- Dropped the ":normal" suffix from filter shape display in filter - I think
it's more readable if only the "special" shapes get these "kind" suffixes.
Changes | Path |
+1 -1 | metaprl/filter/base/filter_cache_fun.ml |
+5 -1 | metaprl/filter/filter/filter_parse.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-08 12:06:51 -0800 (Tue, 08 Feb 2005)
Revision: 6631
Log message:
Progress toward removing package info that is not needed.
This just changes the package base to include only loaded packages.
Packages are auto-loaded as normal, so you shouldn't see any
change in behavior.
For the next step, we want to be able to garbage collect unmodified
packages that are no longer in use.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-08 14:17:48 -0800 (Tue, 08 Feb 2005)
Revision: 6632
Log message:
Defined substitution
Changes | Path |
+22 -0 | metaprl/theories/itt/itt_synt_bterm.ml |
+16 -0 | metaprl/theories/itt/itt_synt_var.ml |
+2 -0 | metaprl/theories/itt/itt_synt_var.mli |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-08 15:32:13 -0800 (Tue, 08 Feb 2005)
Revision: 6633
Log message:
a little more proofs.
Changes | Path |
+2 -2 | metaprl/theories/itt/OMakefile |
+9 -8 | metaprl/theories/itt/itt_synt_bterm.ml |
+1621 -1498 | metaprl/theories/itt/itt_synt_bterm.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-08 15:55:25 -0800 (Tue, 08 Feb 2005)
Revision: 6634
Log message:
New list rules
Changes | Path |
+36 -24 | metaprl/theories/itt/itt_list2.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-08 17:33:21 -0800 (Tue, 08 Feb 2005)
Revision: 6635
Log message:
Working on properties of the substitution
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-08 17:44:11 -0800 (Tue, 08 Feb 2005)
Revision: 6636
Log message:
Adding couple of missing declarations.
Changes | Path |
+2 -0 | metaprl/theories/itt/itt_synt_bterm.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-08 17:58:52 -0800 (Tue, 08 Feb 2005)
Revision: 6637
Log message:
Improve the space used by MetaPRL.
The "abandon ()" command abandons the current theory.
CAUTION: use this only if you want to lose your unsaved
work. You will not be prompted.
The "abandon_all ()" command tries to get MetaPRL back to
startup state. It abandons all theories, all caches, all
file information, and the proof cache.
Package_info is now saved in a Weak array. This means that
the package info for unmodified theories can be garbage collected.
To check status without saving, use
status_and_abandon_all ().
This will delete all your unsaved work.
We still have some memory leaks. After a status_and_abandon_all,
we have roughly 160MB live data. MetaPRL starts with 20MB.
I've covered these:
1. The file base: file_base.ml
2. The proof cache: proof_boot.ml
3. The filter: filter_cache_fun.ml
4. The package_info: package_info.ml
5. Some of the resource data: mp_resource.ml
It looks like some other place is caching data...
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-08 20:57:14 -0800 (Tue, 08 Feb 2005)
Revision: 6638
Log message:
Collected the resource state into a record. Aleksey, can some of the
resource state can be pruned? I imagine the global_processed_data is
particularly large, and can be reconstructed if needed.
# abandon_all ();;
Mp_resource:
global_data = 330
local_data = 0
local_names = 0
top_data = 329
theory_include = 330
global_bookmarker = 3141
global_processed_data = 6265
() : unit
-------------------
A bit better info on type variables. Here is the error on
sequent { <H> >- 'C } --> sequent { <H> >- 'A }
type error:
- sequent [Syntax_test!sequent_arg] { <'H> >- 'C<|!|> }
- while typechecking
- 'C<|!|>
- context variable <H>
- has type
- Perv!ty_sequent_context_var
{Perv!ty_sequent_context_cvars{Perv!xnil};
Perv!ty_sequent_context_args{Perv!xnil};
Perv!ty_hyp{Perv!Term; Perv!Term}}
- but is used with type
- Perv!type[arg1022:v]
I've always been a bit confused about the notation 'C<|!|>. The
actual term here is 'C<|H|>, which might help clarify the error
message a bit.
Are these terms like 'x<|!|> the same as !x?
Why does 'C<|!|> print that way when it is actually 'C<|H|>?
Certainly we can do better, but I'd like to know why this doesn't
print as expected (Simple_print).
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-08 23:21:36 -0800 (Tue, 08 Feb 2005)
Revision: 6639
Log message:
Added length function to TableSig
Changes | Path |
+12 -2 | metaprl/mllib/debug_tables.ml |
+1 -0 | metaprl/refiner/reflib/term_eq_table.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-08 23:42:09 -0800 (Tue, 08 Feb 2005)
Revision: 6640
Log message:
Removed dark shadows - they can only be used to disprove things.
Added some heuristics from Pugh's paper, still more to add.
Two alternative implementations of linear forms (splay trees and arrays),
currently they are run simultaneously for debugging.
(I hope everything is ok - it's too late to do check-status)
Changes | Path |
+568 -36 | metaprl/theories/itt/itt_omega.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-09 00:07:22 -0800 (Wed, 09 Feb 2005)
Revision: 6641
Log message:
proved some rules.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-09 09:35:49 -0800 (Wed, 09 Feb 2005)
Revision: 6642
Log message:
- The status_and_abandon_all will now call Package_info.abandon instead of
abandon_all after every package (abandon_all is too verbose, spends time
iterating over all packages, clears resources, which are all undesired here)
- Implemented Mp_resource.clear. Note - this destructs _all_ the cache, which
will make resource processing slower in theories you have not visited yet
(provided they have common ancestors with the theories you did visit).
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-09 10:29:39 -0800 (Wed, 09 Feb 2005)
Revision: 6643
Log message:
Mp_resource.clean was too aggressive (keeping the data from implrove_resource,
but forgetting the data from create_resource) - fixed.
Changes | Path |
+11 -4 | metaprl/refiner/reflib/mp_resource.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-09 13:01:11 -0800 (Wed, 09 Feb 2005)
Revision: 6644
Log message:
- Call Proof_boot.Proof.clear_cache between modules when doing
status_and_abandon_all
- Rearranged the code a bit.
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-09 15:41:40 -0800 (Wed, 09 Feb 2005)
Revision: 6645
Log message:
finished a proof due to Yegor's omegaT improvement.
Changes | Path |
+1 -0 | metaprl/theories/itt/itt_synt_var.ml |
+534 -515 | metaprl/theories/itt/itt_synt_var.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-09 20:15:22 -0800 (Wed, 09 Feb 2005)
Revision: 6646
Log message:
Fixed Package_info.abandon so that the proofs are deleted as well.
This just required deleting the str_summary from the
Filter_cache_fun.
status_and_abandon_all () still requires an obscenely large
amount of memory, about 350MB. It would be better if the
heap requirements were proportional to the expanded size
of the largest theory...
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-09 21:50:12 -0800 (Wed, 09 Feb 2005)
Revision: 6647
Log message:
Removed debugging code.
Changes | Path |
+40 -22 | metaprl/theories/itt/itt_omega.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-10 00:01:57 -0800 (Thu, 10 Feb 2005)
Revision: 6648
Log message:
Some proofs in Itt_list2
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-10 11:39:05 -0800 (Thu, 10 Feb 2005)
Revision: 6649
Log message:
The type checker should not just assume that every variable is sensible;
it should care about free meta-variables. Updated the RewriteFreeSOVar
error message a bit.
Changes | Path |
+1 -1 | metaprl/refiner/reflib/refine_exn.ml |
+16 -17 | metaprl/refiner/reflib/term_ty_infer.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-10 12:46:52 -0800 (Thu, 10 Feb 2005)
Revision: 6650
Log message:
Rewriter was using <> instead of Lm_num.eq_num for comparing numbers, which
lead to problems in /itt/itt_int_bench/test1 (where it ended up rejecting a
rewrite that expected "Int 0", but got "BigInt 0"). Fixed.
Yegor, /itt/itt_int_bench/test1 is _very_ slow - can something be done about
it?
Changes | Path |
+1 -9 | metaprl/refiner/rewrite/rewrite_debug.ml |
+1 -1 | metaprl/refiner/rewrite/rewrite_match_redex.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-10 18:10:45 -0800 (Thu, 10 Feb 2005)
Revision: 6651
Log message:
Fixed substitution. We don't need subst_var anymore.
Changes | Path |
+1 -0 | metaprl/theories/itt/itt_fun2.ml |
+1 -0 | metaprl/theories/itt/itt_fun2.mli |
+23 -2 | metaprl/theories/itt/itt_synt_subst.ml |
+0 -15 | metaprl/theories/itt/itt_synt_var.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-10 23:01:45 -0800 (Thu, 10 Feb 2005)
Revision: 6652
Log message:
Omega became smarter, in some cases it significantly dropped
omega's running time.
(itt_int_bench/test1 from 80secs to 2secs)
Changes | Path |
+46 -152 | metaprl/theories/itt/itt_omega.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-10 23:24:14 -0800 (Thu, 10 Feb 2005)
Revision: 6653
Log message:
Some proofs for substituion.
Some display forms
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-11 00:02:22 -0800 (Fri, 11 Feb 2005)
Revision: 6654
Log message:
some more theorems
Changes | Path |
+5 -0 | metaprl/theories/itt/itt_synt_operator.ml |
+3 -0 | metaprl/theories/itt/itt_synt_operator.mli |
+29 -2 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-11 13:14:06 -0800 (Fri, 11 Feb 2005)
Revision: 6655
Log message:
Added a definition of bind for bterms, but I'm not sure about it
Changes | Path |
+24 -2 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-11 17:02:40 -0800 (Fri, 11 Feb 2005)
Revision: 6657
Log message:
more proofs
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-11 17:09:40 -0800 (Fri, 11 Feb 2005)
Revision: 6658
Log message:
extend itt_list
Changes | Path |
+1 -0 | metaprl/theories/itt/itt_synt_operator.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-11 17:16:40 -0800 (Fri, 11 Feb 2005)
Revision: 6659
Log message:
Renamed a couple of rules.
Changed definition of bind. But I still don't like it.
Changes | Path |
+5 -7 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-11 17:43:50 -0800 (Fri, 11 Feb 2005)
Revision: 6660
Log message:
We had a nasty problem in Itt_synt_operator where list{...} in an _axiom_
ended up being interpreted as Ocaml!list{...} instead of Itt_list!list{...}!
To avoid such issues in the future, I've changed the types of all the Ocaml
terms to be Ocaml (instead of Term). Ocaml is declared as a subtype of Dform,
but not a subtype of Term. This, BTW, also made the types of the
Ocaml_base_sos operators a bit more descriptive.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-11 19:44:21 -0800 (Fri, 11 Feb 2005)
Revision: 6661
Log message:
Actually, only two files needed fixing with the new Ocaml typeclass.
I changed the name to OCaml... It is just that OCaml is more like the
real name, and is easier to type in.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-11 21:14:11 -0800 (Fri, 11 Feb 2005)
Revision: 6662
Log message:
Migrated the Refine.check_* tests so they are performed before
type checking.
I don't know how the errors in itt_reflection_example_lambda.ml escaped us...
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-11 22:38:23 -0800 (Fri, 11 Feb 2005)
Revision: 6663
Log message:
I've implemented one of heurisitcs for Omega test
(next variable to eliminate is the one with lowest coeffcients)
but it actually increased running time for itt_int_bench threefold.
I commit it disabled.
Changes | Path |
+117 -53 | metaprl/theories/itt/itt_omega.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-12 16:33:02 -0800 (Sat, 12 Feb 2005)
Revision: 6664
Log message:
Updated the term hashing in Filter_cache_fun. This propagates
changes more accurately when declarations change.
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-12 20:40:05 -0800 (Sat, 12 Feb 2005)
Revision: 6665
Log message:
Variables that have only lower or only upper bounds can be removed
with all constraints that contain them.
Constraints are stored in a hashtable now (instead of list).
This allows to eliminate redundant constraints.
At this moment itt_int_bench/test6 takes 100secs to prove,
at least 90% of which is "ttca".
Changes | Path |
+131 -58 | metaprl/theories/itt/itt_omega.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-12 23:27:32 -0800 (Sat, 12 Feb 2005)
Revision: 6666
Log message:
Changed places where terms (polynoms) have to be normalized.
Merged/specialized a couple of rules
This resulted in reduction of time spent in expand() for itt_int_bench/test6
(from 100 to 50 seconds)
But on the other hand, time to expand simpler problems (itt_int_test)
gradually doubled with last days changes in Omega
Changes | Path |
+26 -9 | metaprl/theories/itt/itt_omega.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-13 01:18:40 -0800 (Sun, 13 Feb 2005)
Revision: 6667
Log message:
proved theorems in itt_synt_subst
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-13 11:48:21 -0800 (Sun, 13 Feb 2005)
Revision: 6668
Log message:
Corrected the subtyping rule for hyp contexts.
Changes | Path |
+248 -116 | metaprl/refiner/reflib/term_ty_infer.ml |
+1 -1 | mpcompiler/mmc/core/mmc_core_closure.ml |
+1 -1 | mpcompiler/mmc/core/mmc_core_tast.ml |
+2 -2 | mpcompiler/mmc/core/mmc_core_tast.mli |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-13 14:18:44 -0800 (Sun, 13 Feb 2005)
Revision: 6669
Log message:
Certain conditions (like <>) doubles number of problems omega
has to be applied to. We want to normalize polynoms before
these problems multiply but we don't know which constraints
will actually be useful.
That's why omega is launched twice per constraint set now:
first time to establish which hypotheses are actually used
second time (after all constraints are converted to >=) to construct
proofs.
time in itt_int_bench/test6 dropped to 2 seconds
total time in itt_int_bench dropped to 20 seconds
itt_int_test is only 3 seconds (vs 2 seconds using arithT).
Changes | Path |
+13 -5 | metaprl/theories/itt/itt_int_arith.ml |
+142 -4 | metaprl/theories/itt/itt_omega.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-13 15:21:17 -0800 (Sun, 13 Feb 2005)
Revision: 6670
Log message:
Warning "branching is not supported yet" should be printed
in debug mode only.
Changes | Path |
+4 -2 | metaprl/theories/itt/itt_int_arith.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-14 19:03:17 -0800 (Mon, 14 Feb 2005)
Revision: 6671
Log message:
Add the rule subst_commute
Changes | Path |
+42 -1 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-15 00:06:44 -0800 (Tue, 15 Feb 2005)
Revision: 6673
Log message:
Fixed a rewriter bug. Made hypSubstT and revHypSubstT a bit smarter at
avoiding usage of variables outside of their scope.
Changes | Path |
+7 -7 | metaprl/refiner/rewrite/rewrite_compile_redex.ml |
+9 -3 | metaprl/theories/itt/itt_struct2.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-15 01:43:24 -0800 (Tue, 15 Feb 2005)
Revision: 6674
Log message:
Minor code cleanup. Minor optimizations.
Changes | Path |
+41 -62 | metaprl/refiner/rewrite/rewrite_build_contractum.ml |
+16 -6 | metaprl/refiner/term_ds/term_man_ds.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-15 02:38:30 -0800 (Tue, 15 Feb 2005)
Revision: 6675
Log message:
Added some rewrites in itt_synt_subst; on the way to prove "subst_commute".
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-15 15:49:56 -0800 (Tue, 15 Feb 2005)
Revision: 6676
Log message:
Proved that T Type --> T Type Type
Changes | Path |
+3 -0 | metaprl/theories/itt/itt_equal.ml |
+4643 -6491 | metaprl/theories/itt/itt_equal.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-15 15:58:23 -0800 (Tue, 15 Feb 2005)
Revision: 6677
Log message:
partial proof for all_list_wf
Changes | Path |
+5611 -4038 | metaprl/theories/itt/itt_list2.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-15 16:56:57 -0800 (Tue, 15 Feb 2005)
Revision: 6678
Log message:
Proved a new induction principle for lists (tail_induction) and proved all_list_wf using it
Changes | Path |
+8 -0 | metaprl/theories/itt/itt_list2.ml |
+17366 -18455 | metaprl/theories/itt/itt_list2.prla |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-15 18:34:01 -0800 (Tue, 15 Feb 2005)
Revision: 6679
Log message:
Forgot positivity condition in one rule.
Changes | Path |
+5 -3 | metaprl/theories/itt/itt_omega.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-15 18:56:42 -0800 (Tue, 15 Feb 2005)
Revision: 6680
Log message:
- BUGS 3.14 was fixed some time ago.
- As it was stated in that file, once it is fixed, the outer higherC in
applyAllC is unnecessary - removed it.
Changes | Path |
+1 -12 | metaprl/BUGS |
+1 -1 | metaprl/tactics/proof/conversionals_boot.ml |
+0 -0 | metaprl/theories/itt/itt_pairwise2.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-15 19:49:24 -0800 (Tue, 15 Feb 2005)
Revision: 6681
Log message:
Fixed gcd and beq_rat definitions
Changes | Path |
+16 -16 | metaprl/theories/itt/itt_rat.ml |
+1 -0 | metaprl/theories/itt/itt_rat.mli |
+9815 -8000 | metaprl/theories/itt/itt_rat.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-15 20:01:46 -0800 (Tue, 15 Feb 2005)
Revision: 6682
Log message:
The rules for dependent function, dependent product, and quantifiers needed to
be better at preserving the name of the bound variable.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-15 20:38:31 -0800 (Tue, 15 Feb 2005)
Revision: 6683
Log message:
Proved rules in itt_pairwise2
Changes | Path |
+2 -9 | metaprl/theories/itt/itt_pairwise2.ml |
Added | metaprl/theories/itt/itt_pairwise2.prla |
Properties | metaprl/theories/itt/itt_pairwise2.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-15 23:53:39 -0800 (Tue, 15 Feb 2005)
Revision: 6684
Log message:
still on they way to prove "subst_commute"
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 00:30:03 -0800 (Wed, 16 Feb 2005)
Revision: 6685
Log message:
Fixed the do-check-all script.
Changes | Path |
+12 -5 | metaprl/support/shell/shell_command.ml |
+2 -2 | metaprl/support/shell/shell_core.ml |
+2 -2 | metaprl/util/do-check-all.sh |
+2 -2 | metaprl/util/status-all.sh |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 01:02:57 -0800 (Wed, 16 Feb 2005)
Revision: 6686
Log message:
Exception printer was raising an exception, fixed.
Changes | Path |
+4 -2 | metaprl/editor/ml/shell_mp.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 01:18:29 -0800 (Wed, 16 Feb 2005)
Revision: 6687
Log message:
Proved a few rules.
Changes | Path |
+3 -3 | metaprl/theories/itt/itt_int_ext.ml |
+7942 -7599 | metaprl/theories/itt/itt_int_ext.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 01:33:45 -0800 (Wed, 16 Feb 2005)
Revision: 6688
Log message:
Proved /itt_subtype/subtypeReflexivity
Changes | Path |
+4054 -3613 | metaprl/theories/itt/itt_subtype.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 01:46:55 -0800 (Wed, 16 Feb 2005)
Revision: 6689
Log message:
Finished couple of proofs
Changes | Path |
+17873 -18911 | metaprl/theories/itt/itt_int_arith.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-16 02:11:01 -0800 (Wed, 16 Feb 2005)
Revision: 6690
Log message:
The proofs in itt_list2 messed up due to the replacement of list{top} with list. Cleaned up and proved a few rules.
Changes | Path |
+41 -35 | metaprl/theories/itt/itt_list2.ml |
+4472 -5287 | metaprl/theories/itt/itt_list2.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 02:23:37 -0800 (Wed, 16 Feb 2005)
Revision: 6691
Log message:
Finished a few simple proofs
Changes | Path |
+3 -3 | metaprl/theories/itt/itt_rat.ml |
+3732 -3697 | metaprl/theories/itt/itt_rat.prla |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-16 10:47:45 -0800 (Wed, 16 Feb 2005)
Revision: 6692
Log message:
Replaced List.map with List.rev_map (it was causing stack overflow)
Changes | Path |
+3 -3 | metaprl/theories/itt/itt_omega.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-16 15:07:27 -0800 (Wed, 16 Feb 2005)
Revision: 6694
Log message:
Changed definition of not_fre
Add a comment
Changes | Path |
+5 -0 | metaprl/theories/itt/itt_list2.ml |
+28 -5 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-16 15:34:55 -0800 (Wed, 16 Feb 2005)
Revision: 6695
Log message:
Changed list{top} back to list upon Aleksey's request.
Changes | Path |
+59 -59 | metaprl/theories/itt/itt_list2.ml |
+3060 -2928 | metaprl/theories/itt/itt_list2.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-16 18:03:53 -0800 (Wed, 16 Feb 2005)
Revision: 6697
Log message:
strengthened the subst rules
Changes | Path |
+4 -0 | metaprl/theories/itt/itt_synt_bterm.ml |
+15 -20 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-16 18:07:38 -0800 (Wed, 16 Feb 2005)
Revision: 6698
Log message:
added Vars_of in mli
Changes | Path |
+1 -0 | metaprl/theories/itt/itt_synt_bterm.mli |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-16 19:25:08 -0800 (Wed, 16 Feb 2005)
Revision: 6699
Log message:
Small fixes of last Xin's commits
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_synt_bterm.ml |
+1 -2 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-16 19:38:17 -0800 (Wed, 16 Feb 2005)
Revision: 6700
Log message:
Make Itt_list2!list an I/O abstraction for list{top}. Note - because of bug
405, I/O abstractions can not be used on the command line yet.
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_list2.ml |
+6 -0 | metaprl/theories/itt/itt_list2.mli |
+2928 -3060 | metaprl/theories/itt/itt_list2.prla |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-16 19:44:03 -0800 (Wed, 16 Feb 2005)
Revision: 6701
Log message:
Some border cases fixes.
Changes | Path |
+14 -4 | metaprl/theories/itt/itt_omega.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-16 22:52:07 -0800 (Wed, 16 Feb 2005)
Revision: 6702
Log message:
Fixed the problem with iforms in command-line terms.
Shell_state was bypassing the iforms and type checking.
NOTE: this also adds type-checking to command line terms
at line 213 of term_grammar.ml.
Currently, I'm not sure why command-line terms need parse_term_with_vars,
as opposed to parse_term. See also bug #407.
Changes | Path |
+1 -0 | metaprl/filter/base/filter_type.ml |
+5 -0 | metaprl/filter/filter/term_grammar.ml |
+6 -6 | metaprl/support/shell/shell_state.ml |
+0 -0 | metaprl/theories/itt/itt_list2.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 00:35:09 -0800 (Thu, 17 Feb 2005)
Revision: 6703
Log message:
The rules left_id and right_id were too strong and needed extra conditions.
A few proofs broke; I fixed the ones in itt_synt_var, but a few in
itt_synt_subst are still broken.
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_list2.prla |
+14 -1 | metaprl/theories/itt/itt_synt_var.ml |
+640 -567 | metaprl/theories/itt/itt_synt_var.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 01:31:15 -0800 (Thu, 17 Feb 2005)
Revision: 6704
Log message:
Adding couple of typing conditions to couple of rewrites (this is a follow-up
to my previous itt_synt_var commit).
Changes | Path |
+4 -1 | metaprl/theories/itt/itt_synt_subst.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-17 03:05:59 -0800 (Thu, 17 Feb 2005)
Revision: 6707
Log message:
Trying to prove "subst_commute".
Note: haven't fixed the broken proofs due to the additon of some rewrite conditions in Aleksey's last commit.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 03:10:53 -0800 (Thu, 17 Feb 2005)
Revision: 6708
Log message:
'subst_commute" -> "subst_commutativity"
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_synt_subst.ml |
+1 -1 | metaprl/theories/itt/itt_synt_subst.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 05:12:07 -0800 (Thu, 17 Feb 2005)
Revision: 6709
Log message:
- Proved all the theorems in itt_synt_subst, except for the
subst_add_vars_upto
- Enabled the usage of the ge_intro resource in arithT (does not always work
right for some reason). Added ge_intro resource annotation for a "n in nat"
conslusion.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 06:00:05 -0800 (Thu, 17 Feb 2005)
Revision: 6710
Log message:
Proved a few rules as needed to make itt_nat fully grounded.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 06:53:23 -0800 (Thu, 17 Feb 2005)
Revision: 6711
Log message:
Proved a number of theorems in itt_list2. Had to add extra wf conditions in
two of them!
Changes | Path |
+181 -125 | metaprl/theories/itt/itt_int_arith.prla |
+19 -17 | metaprl/theories/itt/itt_list2.ml |
+1904 -1702 | metaprl/theories/itt/itt_list2.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-17 10:02:03 -0800 (Thu, 17 Feb 2005)
Revision: 6712
Log message:
Make sure the grammar is prepared before marshaling. This addresses
bug #408.
Changes | Path |
+6 -2 | metaprl/filter/base/filter_cache_fun.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-17 14:26:56 -0800 (Thu, 17 Feb 2005)
Revision: 6713
Log message:
Finally, all theorems are proved now.
Changes | Path |
+3 -10 | metaprl/theories/itt/itt_synt_subst.ml |
+928 -1078 | metaprl/theories/itt/itt_synt_subst.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-17 15:01:45 -0800 (Thu, 17 Feb 2005)
Revision: 6714
Log message:
Proved a few theorems. Still missing /itt_list2/all_list_elim - Alexei, can
you take a look at that one?
Changes | Path |
+17 -17 | metaprl/theories/itt/itt_list2.ml |
+948 -963 | metaprl/theories/itt/itt_list2.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-17 15:07:49 -0800 (Thu, 17 Feb 2005)
Revision: 6715
Log message:
Oops! Sorry, my last commit also reintroduced bug #405.
This was caused by calling prepare_to_marshal overly early.
Changes | Path |
+3 -2 | metaprl/filter/base/filter_cache_fun.ml |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-17 16:20:52 -0800 (Thu, 17 Feb 2005)
Revision: 6716
Log message:
rearranged the orders of some rules, and proved some rules.
Changes | Path |
+12 -12 | metaprl/theories/itt/itt_list2.ml |
+1921 -1327 | metaprl/theories/itt/itt_list2.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-17 17:49:03 -0800 (Thu, 17 Feb 2005)
Revision: 6717
Log message:
Proved all_list_elim
Changes | Path |
+14 -4 | metaprl/theories/itt/itt_list2.ml |
+1519 -1401 | metaprl/theories/itt/itt_list2.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-17 18:25:49 -0800 (Thu, 17 Feb 2005)
Revision: 6718
Log message:
Proved more theorems in Itt_list2. Now as far as I can tell proofs in Itt_synt* depend only on /itt_omega/var_elim2
Changes | Path |
+3 -0 | metaprl/theories/itt/itt_list2.ml |
+585 -542 | metaprl/theories/itt/itt_list2.prla |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-18 09:31:21 -0800 (Fri, 18 Feb 2005)
Revision: 6719
Log message:
All proofs needed for omegaT are ground now.
There is one weird thing though - only (!) one test in itt_int_bench
shows dependency on itt_ring2
omegaT does not depends on ring2
Itt_int_bench depends on supinf which depends on ring2 which
makes resources from there available but why only one test has dependency?
Changes | Path |
+6 -0 | metaprl/theories/itt/itt_int_arith.mli |
+798 -472 | metaprl/theories/itt/itt_int_arith.prla |
+49 -47 | metaprl/theories/itt/itt_omega.ml |
+2 -0 | metaprl/theories/itt/itt_omega.mli |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-18 09:49:23 -0800 (Fri, 18 Feb 2005)
Revision: 6720
Log message:
Forgot to commit prla-file itself
Changes | Path |
Added | metaprl/theories/itt/itt_omega.prla |
Properties | metaprl/theories/itt/itt_omega.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-18 13:57:51 -0800 (Fri, 18 Feb 2005)
Revision: 6721
Log message:
Now all proofs in itt_synt* are grounded
Changes | Path |
+2 -2 | metaprl/theories/itt/itt_list2.ml |
+3259 -3182 | metaprl/theories/itt/itt_list2.prla |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-18 15:17:18 -0800 (Fri, 18 Feb 2005)
Revision: 6722
Log message:
Add the reflection rules
Changes | Path |
+34 -18 | metaprl/theories/itt/itt_reflection_new.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-18 23:56:49 -0800 (Fri, 18 Feb 2005)
Revision: 6723
Log message:
Updated to match the paper
Changes | Path |
+2 -9 | metaprl/theories/itt/itt_reflection_new.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-19 22:11:21 -0800 (Sat, 19 Feb 2005)
Revision: 6724
Log message:
It's a reference implementation with core of Omega Test
used once (was twice) per constraint set.
"reference" because it's kind of slow (no gain in performance)
Changes | Path |
+205 -136 | metaprl/theories/itt/itt_omega.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-20 00:56:01 -0800 (Sun, 20 Feb 2005)
Revision: 6725
Log message:
More improvements for constraint that unfolds to
D1 \/ D2
if when solving D1-case D1 was not actually used we now skip D2
altogether.
It reduced total time on my "long" benchmark from 260 to 130 seconds.
Time on omega itself is approximately 70 seconds.
Changes | Path |
+55 -9 | metaprl/theories/itt/itt_omega.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-20 17:57:17 -0800 (Sun, 20 Feb 2005)
Revision: 6728
Log message:
Added fold_map and replace.
Because of the way lm_map_sig and
lm_table_util are crafted
I failed to define fold with polymorphic type of accumulator.
(map function is not polymorphic either)
Changes | Path |
+23 -0 | metaprl/mllib/debug_tables.ml |
+3 -0 | metaprl/refiner/reflib/term_eq_table.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-20 18:02:36 -0800 (Sun, 20 Feb 2005)
Revision: 6729
Log message:
Subtraction and addition of linear forms were inefficient.
130 seconds dropped to 100
(time in omega core dropped from 70 to 40)
One of the most difficult itt_int_bench2/test7 dropped from 42 to 20
with time in omega core dropped from 40 to 15.
There are still several non-tail recursive calls (List.map etc) that can be
eliminated because constraint sets are a _sets_
Changes | Path |
+61 -38 | metaprl/theories/itt/itt_omega.ml |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-20 23:42:53 -0800 (Sun, 20 Feb 2005)
Revision: 6730
Log message:
itt_int_bench3 time drop from 100 to 69 seconds.
omega core time dropped to 12 seconds, i.e. virtually same perfromance as
omega in coq.
Changes | Path |
+2 -2 | metaprl/theories/itt/itt_omega.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-21 09:14:48 -0800 (Mon, 21 Feb 2005)
Revision: 6731
Log message:
Added some documentation on declarations.
I'm not sure support/doc is the best place to put miscellaneous
documentation, but it seems as good as any.
Changes | Path |
+1 -1 | metaprl/OMakefile |
Properties | metaprl/support/doc |
Added | metaprl/support/doc/OMakefile |
Properties | metaprl/support/doc/OMakefile |
Added | metaprl/support/doc/doc_declare.ml |
Properties | metaprl/support/doc/doc_declare.ml |
Added | metaprl/support/doc/doc_declare.mli |
Properties | metaprl/support/doc/doc_declare.mli |
Added | metaprl/support/doc/misc.tex |
Properties | metaprl/support/doc/misc.tex |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-21 11:45:15 -0800 (Mon, 21 Feb 2005)
Revision: 6733
Log message:
Added some determinicity in the choice of next variable to eliminate
(variable with lowest sum of absolute coefficients in all constraints).
itt_int_bench3 dropped to 35 seconds (paper benchmark)
bit itt_int_bench/test6 is still above 100 seconds but it was about 4 seconds
in 1.19 revision
Changes | Path |
+27 -10 | metaprl/theories/itt/itt_omega.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-21 11:51:43 -0800 (Mon, 21 Feb 2005)
Revision: 6734
Log message:
Check token types too.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-21 17:15:07 -0800 (Mon, 21 Feb 2005)
Revision: 6737
Log message:
Add some documentation
Changes | Path |
+31 -7 | metaprl/theories/itt/itt_list2.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-21 17:29:47 -0800 (Mon, 21 Feb 2005)
Revision: 6738
Log message:
For some reason itt_bintree didn't complile. Fixed.
Changes | Path |
+1 -1 | metaprl/theories/itt/itt_bintree.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-21 18:03:12 -0800 (Mon, 21 Feb 2005)
Revision: 6740
Log message:
Added a <-- form for productions, which really makes more sense than
the --> form we are using.
Changes | Path |
+26 -0 | metaprl/filter/filter/filter_parse.ml |
+1 -0 | mpcompiler/mmc/arch/x86/mmc_x86_asm.ml |
+4 -0 | mpcompiler/mmc/arch/x86/mmc_x86_asm.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-21 19:31:29 -0800 (Mon, 21 Feb 2005)
Revision: 6741
Log message:
Different quotations should not be required to use the
same lexer. This commit adds the ability to define multiple
lexers (the grammars can still be shared).
Now, instead of
lex_token "[0-9]+" --> number[lexeme:n]
you have to specify the lexer
declare mmc : Lexer
...
lex_token mmc : "[0-9]+" --> number[lexeme:n]
CAUTION: this commit breaks binary compatibility. I'm sorry about
this hassle--the change doesn't really affect those of you who
don't use the input grammars. In any case, you should export any
unsaved work before updating from cvs.
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-21 19:42:10 -0800 (Mon, 21 Feb 2005)
Revision: 6742
Log message:
It now checks for pairs like F>3 & F<2, i.e. opposite with empty intersection.
So certain trivial things are detected much earlier.
The problem with my recent commits vs itt_int_bench/test6 is gone,
it's 2 seconds only again.
Total time on my paper benchmark is also reduced to 25 seconds (from 35).
Approximately, only 9 seconds are spent meaningfully, the rest is
spent in wf-subgoals.
Changes | Path |
+50 -25 | metaprl/theories/itt/itt_omega.ml |
+1 -0 | metaprl/theories/itt/itt_omega.mli |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-21 20:11:34 -0800 (Mon, 21 Feb 2005)
Revision: 6743
Log message:
Proofs for the paper benchmark.
Changes | Path |
Added | metaprl/theories/itt/itt_int_bench3.prla |
Properties | metaprl/theories/itt/itt_int_bench3.prla |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2005-02-21 20:13:40 -0800 (Mon, 21 Feb 2005)
Revision: 6744
Log message:
The paper benchmark is generated here
Changes | Path |
+2 -0 | metaprl/theories/itt/gen_int_bench.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-22 14:17:33 -0800 (Tue, 22 Feb 2005)
Revision: 6746
Log message:
Added two new iform terms:
1. xsovar[x:v]{'cvars; 'args} is iform translated to a so-var.
2. A hyp of the form
x: xhypcontext{'cvars; 'args}
gets translated to a hyp context.
In both cases, the 'cvars and 'args should be an xlist.
The x86 assembly grammar is nearly complete. Starting on the
tast grammar.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-22 19:05:37 -0800 (Tue, 22 Feb 2005)
Revision: 6750
Log message:
Added contexts, so you can write such things as:
<:tast< fun#std (x: ty, <H>) -> e >>
<:tast< fun#std <H> -> e >>
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-22 20:25:41 -0800 (Tue, 22 Feb 2005)
Revision: 6751
Log message:
Added support for nested quotations. Here is an example.
interactive foo :
sequent { <H> >- <:tast< let v : << TyInt >> = 1 in v >> in TyTop }
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-23 11:24:00 -0800 (Wed, 23 Feb 2005)
Revision: 6755
Log message:
Yay, my first codegen rule, codegen_hoist_fun. It is wrong,
but that's beside the point.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-23 12:58:38 -0800 (Wed, 23 Feb 2005)
Revision: 6756
Log message:
Progress for generating code for closures.
We need a better way to parse nested quotations.
Currently, quotations are matched by the lexer, which
can only match regular expressions. One option is to
hard-code quotation matching into the lexer, which is
esentially the way camlp4 does it.
Changes | Path |
+21 -9 | metaprl/filter/base/filter_grammar.ml |
+18 -16 | mpcompiler/mmc/arch/x86/mmc_x86_asm.mli |
+11 -2 | mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml |
+9 -4 | mpcompiler/mmc/core/mmc_core_tast.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-23 20:53:46 -0800 (Wed, 23 Feb 2005)
Revision: 6757
Log message:
Added nested lexing to handle nested matching pairs.
The syntax is:
lex_token <lexer> : <left> <right> [--> <token>]
So, a Caml-style nesting comment could be ignored as follows.
lex_token mmc : "[(][*]" "[*][)]"
Quotations are handled this way too.
(*
* arg1 is the start delimiter, arg2 is the end delimiter.
* the default quotation is "term".
*)
lex_token mmc : "<<" ">>" --> tok_quotation{xquotation[arg1:s, lexeme:s]}
The xquotations are expanded eagerly, at lex time. They are still
expanded as iforms, so you can always type them in directly if you want.
iform parse_as_term : foo[q:s] <--> xquotation["term", q:s]
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-24 16:15:11 -0800 (Thu, 24 Feb 2005)
Revision: 6758
Log message:
Added some display forms and documentation.
Renamed unfold_eq -> unfold_is_eq. Some proofs broke. Xin, could you fix them?
Changes | Path |
+42 -11 | metaprl/theories/itt/itt_synt_var.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-24 22:32:05 -0800 (Thu, 24 Feb 2005)
Revision: 6759
Log message:
- (Bug 409) Removed an obsolete test for duplicate bindings in redex pattern
sequents
- Added tacticC of type "(address -> tactic) -> conv" that creates a
conversion that would just apply the tactic with the given address.
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-25 14:52:46 -0800 (Fri, 25 Feb 2005)
Revision: 6760
Log message:
Started adapting Itt_reflection_example_lambda to new definition.
Meanwile, renamed arity -> shape, and defined arity as the length of the shape (as iform).
Fixed the proofs, broken by my last renaming unfold_eq -> unfold_is_eq.
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2005-02-25 17:42:46 -0800 (Fri, 25 Feb 2005)
Revision: 6761
Log message:
Some comments and proofs fixes in Itt_synt_var.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-25 17:46:17 -0800 (Fri, 25 Feb 2005)
Revision: 6762
Log message:
Added a display from for iform items; minor fix in display forms for primitive
rules.
Changes | Path |
+1 -0 | metaprl/refiner/rewrite/rewrite_build_contractum.ml |
+13 -4 | metaprl/support/display/summary.ml |
+1 -1 | metaprl/support/display/summary.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-26 10:14:15 -0800 (Sat, 26 Feb 2005)
Revision: 6763
Log message:
Changed args to be a vector instead of a list.
This is to match with tuples.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-27 19:36:10 -0800 (Sun, 27 Feb 2005)
Revision: 6771
Log message:
Added support for closure elimination for recursive functions.
Also, place all hoisted functions in a big "let rec".
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-28 15:31:49 -0800 (Mon, 28 Feb 2005)
Revision: 6778
Log message:
Removed the dash from the logo
Changes | Path |
Binary | metaprl/doc/htmlman/images/mp-logo.gif |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-28 16:54:58 -0800 (Mon, 28 Feb 2005)
Revision: 6779
Log message:
Added some tactics, changed difinitons in itt_reflection_example_lambda
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-28 17:58:04 -0800 (Mon, 28 Feb 2005)
Revision: 6780
Log message:
Minor code clean-up
Changes | Path |
+1 -1 | metaprl/filter/base/filter_magic.ml |
+6 -9 | metaprl/refiner/reflib/ascii_io.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-28 21:06:27 -0800 (Mon, 28 Feb 2005)
Revision: 6782
Log message:
Fixed an Ascii IO bug: a corner case when overwriting a manually changed .prla
was not handled correctly. Also changed the corresponding code so that any
similar bug we might hit in the future would exhibit itself in a more obvious
way.
Changes | Path |
+1 -1 | metaprl/filter/base/filter_magic.ml |
+26 -21 | metaprl/refiner/reflib/ascii_io.ml |
+6 -5 | metaprl/refiner/reflib/ascii_io.mli |
+22 -23 | metaprl/refiner/reflib/ascii_io_sig.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-02-28 21:10:06 -0800 (Mon, 28 Feb 2005)
Revision: 6783
Log message:
This is an interesting one - CVS stripping white space off at the end of the
line caused the magic value in filter_magic to change...
Changes | Path |
+1 -1 | metaprl/filter/base/filter_magic.ml |
Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2005-02-28 22:02:37 -0800 (Mon, 28 Feb 2005)
Revision: 6784
Log message:
Added some rewrites to reduce resource. Proved some theorems
Changes | Path |
+1666 -1105 | metaprl/theories/itt/itt_reflection_example_lambda.prla |
+6 -5 | metaprl/theories/itt/itt_reflection_new.ml |