Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-01 09:15:20 -0800 (Sun, 01 Jan 2006)
Revision: 8387
Log message:
Rephrased the Provable intro rules, using the SubLogic judgment
instead of a fixed logic.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-01 12:56:24 -0800 (Sun, 01 Jan 2006)
Revision: 8388
Log message:
Added initial Provability tactic.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-01 13:53:31 -0800 (Sun, 01 Jan 2006)
Revision: 8389
Log message:
Added Itt_list_set for new set-style theorems about lists.
Eventually we should move some theorems from Itt_list2 into
this file.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-02 11:27:09 -0800 (Mon, 02 Jan 2006)
Revision: 8390
Log message:
Added less ambiguous names for some of the refiner functions (for names
like "eq", "hyps", "concl", etc.).
Partial progress in Provable theorems, added a unification tactic.
This commit is mainly just in case we have a power failure here--
it is raining very hard.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-02 16:23:06 -0800 (Mon, 02 Jan 2006)
Revision: 8391
Log message:
Added vector binders to the BTerm normalizer.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-02 16:27:30 -0800 (Mon, 02 Jan 2006)
Revision: 8392
Log message:
Rename Meta_extensions_theory to Meta_context_theory.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-02 17:32:11 -0800 (Mon, 02 Jan 2006)
Revision: 8393
Log message:
Still working on well-formedness of reflected vector terms.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-03 13:05:49 -0800 (Tue, 03 Jan 2006)
Revision: 8394
Log message:
Added a simple forward-chaining tactic in support/tactics/forward.ml
It is a lot like dT elimination, but it checks that progress is being made.
Perhaps there is a more generic way to do it. The proof cache used to
do forward chaining, and I imagine JProver does too.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-04 08:30:00 -0800 (Wed, 04 Jan 2006)
Revision: 8396
Log message:
Changed the proof witness code in Itt_hoas_sequent_proof from
unification-based to naming-based.
Added more forward reasoning. We have most of the facts, but
we need a few more about mk_bterm, mainly that if a mk_bterm
is well-formed, so are its subterms. The theorems in
Itt_hoas_bterm_wf are currently unproved.
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-04 17:26:50 -0800 (Wed, 04 Jan 2006)
Revision: 8397
Log message:
Completed proofs in Itt_hoas_bterm_wf. However, I added a well-formedness
subgoal (subterms in List) to mk_bterm_wf_forward. Does it matter?
Changes | Path |
+12 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_bterm_wf.ml |
+1767 -1134 | metaprl/theories/itt/reflection/experimental/itt_hoas_bterm_wf.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-04 17:51:15 -0800 (Wed, 04 Jan 2006)
Revision: 8398
Log message:
Now really proved theorems in Itt_hoas_bterm_wf, with useless well-formedness subgoals removed.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-05 13:16:41 -0800 (Thu, 05 Jan 2006)
Revision: 8401
Log message:
Include the SVN revision number (when available) in the MetaPRL version string.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-05 17:18:52 -0800 (Thu, 05 Jan 2006)
Revision: 8406
Log message:
- Minor clean-up of the debugging code.
- Added a license header.
Changes | Path |
+36 -6 | metaprl/theories/itt/core/itt_omega.ml |
+26 -0 | metaprl/theories/itt/core/itt_omega.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-05 20:29:45 -0800 (Thu, 05 Jan 2006)
Revision: 8408
Log message:
Re-added the Itt_hoas_sequent.bterm2_is_bterm rule. However, this is
not recommended because this kind of rule can break normal dT reasoning.
Instead, I think these kind of rules are better accomplished with some
kind of forward chaining (even the autoT kind should work fine, but I
don't know how to enable it).
Replaced the tactic in Pmn_core_terms.intro_term_TyAll with a terminating
version. Currently, expand_all () takes about 10sec for me. Let me
know if it doesn't terminate for you.
Re-added pmn_core_terms.prla, so that you get the terminating tactics.
Will remove this again once we all the proofs work.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-05 22:36:35 -0800 (Thu, 05 Jan 2006)
Revision: 8409
Log message:
(Issue 560) Give a better error message when a theory does not exist.
Changes | Path |
+12 -4 | metaprl/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-05 22:42:29 -0800 (Thu, 05 Jan 2006)
Revision: 8410
Log message:
(Issue 561) The format of editor/ml/mldebug.dir is different on Windows.
Changes | Path |
+4 -1 | metaprl/editor/ml/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-06 08:43:04 -0800 (Fri, 06 Jan 2006)
Revision: 8411
Log message:
Updated the incomplete proofs.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 10:50:37 -0800 (Fri, 06 Jan 2006)
Revision: 8413
Log message:
Incrementing the version numbers for the ASCII and binary formats to account
for the new "const" modifier added in rev 8383.
Changes | Path |
+6 -3 | metaprl/filter/base/filter_magic.ml |
+2 -1 | metaprl/filter/base/filter_summary.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 14:14:27 -0800 (Fri, 06 Jan 2006)
Revision: 8415
Log message:
Spelling fixes
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 15:40:10 -0800 (Fri, 06 Jan 2006)
Revision: 8416
Log message:
Revision-based status checking.
Changes | Path |
Properties | metaprl/theories/meta |
+13 -7 | metaprl/util/check-status.sh |
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2006-01-06 17:55:10 -0800 (Fri, 06 Jan 2006)
Revision: 8417
Log message:
Fixed the problem noticed by Aleksey - one-only-constraint case was treated incorrectly
Changes | Path |
+22 -17 | metaprl/theories/itt/core/itt_omega.ml |
+4 -0 | metaprl/theories/itt/tests/itt_int_test.ml |
+2605 -2335 | metaprl/theories/itt/tests/itt_int_test.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 21:31:31 -0800 (Fri, 06 Jan 2006)
Revision: 8418
Log message:
- Itt_nat should extend Itt_omega
- Now that "meta" is a virtual theory (that is needed for "omake doc"), it
needs to be listed explicitly in THEORIES_ALL (in mk/defaults)
Changes | Path |
+1 -1 | metaprl/mk/defaults |
+7 -2 | metaprl/theories/itt/core/itt_nat.ml |
+1 -0 | metaprl/theories/itt/core/itt_nat.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 22:16:30 -0800 (Fri, 06 Jan 2006)
Revision: 8419
Log message:
- Updated arithT to generate fewer wf subgoals.
- Proved all the rules that were left unproven in Itt_int_arith.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-06 23:27:00 -0800 (Fri, 06 Jan 2006)
Revision: 8420
Log message:
Minor omegaT optimization.
Changes | Path |
+2 -1 | metaprl/theories/itt/core/itt_omega.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-07 00:07:35 -0800 (Sat, 07 Jan 2006)
Revision: 8421
Log message:
Another minor omegaT optimization (that should reduce the number of wf
subgoals that it generates).
Changes | Path |
+11 -6 | metaprl/theories/itt/core/itt_omega.ml |
+12754 -12634 | metaprl/theories/itt/core/itt_omega.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-07 09:14:17 -0800 (Sat, 07 Jan 2006)
Revision: 8422
Log message:
Making "omake clean" more clean.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-07 10:43:32 -0800 (Sat, 07 Jan 2006)
Revision: 8423
Log message:
Simplfy the BTerm normalizer a bit. This now uses a single
sweepDnC pass to push binds into the subterms, then does
a rippling phase.
This cuts the number of primitive steps by about a factor of 3,
but it is still huge, around 30k for wf_term_TyAll.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-07 11:36:28 -0800 (Sat, 07 Jan 2006)
Revision: 8424
Log message:
Adding poplmark/naive to the "THEORIES=all" list.
Changes | Path |
+1 -1 | metaprl/mk/defaults |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-07 13:36:44 -0800 (Sat, 07 Jan 2006)
Revision: 8425
Log message:
In proof browsing UI ("down 0"), give more information about the rewrites.
Changes | Path |
+37 -10 | metaprl/refiner/refiner/refine.ml |
+11 -5 | metaprl/refiner/refiner/refiner_debug.ml |
+5 -3 | metaprl/refiner/refsig/refine_sig.ml |
+22 -8 | metaprl/tactics/proof/proof_boot.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-08 12:51:03 -0800 (Sun, 08 Jan 2006)
Revision: 8427
Log message:
Updated the forward-chainer to use a more efficient algorithm (bug #562).
Made some progress with reflection, intro_term_TyFun is now proved.
The following rule would be *really* nice, but I don't know if it
is true or provable.
<H>; append{l1; l2} in list; <J>; l1 in list; l2 in list >- C -->
<H>; append{l1; l2} in list; <J> >- C
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-08 15:57:10 -0800 (Sun, 08 Jan 2006)
Revision: 8430
Log message:
Added sqsimple{BTerm{'n}} to sqsimple resource
Note: I have not proven bterm_sqsimple2 in order not to create conflict with
Jason's work.
Changes | Path |
+10 -7 | metaprl/theories/itt/core/itt_sqsimple.ml |
+3 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_bterm.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-08 21:01:22 -0800 (Sun, 08 Jan 2006)
Revision: 8431
Log message:
Ok, enough for now. The basic rules in Pmn_core_terms are proved.
Forward-chaining has the following problem--a forward chaining
rule might introduce a wf subgoal that would normally be proved
by forward chaining on a later hyp. Using forward chaining on
the wf subgoal will result in a loop. NOTE: wrt forward chaining,
this is a major issue.
For the moment, I added precedences to the forward chainer. This
is only a temporary fix.
Added a fair number of new rules. This is ad-hoc at the moment.
Basically, I just see what isn't proved, and I add the appropriate
theorems. I'm not sure if we can make this systematic, but we
should think about it.
All rules in Pmn_core_terms are proved, but just *look* at the stats!
500k primitive steps is totally--umm--amazing/terrible etc.
Time for expand_all ():
User time 293.000000; System time 2.820000; Real time 340.365773
Refiner status:
wf_term_TyTop
is a derived object with a complete grounded proof (1 rule boxes, 3164 primitive steps, 248 dependencies)
Refiner status:
wf_term_TyFun
is a derived object with a complete grounded proof (1 rule boxes, 15765 primitive steps, 249 dependencies)
Refiner status:
wf_term_TyAll
is a derived object with a complete grounded proof (1 rule boxes, 35857 primitive steps, 254 dependencies)
Refiner status:
wf_Types
is a derived object with a complete grounded proof (1 rule boxes, 38 primitive steps, 260 dependencies)
Refiner status:
mem_term_TyTop_Types
is a derived object with a complete grounded proof (1 rule boxes, 101 primitive steps, 264 dependencies)
Refiner status:
mem_term_TyFun_Types
is a derived object with a complete grounded proof (1 rule boxes, 103 primitive steps, 264 dependencies)
Refiner status:
mem_term_TyAll_Types
is a derived object with a complete grounded proof (1 rule boxes, 105 primitive steps, 264 dependencies)
Refiner status:
intro_term_TyTop
is a derived object with a complete grounded proof (1 rule boxes, 14782 primitive steps, 295 dependencies)
Refiner status:
intro_term_TyFun
is a derived object with a complete grounded proof (1 rule boxes, 254485 primitive steps, 295 dependencies)
Refiner status:
intro_term_TyAll
is a derived object with a complete grounded proof (1 rule boxes, 491120 primitive steps, 300 dependencies)
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-09 12:51:02 -0800 (Mon, 09 Jan 2006)
Revision: 8433
Log message:
Experimenting with optimization.
- Tried adding a checker to the normalizer to prevent it from
running if the term is already in normal form. This doesn't
seem to help at all, so it is disabled.
- Add a hack to try folding the equality into a membership
before normalization.
member{'T; 'e} <--> 'e = 'e in 'T
This helps a lot, about 25% faster/shorter proofs.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-09 14:20:12 -0800 (Mon, 09 Jan 2006)
Revision: 8434
Log message:
Investigate a new plan of attack, where we prove theorems for all the
common cases, say for mk_bterm up to arity 5.
Place all the common cases in a "naive" BTerm normalizer, and run
it before the general normalizer.
This will continue to work, because it falls back to the general
normalizer, but it should be faster if we have theorems for the common
cases.
Changes | Path |
+83 -2 | metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.ml |
+4848 -876 | metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-09 14:30:17 -0800 (Mon, 09 Jan 2006)
Revision: 8435
Log message:
Proved the initial set of simple theorems.
The tactic will need some bind coalescing, and the routine stuff
like eliminating mk_term, subst, bind.
Changes | Path |
+48 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.ml |
+3714 -2947 | metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-09 19:24:22 -0800 (Mon, 09 Jan 2006)
Revision: 8438
Log message:
Added the "simple" BTerm normalizer. This didn't work as well
as I had expected. It cut the proof steps about 1/3, but I thought
it would be more. intro_term_TyAll is now about 100k primitive
steps.
Adding a fallback to the general form doesn't currently work,
need to investigate.
If you want to try using the original rule, in Itt_hoas_bterm_wf
change normalizeBTermSimpleC to normalizeBTermForceC.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-09 20:13:56 -0800 (Mon, 09 Jan 2006)
Revision: 8439
Log message:
Teaching autoT that (1 = 2 in nat) and (1 = 2 in int) are contradictory
hypotheses.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-10 05:47:00 -0800 (Tue, 10 Jan 2006)
Revision: 8440
Log message:
Memory usage optimization in prefix_thenLocalLabelT
Changes | Path |
+14 -17 | metaprl/tactics/proof/tactic_boot.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-10 12:34:59 -0800 (Tue, 10 Jan 2006)
Revision: 8441
Log message:
Minor reduceT optimization.
Changes | Path |
+4 -2 | metaprl/support/tactics/top_conversionals.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-10 13:05:12 -0800 (Tue, 10 Jan 2006)
Revision: 8442
Log message:
Small arithT optimization.
Changes | Path |
+25 -14 | metaprl/theories/itt/core/itt_int_arith.ml |
+0 -1 | metaprl/theories/itt/core/itt_int_arith.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 13:27:50 -0800 (Tue, 10 Jan 2006)
Revision: 8444
Log message:
Minor changes as I try to understand the problem with label
munging. I am beginning to believe that the label erasure
is probably due to the UI, and the labels are actually "main".
So the problem may be that multiple "main" labels are
appearing for some reason. Still tracking down.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-10 14:42:53 -0800 (Tue, 10 Jan 2006)
Revision: 8445
Log message:
reduceC for +@ and *@ optimization:
do not try to reassociate things that can be simply computed.
Changes | Path |
+6 -3 | metaprl/theories/itt/core/itt_int_base.ml |
+5 -4 | metaprl/theories/itt/core/itt_int_ext.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-10 14:46:16 -0800 (Tue, 10 Jan 2006)
Revision: 8446
Log message:
The poplmark/naive theory was missing a "clean" target.
Changes | Path |
+2 -0 | metaprl/theories/poplmark/naive/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 15:09:14 -0800 (Tue, 10 Jan 2006)
Revision: 8448
Log message:
Check whether forward-chaining ever produces more than one "main" subgoal.
- Added a new tactical
checkSubgoalsT : (tactic_arg list -> unit) -> tactic -> tactic
so that it is possible to look at the results of an inference.
- Pass the location to annotation_processors so that we can print
more informative error messages if necessary.
However, all this does not help, since each step of forward-chaining
produces exactly one subgoal labeled "main", but we still get multiple
"main" subgoals after everything is finished.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 15:26:03 -0800 (Tue, 10 Jan 2006)
Revision: 8449
Log message:
Minor adjustment fixes the problem with forward-chaining:
use thenMT after rwhAll unfold_bsequent
Apparently, the "assertion" goals produced by conditional rewrites are
being relabeled to "main" by the forward-chainer. I don't know why.
However, there are a lot of rules in ITT with explicit [main] labels.
So this means we'll get explicit "main" subgoals popping up randomly.
BTW: what is going on with omegaT breaking all the proofs? For some
reason these get labeled as _my_ fault:b
Changes | Path |
+1 -1 | metaprl/theories/itt/core/itt_bool.ml |
+3 -3 | metaprl/theories/itt/reflection/experimental/itt_hoas_sequent_proof.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 15:30:54 -0800 (Tue, 10 Jan 2006)
Revision: 8450
Log message:
Oops, actually I did break the proofs with a bogus addrC.
Changes | Path |
+1 -1 | metaprl/theories/itt/reflection/experimental/itt_hoas_normalize.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 16:47:34 -0800 (Tue, 10 Jan 2006)
Revision: 8451
Log message:
Added the four expressions (of type Exp).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-10 16:59:48 -0800 (Tue, 10 Jan 2006)
Revision: 8452
Log message:
Added all syntax except the fsub sequent.
Expansion time is currently 214sec.
Changes | Path |
+2 -2 | metaprl/theories/poplmark/naive/pmn_core_terms.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-11 00:48:41 -0800 (Wed, 11 Jan 2006)
Revision: 8453
Log message:
- Use the location information (that is now available thanks to Jason's rev
8448 changes) in error messages generated by the annotation processors.
- Figured out how to fix filter_main so that the locations generated by the
MetaPRL parser contain the correct file name.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-11 09:22:31 -0800 (Wed, 11 Jan 2006)
Revision: 8454
Log message:
Reduce annotations on conditional rewrites --- for all the 0-arity SO
variables that occur in assumptions, run reduceC on the corresponding subterms
_before_ applying the rewrite.
For example, if you have:
interactive_rw reduce_foo {| reduce |} :
'a in footype -->
foo{'a; 'b; 'a} <--> ...
then the reduce resorce will get the following rewrite:
addrC [1] reduceC thenC addrC [3] reduceC thenC reduce_foo
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-11 13:32:26 -0800 (Wed, 11 Jan 2006)
Revision: 8455
Log message:
Modifying a bit the reduce annotation approach that I've added in the previous
commit.
Now the reduce annotations perform the following check on all the rewrites
(regardless of whether they are conditional or not) - if a SO var will be
duplicated by a rewrite (i.e. it appears more than once in the
"contractum+assumptions"), then the reduceC will be called on the
corresponding subterms before the rewrite is applied.
For example,
interactive_rw foo_reduce {| reduce |} :
'a in footype -->
'b in footype -->
'c in footype -->
foo{'a;'b;'b;'c;'d;'e} <--> foobar{'a;'b;'d;'d;'e}
will add
addrC [1] reduceC thenC addrC [2] reduceC thenC addrC [3] reduceC thenC
addrC [5] reduceC thenC foo_reduce
(the rewrite will duplicate 'a, 'b and 'd, so those are normalized
before-hand).
Changes | Path |
+21 -11 | metaprl/support/tactics/top_conversionals.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-11 19:41:06 -0800 (Wed, 11 Jan 2006)
Revision: 8456
Log message:
Add a conversion from sequents to BTerms.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-12 15:46:39 -0800 (Thu, 12 Jan 2006)
Revision: 8458
Log message:
Reproved all the theorems in Itt_hoas_proof1 without 'ty_sequent
(it is now BTerm).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-12 15:52:16 -0800 (Thu, 12 Jan 2006)
Revision: 8459
Log message:
Forgot to commit the proofs.
Changes | Path |
Copied | metaprl/theories/itt/reflection/experimental/itt_hoas_proof1.prla |
+13054 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof1.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-12 17:38:29 -0800 (Thu, 12 Jan 2006)
Revision: 8460
Log message:
Added an intro annotation on a rule.
Changes | Path |
+1 -1 | metaprl/theories/itt/core/itt_int_base.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-12 18:04:02 -0800 (Thu, 12 Jan 2006)
Revision: 8461
Log message:
The Itt_hoas_util.elim_bdepth rule ("OmegaT is failing on some artihmetic, so
make it simpler.") is no longer needed.
Changes | Path |
+0 -21 | metaprl/theories/itt/reflection/experimental/itt_hoas_util.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-12 20:15:02 -0800 (Thu, 12 Jan 2006)
Revision: 8463
Log message:
Working on the inverse function that transforms a BTerm back into
a Sequent.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-13 12:09:21 -0800 (Fri, 13 Jan 2006)
Revision: 8465
Log message:
Added the sequent_of_bterm{'e} that converts back from a BTerm
to a Sequent.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-13 12:26:04 -0800 (Fri, 13 Jan 2006)
Revision: 8466
Log message:
Convert sequents to BTerms.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-13 13:04:02 -0800 (Fri, 13 Jan 2006)
Revision: 8467
Log message:
Working on proof steps.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-13 14:37:05 -0800 (Fri, 13 Jan 2006)
Revision: 8468
Log message:
Further cleanup wrt BTerm sequents.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-13 14:42:11 -0800 (Fri, 13 Jan 2006)
Revision: 8469
Log message:
- Do pro-active normalization of the numerical expressions (so that they are
normalized before they are duplicated). This is done by changing the
annotation processor for all the hoas_lof/hoas_normalize resources.
- substl coalescing (substl_substl_lof2) is not a part of the normalizeLofC
(it has the exactly right style and it is wasteful to dedicate a separate
sweepUpC to it).
- Tried making the "constant reduction" more robust. In particular, when
normalizeLofC performs a "constant reduction", it will now follow up by
using reduceC to fully propagate the constant. I've removed Jason's "I
believe they are too fragile" comment because I think it no longer applies.
Also, moved the hd_lof rewrite into the "constant reduction" section (where
it belongs).
This reduces the THEORIES=all expansion time and #of primitive steps by >10%.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-13 15:28:40 -0800 (Fri, 13 Jan 2006)
Revision: 8470
Log message:
Rippling is no longer needed!
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-13 18:53:10 -0800 (Fri, 13 Jan 2006)
Revision: 8471
Log message:
- Filter: when copying proofs from an old .prla/.prlb/.cmoz, pick up any
available proof - regardless whether it refers to a rewrite, a conditional
rewrite, or a rule. It used to be the case that if one removes a condition in
a rewrite (making it an unconditional one), the old proof will not get picked
up, which seems wrong.
- The crw_args field name is misleading, renamed it to crw_assums.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-13 19:05:45 -0800 (Fri, 13 Jan 2006)
Revision: 8472
Log message:
Minor optimization: use "n>0" instead of "not{n=0 in nat}" in conditional
rewrites.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-13 20:10:29 -0800 (Fri, 13 Jan 2006)
Revision: 8473
Log message:
Now that the arithmetical reduction is in place, the lof_nil lists will always
have a length that is literally 0 (as opposed to simply being equal to 0).
Changes | Path |
+3 -5 | metaprl/theories/itt/reflection/experimental/itt_hoas_lof.ml |
+1772 -1815 | metaprl/theories/itt/reflection/experimental/itt_hoas_lof.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-14 00:52:29 -0800 (Sat, 14 Jan 2006)
Revision: 8474
Log message:
Proved the "provable_elim" theorem.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-14 08:20:34 -0800 (Sat, 14 Jan 2006)
Revision: 8475
Log message:
I think we do not need the type BSequent for the bterms that represent
sequents, so I'm going to try and weaken it to BTerm{0}.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-14 09:06:07 -0800 (Sat, 14 Jan 2006)
Revision: 8476
Log message:
Allow bindings in the forward rules in Itt_hoas_bterm_wf.
Will need to add them in other places too.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-14 13:07:34 -0800 (Sat, 14 Jan 2006)
Revision: 8477
Log message:
Trying to optimize onSomeHypT (autoT's version of onSomeHypT nthHypT).
Changes | Path |
+38 -13 | metaprl/support/tactics/auto_tactic.ml |
+1 -1 | metaprl/support/tactics/auto_tactic.mli |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-14 15:20:05 -0800 (Sat, 14 Jan 2006)
Revision: 8478
Log message:
- Added to nth_hyp: 't in BTerm{'d} --> 'd = bdepth{'t} in int
- Refreshed itt_hoas_sequent_bterm.prla (since a lot of ruleboxes in it are no
longer needed).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-14 17:07:24 -0800 (Sat, 14 Jan 2006)
Revision: 8479
Log message:
Well, after much work, I'll probably need to take another approach
to wf reasoning.
Suppose we know
sequent_bterm{"sequent"{arg; hyps; concl}} in BSequent
where
sequent_bterm is the Sequent -> BTerm{0} function
BSequent is the type of well-formed BTerms than specify sequents
What we would like is to know
arg in BTerm{0}
hyps in CVar{0}
concl in BTerm{|hyps|}
Of course, this is not true. If the arg,hyps,concl are ill-formed,
then we may get anything, even a BSequent.
What we *do* know is that
sequent_of_bterm{sequent_bterm{"sequent"{arg; hyps; concl}}} in Sequent
However, sequent_of_bterm may return a sequent triple that is
aribtrarily different from the triple (arg, hyps, concl).
No idea what to do, thinking.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-14 19:22:31 -0800 (Sat, 14 Jan 2006)
Revision: 8480
Log message:
The dest_bterm_mk_term2 rewrite in Itt_hoas_bterm had wf conditions that were
too restrictive. I've relaxed the conditions and renamed the rewrite into
dest_bterm_mk_term.
Changes | Path |
+2 -3 | metaprl/theories/itt/reflection/experimental/itt_hoas_bterm.ml |
+1893 -1819 | metaprl/theories/itt/reflection/experimental/itt_hoas_bterm.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-14 20:00:18 -0800 (Sat, 14 Jan 2006)
Revision: 8481
Log message:
Working on relaxed wf constraints.
The @tt[Itt_hoas_relax] module defines some transformations
with relaxed wf subgoals.
The goal here is to define a type << Bind >> that includes
all the terms in Itt_hoas_base. It will follow trivially
that << BTerm subtype Bind >>. It will also follow that
any term of the form << bind{'n; x. inr{math_ldots}} >>
will be in the << Bind >> type.
We can then show the eta-rules for << Bind >> terms, and
then a corresponding rule for
<< dest_bterm{'e; l, r. 'base['l; 'r]; d, o, s. 'step['d; 'o; 's]} >>
that uses relaxed terms.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-14 21:12:36 -0800 (Sat, 14 Jan 2006)
Revision: 8482
Log message:
Merged in the trunk changes (revisions 8281:8481):
svn merge -r 8281:8481 svn+ssh://svn.metaprl.org/svnroot/mojave/metaprl
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-15 01:14:09 -0800 (Sun, 15 Jan 2006)
Revision: 8483
Log message:
Added elimination rules which do not do thinning. The one with bindings is hard; not proved yet.
Changes | Path |
+27 -11 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.ml |
+791 -202 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-15 13:09:18 -0800 (Sun, 15 Jan 2006)
Revision: 8484
Log message:
Proved the relaxed eta-reduction rules.
Changes | Path |
+15 -10 | metaprl/theories/itt/reflection/experimental/itt_hoas_relax.ml |
+819 -393 | metaprl/theories/itt/reflection/experimental/itt_hoas_relax.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-15 16:12:26 -0800 (Sun, 15 Jan 2006)
Revision: 8485
Log message:
Proved eta-reduction under mk_bterm.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-15 17:47:20 -0800 (Sun, 15 Jan 2006)
Revision: 8486
Log message:
Basic relaxed theory.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-15 21:29:33 -0800 (Sun, 15 Jan 2006)
Revision: 8487
Log message:
Reproved the Itt_hoas_sequent_bterm1 using relaxed properties.
Proved the forward-chaining rules. My proofs should be cleaned
up, I was too lazy.
The forward rules have the following wf requirements
hyps in CVarRelaxed{0}
concl in Bind{length{hyps}}
These goals are extremely easy to prove via theorems like
Itt_hoas_relax.mk_bterm_in_bindn:
"wf" : <H> >- n = m in nat -->
"wf" : <H> >- subterms in list -->
<H> >- mk_bterm{n; op; subterms} in Bind{m}
They also hold, by construction, on all bsequent{| ... >- ... |}.
Current state:
- We need better tactics for membership in Bind. It is often
a mistake to use (x in BTerm => x in Bind), so there are a
bunch of nth_hyp to control the application. This is
inefficient, and we get too many cases that are not covered.
- Need to prove the properties for bsequent{| ... |}, and
reprove the forward rules in Itt_hoas_sequent_term1.
Note that these are the strong rules (the non-eta-expanded
rules).
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-16 20:13:40 -0800 (Mon, 16 Jan 2006)
Revision: 8488
Log message:
NOTE: this is a moderate change to the internal way we handle
resource annotations.
- Resource arguments are now passed as labeled initial arguments to
the annotation processor. If you have an annotation processor
that takes arguments, you define it as a function that takes
the arguments and produces an annotation processor.
val process_elim_resource_annotation :
?options: elim_option list -> (term * (int -> tactic)) annotation_processor
- The argument may be required or optional as desired.
- Unlabeled arguments are relabeled as "options".
Note that a function is allowed to take multiple arguments
with the same label.
- The annotation_processor and rw_annotation_processor types no
longer require the first type argument.
Changes to the "reduce" resource:
- Added a ~select:<string> argument to the annotation processor
that can be used to control when the rewrite
is allowed. By default, if the argument is not specified,
the rewrite is always allowed.
- You now need to use the wrap_reduce function when you add conversions
manually (this is why so many files were changed in this update).
let resource reduce +=
<< foo >>, wrap_reduce reduce_foo
Notes:
- Since dT arguments are declared as optional, it is legal to
write {| intro |} instead of {| intro [] |}.
- We should allow other options to the reduce resource,
including type inference, etc.
- It is ok with me if we collect the reduce options into a list,
like we do for dT.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-16 21:53:28 -0800 (Mon, 16 Jan 2006)
Revision: 8489
Log message:
Define super-relaxed rewrites. I forgot that bsequent{| ... |}
only ensures bounds on the binding depths, not the exact binding
depth.
The type Bind{n} contains all terms bind{n; y. e[y]}.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 00:49:22 -0800 (Tue, 17 Jan 2006)
Revision: 8490
Log message:
Added the ?select option to wrap_reduce.
Changes | Path |
+2 -2 | metaprl/support/tactics/top_conversionals.ml |
+1 -1 | metaprl/support/tactics/top_conversionals.mli |
+25 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_relax1.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 08:52:35 -0800 (Tue, 17 Jan 2006)
Revision: 8491
Log message:
For reduce, the ~select argument should be a string list.
Internally, these lists are converted to SymbolSet.t.
We should probably consider representing the options in the tactic_arg
as a SymbolSet.t. Or perhaps as an OpnameSet.t.
Changes | Path |
+18 -11 | metaprl/support/tactics/top_conversionals.ml |
+4 -4 | metaprl/support/tactics/top_conversionals.mli |
+1 -1 | metaprl/theories/itt/reflection/experimental/itt_hoas_relax1.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 09:02:28 -0800 (Tue, 17 Jan 2006)
Revision: 8492
Log message:
Proved the relaxed reduction rules.
Changes | Path |
+755 -371 | metaprl/theories/itt/reflection/experimental/itt_hoas_relax1.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 13:39:18 -0800 (Tue, 17 Jan 2006)
Revision: 8494
Log message:
Changes to options:
- Options are now based on opnames, so that we don't get
accidental collisions between unrelated theories.
- The tactic_arg options are OptionAllow and OptionExclude.
So
# Allow rules labeled with the given opname
withAllowOptionT : term -> tactic -> tactic
# Exclude rules labeled with the given opname
withExcludeOptionT : term -> tactic -> tactic
To make this work, we need to extend option annotations
for rules. Not done yet.
- The Top_options.select resource can be used to specify
default options for a theory.
[Ping Aleksey] I get confused by Mp_resource. Currently,
theory-local resources are pruned during close_theory.
I don't know if this works.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 14:45:46 -0800 (Tue, 17 Jan 2006)
Revision: 8495
Log message:
Further changes (this is all I plan to do for the moment).
- All annotation processors require two optional arguments
?select: term list
- the rule will only apply if a specific
option is given (only the opnames of the term matter)
?labels: term list
- the rule applies by default, but can be disabled
by the withExcludeOptionT option.
As before, the "select" resource can be used to specify options
on a theory-wide basis.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 15:35:52 -0800 (Tue, 17 Jan 2006)
Revision: 8496
Log message:
Roll back the changes to Mp_resource. Clearly I don't know what I am
doing.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 16:10:55 -0800 (Tue, 17 Jan 2006)
Revision: 8497
Log message:
Forgot to commit option_sig.ml.
Added a proof_initialize resource that can be used to initialize
the initial tactic_arg.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 16:53:49 -0800 (Tue, 17 Jan 2006)
Revision: 8498
Log message:
Allow preprocessing on the tactic_arg before the proof is created.
This probably isn't quite right. When the "select" resource is changed,
existing proofs will not be changed.
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-17 17:28:31 -0800 (Tue, 17 Jan 2006)
Revision: 8499
Log message:
Finally proved the elimination rule thanks to Aleksey; my original statement was wrong.
Changes | Path |
+6 -2 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.ml |
+607 -908 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.prla |
Changes by: Xin Yu (xiny at cs.caltech.edu)
Date: 2006-01-17 17:49:18 -0800 (Tue, 17 Jan 2006)
Revision: 8500
Log message:
Cleaned the theory.
Changes | Path |
+0 -29 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.ml |
+366 -636 | metaprl/theories/itt/reflection/experimental/itt_hoas_proof_ind.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-17 18:28:43 -0800 (Tue, 17 Jan 2006)
Revision: 8501
Log message:
Minor: eagerly compose the functions.
Changes | Path |
+8 -13 | metaprl/support/shell/proof_initialize.ml |
+1 -1 | metaprl/support/shell/proof_initialize.mli |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-17 20:53:03 -0800 (Tue, 17 Jan 2006)
Revision: 8502
Log message:
Reproving theorems in Itt_hoas_sequent_bterm2.
Unfortunately, I forgot to rename the terms to Itt_hoas_sequent_bterm2
in the .prla before I started working... Apparently if I do it now,
I get a ASCII IO error, weird.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-17 23:44:07 -0800 (Tue, 17 Jan 2006)
Revision: 8503
Log message:
*** WARNING : BREAKS BINARY COMPATIBILITY ***
*** Export your proofs before updating! ***
This adds a private/public flag to all the resource improvements (including
annotations). The public improvements get inherited by ancestors, while
private ones remain local to the current theory.
Syntax:
private let resource += ...
public let resource += ...
interactive foo {| public intro [AutoMustComplete]; private intro [] |} ...
The private/public flag is optional, "public" is assumed by default.
Note: short of not breaking the existing code, this is completely untested.
Will try testing tomorrow, unless Jason beats me to it.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-18 11:11:32 -0800 (Wed, 18 Jan 2006)
Revision: 8504
Log message:
Implemented Aleksey's scheme for options.
- Each rule/rewrite gets a set of labels.
They are defined, for example, as follows:
interactive foo {| intro ~labels:[<< foo >>] |} ...
- The "select" resource is an ordered list
opname * option_info, where
option_info =
OptionAllow
| OptionExclude
| OptionIgnore
- A rule is selected as follows, searching down the options
list, for each option:
1. (opname, OptionAllow) when opname in labels
Allowed
2. (opname, OptionExclude) when opname in labels
Rejected
An (opname, OptionIgnore) cancels all previous entries for the opname.
For efficiency, the resource implementation squashes the options list,
removing duplicate and OptionIgnore entries (preserving the semantics).
Note that rules without labels are always allowed.
If you want a rule to be off by default:
declare foo_option
let resource select += << foo_option >>, OptionExclude
interactive foo {| intro ~labels:[<< foo_option >>] |} : ...
You can override later several ways:
1. use the resource, usually private
private let resource select += << foo_option >>, OptionAllow
2. use a tactical locally
BY withAllowOptionT << foo_option >> (...)
3. use a tactic for the rest of the proof
BY addAllowOptionT << foo_option >> (...)
There are other tactics, if you want more control:
addOptionT : term -> string -> tactic
withOptionT : term -> string -> tactic
...
Notes:
- Currently, the withoutOptionT is still defined. It should
probably be defined as
withoutOptionT t =
withOptionT t "ignore"
- It might be nice to label every rule with its name.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-18 11:21:34 -0800 (Wed, 18 Jan 2006)
Revision: 8505
Log message:
Fixed a bug with OptionIgnore (it was getting ignored).
Changes | Path |
+9 -4 | metaprl/support/tactics/dtactic.ml |
+4 -7 | metaprl/support/tactics/top_options.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-18 16:35:19 -0800 (Wed, 18 Jan 2006)
Revision: 8506
Log message:
Small reduceC/reduceT optimization.
Changes | Path |
+25 -6 | metaprl/support/tactics/top_conversionals.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-18 20:14:00 -0800 (Wed, 18 Jan 2006)
Revision: 8510
Log message:
Prepare an installable version of MetaPRL.
The following directories are collected into libraries,
and copied into a standard install location.
libmojave
mllib
refiner
filter
support
editor/ml
For each of these directories, the .mli,.cmi and the
library itself are copied to an <install>/lib directory.
In addition, the filter directory copies the camlp4{n,o}
executables.
Note that the other filter/ binaries are currently broken.
We'll need to fix someday.
The plan is:
1. Install these files into a standard location like
/usr/lib/metaprl. TODO: add the location of the
install directory to mk/config.
2. Build a new OMakeroot that will allow people
to build their own private copy of MetaPRL
with their own theories, just from these
binaries.
3. (Probably) build a binary MetaPRL RPM.
Note: the current install target is called "export", because
we have a pre-existing "install" target. I don't know what
the "install" was used for, but it seems like we should
usurp it for the current purpose.
I'll finish #2 tomorrow.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-18 20:14:00 -0800 (Wed, 18 Jan 2006)
Revision: 8510
Log message:
Prepare an installable version of MetaPRL.
The following directories are collected into libraries,
and copied into a standard install location.
libmojave
mllib
refiner
filter
support
editor/ml
For each of these directories, the .mli,.cmi and the
library itself are copied to an <install>/lib directory.
In addition, the filter directory copies the camlp4{n,o}
executables.
Note that the other filter/ binaries are currently broken.
We'll need to fix someday.
The plan is:
1. Install these files into a standard location like
/usr/lib/metaprl. TODO: add the location of the
install directory to mk/config.
2. Build a new OMakeroot that will allow people
to build their own private copy of MetaPRL
with their own theories, just from these
binaries.
3. (Probably) build a binary MetaPRL RPM.
Note: the current install target is called "export", because
we have a pre-existing "install" target. I don't know what
the "install" was used for, but it seems like we should
usurp it for the current purpose.
I'll finish #2 tomorrow.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-18 23:25:43 -0800 (Wed, 18 Jan 2006)
Revision: 8511
Log message:
Internalized the handling of allSubC
Changes | Path |
+2 -1 | metaprl/tactics/proof/conversionals_boot.ml |
+23 -16 | metaprl/tactics/proof/rewrite_boot.ml |
+5 -6 | metaprl/tactics/proof/tactic_boot.ml |
+3 -1 | metaprl/tactics/proof/tactic_boot_sig.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 01:21:37 -0800 (Thu, 19 Jan 2006)
Revision: 8512
Log message:
Use termC instead of funC, where appropriate.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 02:07:09 -0800 (Thu, 19 Jan 2006)
Revision: 8513
Log message:
Rewrote the rewrite_boot engine a bit, trying to make things like higherC
(termC ...) more efficient (linear in the size of the term instead of
potentally quadratic).
Changes | Path |
+50 -34 | metaprl/tactics/proof/rewrite_boot.ml |
+1 -1 | metaprl/tactics/proof/tactic_boot.ml |
+1 -1 | metaprl/tactics/proof/tactic_boot_sig.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 03:23:45 -0800 (Thu, 19 Jan 2006)
Revision: 8514
Log message:
Do not run JProver when there are no logical formulas anywhere in the
meta-sequent (and none of the assumptions has non-context hyps).
Changes | Path |
+41 -29 | metaprl/theories/itt/core/itt_logic.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 06:32:31 -0800 (Thu, 19 Jan 2006)
Revision: 8515
Log message:
Removed a redundant tactic from autoT.
Changes | Path |
+6 -3 | metaprl/theories/itt/core/itt_equal.ml |
+4 -12 | metaprl/theories/itt/core/itt_struct.ml |
+6877 -7201 | metaprl/theories/itt/core/itt_struct.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 14:03:05 -0800 (Thu, 19 Jan 2006)
Revision: 8518
Log message:
Reconfigure MetaPRL to allow an installable version.
Mostly finished, but see the notes below.
To do it:
- Run "omake install"
This installs a binary version of MetaPRL into
<installdir>, which is currently metaprl/export.
- In your private directory,
1. Link/copy <installdir>/mk/OMakeroot
2. Copy mpconfig
3. Create an OMakefile with a line
THEORIES = <names>
Now you can run omake and it will produce an
executable called "mp".
NOTES:
- It is uglier than it should be, mainly because of
special-casing for theories/meta/base. This should
be discussed, find a better solution.
- The location of the <installdir> should be configurable
in mk/config.
- The initial private user setup should be scripted.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 17:39:06 -0800 (Thu, 19 Jan 2006)
Revision: 8519
Log message:
Cleaning up things after Jason's big "shared r/o installation" commit,
including:
- Cleaning up the dups between the editor/ml and support/editor.
- Moved all the compiled test files (as opposed to test files that are
indended to be used on the MetaPRL command line) from editor/ml/tests to
theories/itt/tests
- Updated all the places that still pointed to editor/ml/svnversion.txt to use
to support/editor/svnversion.txt or $(LIB)/svnversion.txt as appropriate.
- Added a LibInstall function for installing things into the $(LIB) directory
and LibSubInstall for installing things into subdirectories of the $(LIB)
directory.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 18:16:15 -0800 (Thu, 19 Jan 2006)
Revision: 8521
Log message:
_Every_ theory will install itself.
Next up, split the theory OMakefiles into a config part
and an optional OMakefile.
Changes | Path |
+5 -10 | metaprl/OMakefile |
+13 -1 | metaprl/OMakefile_theories |
+0 -1 | metaprl/theories/meta/base/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 18:32:19 -0800 (Thu, 19 Jan 2006)
Revision: 8522
Log message:
For now (until a new OMake is released), include the /dummy_scanner
Changes | Path |
+3 -0 | metaprl/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 18:51:30 -0800 (Thu, 19 Jan 2006)
Revision: 8523
Log message:
Itt_logic: filter out the "irrelevant" hyps/assums before running JProver.
Changes | Path |
+76 -49 | metaprl/theories/itt/core/itt_logic.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 18:52:24 -0800 (Thu, 19 Jan 2006)
Revision: 8524
Log message:
Make sure the -linkall is used in all the right places.
Changes | Path |
+2 -1 | metaprl/OMakefile |
+0 -1 | metaprl/support/OMakefile |
+0 -1 | metaprl/support/doc/OMakefile |
+0 -1 | metaprl/support/editor/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 19:22:51 -0800 (Thu, 19 Jan 2006)
Revision: 8525
Log message:
Separate the theory configuration from the build specification.
Now, each theory includes a required file called MetaprlInfo (we
can change the name, although I prefer the generic name Theory or
TheoryInfo:).
MetaprlInfo specifies:
THEORYNAME = ...
THEORYDESCR = ...
THEORY_DEPS[] = ...
MLZFILES[] = ...
MPFILES[] = ...
PRINT_THEORIES[] = ...
If this is all you have (the normal case), you do not need to define an
OMakefile. The build will proceed according to the normal rules.
If you have special concerns, you may also write an OMakefile for
the directory. In this case, the default actions are *not* taken,
and you should specify them by hand.
Next up: configure the install directory, and allow a search
path for locating theories.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 19:28:45 -0800 (Thu, 19 Jan 2006)
Revision: 8526
Log message:
Minor cleanup.
Changes | Path |
Copied | metaprl/QUICKSTART |
+138 -0 | metaprl/QUICKSTART |
Deleted | metaprl/editor/ml/QUICKSTART |
+1 -1 | metaprl/support/tactics/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 19:43:58 -0800 (Thu, 19 Jan 2006)
Revision: 8527
Log message:
Adding a "clean" target to the default theory body.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 20:36:11 -0800 (Thu, 19 Jan 2006)
Revision: 8528
Log message:
Added the INSTALL_DIR option to mk/config, and generate
the OMakeroot_install and editor/ml/mpconfig files.
Next up: add the search path for theories.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 20:59:26 -0800 (Thu, 19 Jan 2006)
Revision: 8529
Log message:
Add a THEORYPATH search path for theories.
Note: the theories in the install directory have
the READONLY=true flag appended to their MetaprlInfo
file, so they will not get compiled, just
noticed.
However, a user can put his theories in various
other places. If the .dir files work, it should be no
problem (untested).
Changes | Path |
+2 -2 | metaprl/OMakefile |
+22 -6 | metaprl/OMakefile_theories |
+1 -0 | metaprl/mk/defaults |
+9 -0 | metaprl/mk/make_config |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-19 21:34:28 -0800 (Thu, 19 Jan 2006)
Revision: 8530
Log message:
Made it possible to actually change the THEORY_PATH variable.
Changes | Path |
+1 -1 | metaprl/mk/defaults |
+2 -0 | metaprl/mk/load_config |
+30 -19 | metaprl/mk/make_config |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 21:43:01 -0800 (Thu, 19 Jan 2006)
Revision: 8532
Log message:
OCAMLINCLUDES[] was computed incorrectly in the Theory(files) function.
Changes | Path |
+0 -21 | metaprl/OMakefile |
+21 -0 | metaprl/OMakefile_common |
+31 -18 | metaprl/OMakefile_theories |
+0 -3 | metaprl/mk/gen_omakeroot |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 22:31:53 -0800 (Thu, 19 Jan 2006)
Revision: 8534
Log message:
Yay! The standalone MetaPRL brings up the browser.
Changes | Path |
+1 -1 | metaprl/editor/ml/OMakefile |
+1 -2 | metaprl/mk/gen_omakeroot |
+0 -0 | metaprl/mk/make_config |
+2 -4 | metaprl/mllib/setup.ml |
+1 -1 | metaprl/support/shell/browser_copy.mll |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 23:27:33 -0800 (Thu, 19 Jan 2006)
Revision: 8535
Log message:
At this point, I'm just tweaking the config.
It turns out, we need to install the .cmoz files too,
or else "cd" into a theory will fail if there is no .prla.
Changes | Path |
+3 -2 | metaprl/OMakefile |
+2 -2 | metaprl/OMakefile_common |
+1 -1 | metaprl/OMakefile_theories |
+10 -0 | metaprl/mk/gen_omakeroot |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-19 23:29:52 -0800 (Thu, 19 Jan 2006)
Revision: 8536
Log message:
Hmm, I seem to have broke the compilation because I named it
MPROOT instead of MP_ROOT.
Strange it doesn't break on my local version.
Changes | Path |
+1 -1 | metaprl/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 00:19:39 -0800 (Fri, 20 Jan 2006)
Revision: 8537
Log message:
Do not install the .prla
Changes | Path |
+1 -1 | metaprl/OMakefile_theories |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 04:45:41 -0800 (Fri, 20 Jan 2006)
Revision: 8538
Log message:
Fixed a bug in the context teleportation axiom for cases where the context
being teleported had arguments (this is the bug we've discussed a while ago).
3 proofs were affected, but all replayed fine (with some manual cutting &
pasting of ruleboxes).
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 13:38:29 -0800 (Fri, 20 Jan 2006)
Revision: 8539
Log message:
Fixed bytecode compilation (including mp.run)
Changes | Path |
+1 -1 | metaprl/editor/ml/OMakefile |
+4 -8 | metaprl/support/OMakefile |
+1 -0 | metaprl/support/display/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 15:49:14 -0800 (Fri, 20 Jan 2006)
Revision: 8540
Log message:
Proved 0 <--> 1, thus demonstrating that
Meta_context_terms.reduce_sequent_ind_base1 is way too strong!
# pwd ()
/itt_vector/itt_vec_list1/bug : string
# ls ""
* <*>
....main....
<ÃÂ> ⢠0 â¡ 1
BY [...]
# check ()
The proof of /itt_vec_list1/bug depends on the following definitions and axioms:
Definition /meta_context_terms2/unfold_sequent_ind_uv
Conditional Rewrite /meta_context_terms/reduce_sequent_ind_base1
Rewrite /base_meta/reduce_meta_sum
Rewrite /itt_int_base/reduce_add_meta
Rewrite /itt_int_base/reduce_numeral
Rewrite /itt_vec_list1/unfold_vlist_nest
Rewrite /meta_context_terms/reduce_hbeta
Rewrite /meta_context_terms/reduce_sequent_ind_base2
Rewrite /meta_context_terms/reduce_sequent_ind_left
Rule /base_rewrite/rewriteAxiom1
Rule /itt_equal/equalityAxiom
Rule /itt_squiggle/squiggleHypSubstitution
Rule /itt_squiggle/squiggleRef
Rule /itt_struct/cut
Rule /itt_struct/introduction
Rule /itt_struct/thin_many
Changes | Path |
+4 -0 | metaprl/theories/itt/extensions/vector/itt_vec_list1.ml |
+2125 -2030 | metaprl/theories/itt/extensions/vector/itt_vec_list1.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 16:36:59 -0800 (Fri, 20 Jan 2006)
Revision: 8541
Log message:
Fixing a display form typo.
Changes | Path |
+1 -1 | metaprl/support/display/summary.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 17:00:45 -0800 (Fri, 20 Jan 2006)
Revision: 8542
Log message:
Made the reduce_sequent_ind_base1 rewrite more conservative.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-20 18:58:35 -0800 (Fri, 20 Jan 2006)
Revision: 8543
Log message:
- MetaPRL is compatible with OCaml 3.09.1
- When using the shared installation mode (I've added a SHARED_MODE variable),
users have to use the exact same version of OCaml as the one that was used
for the initial shared build.
Changes | Path |
+5 -1 | metaprl/OMakefile |
+17 -6 | metaprl/OMakefile_common |
+9 -2 | metaprl/mk/defaults |
+1 -0 | metaprl/mk/gen_omakeroot |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-20 20:59:16 -0800 (Fri, 20 Jan 2006)
Revision: 8545
Log message:
The new patch for check OCaml versions was breaking because
the installation in the $(INSTALL_DIR) has a different shape
than $(MP_ROOT). In particular it was $(INSTALL_DIR)/lib/mk
vs $(MP_ROOT)/mk.
Since this is a general headache, I readjusted mp.install to use the
following dirs:
lib bin export/mk export/theories
and installed into $(INSTALL_DIR)/
lib bin mk theories
Also:
- Fixed THEORYPATH, it should include $(INSTALL_DIR)/theories,
not $(INSTALL_DIR).
- Removed READONLY theories from the set of build directories.
IMHO, we should "clean" the lib/ directory so it does not contain
any real files (right now it contains just the lib/words file).
This would make our clean scripts easier. In fact, ideally,
we would remove lib/ and bin/ from svn entirely.
I think that this would just require a change to OCaml.om, where
OCamlLibraryCopy files would depend on $(LIB), etc. This would usually
have no effect, but users could define a rule that would mkdir the $(LIB)
and $(BIN) directories it if they do not exist.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 07:45:47 -0800 (Sat, 21 Jan 2006)
Revision: 8546
Log message:
Move the MetaPRL scripts from editor/ml into support/editor
so that readonly clients do not need to copy them.
Changes | Path |
+1 -1 | metaprl/editor/ml/OMakefile |
Deleted | metaprl/editor/ml/mpopt |
Deleted | metaprl/editor/ml/mpopt.bat |
Deleted | metaprl/editor/ml/mptop |
Deleted | metaprl/editor/ml/mptop.bat |
+1 -1 | metaprl/support/editor/OMakefile |
Copied | metaprl/support/editor/mpopt |
Copied | metaprl/support/editor/mpopt.bat |
Copied | metaprl/support/editor/mptop |
Copied | metaprl/support/editor/mptop.bat |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 08:18:01 -0800 (Sat, 21 Jan 2006)
Revision: 8547
Log message:
Temporarily, at least, link the mpopt script into editor/ml
so the tests work.
Changes | Path |
+6 -0 | metaprl/editor/ml/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-21 16:37:23 -0800 (Sat, 21 Jan 2006)
Revision: 8555
Log message:
Keep all the scripts in support/editor. All the scripts that are postentially
applicable will be installed and linked into editor/ml. Irrelevant scripts
(such as mprun when MPRUN_ENABLED is false and mpgossip when ENSROOT is
undefined) will be ignored.
Changes | Path |
+39 -0 | metaprl/OMakefile_theories |
+5 -9 | metaprl/editor/ml/OMakefile |
Deleted | metaprl/editor/ml/mpdebug |
Deleted | metaprl/editor/ml/mpdebug-top |
Deleted | metaprl/editor/ml/mpgossip |
Deleted | metaprl/editor/ml/mpkonsole |
Deleted | metaprl/editor/ml/mpkonsole-large |
Deleted | metaprl/editor/ml/mprun |
Deleted | metaprl/editor/ml/mpserver |
Deleted | metaprl/editor/ml/mpshell |
Deleted | metaprl/editor/ml/mpxterm |
Deleted | metaprl/editor/ml/mpxterm-large |
+1 -1 | metaprl/support/editor/OMakefile |
Copied | metaprl/support/editor/mpdebug |
Copied | metaprl/support/editor/mpdebug-top |
Copied | metaprl/support/editor/mpgossip |
Copied | metaprl/support/editor/mpkonsole |
Copied | metaprl/support/editor/mpkonsole-large |
Copied | metaprl/support/editor/mprun |
Copied | metaprl/support/editor/mpserver |
+4 -0 | metaprl/support/editor/mpserver |
Copied | metaprl/support/editor/mpshell |
Copied | metaprl/support/editor/mpxterm |
Copied | metaprl/support/editor/mpxterm-large |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 18:08:28 -0800 (Sat, 21 Jan 2006)
Revision: 8556
Log message:
Some changes for the OCaml book.
Changes | Path |
+26 -4 | metaprl/support/display/comment.ml |
+2 -0 | metaprl/support/display/comment.mli |
+58 -47 | metaprl/theories/ocaml_doc/ocaml_doc_expr1.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 18:34:57 -0800 (Sat, 21 Jan 2006)
Revision: 8560
Log message:
Add initial jyh repository.
Changes | Path |
Properties | metaprl-jyh |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 19:08:09 -0800 (Sat, 21 Jan 2006)
Revision: 8562
Log message:
The !!!!! in the mk/config message is now !!!
On this topic, exclamations are urgent. I don't know if it is true for
other English speakers, but to me exclamation points arrest my attention.
So "That's good!" and "That's good." have very different meanings.
Similarly, "That's bad!" means "You idiot!" -- a negative aggressive
statement -- while "That's bad." is conversational.
Changes | Path |
Properties | metaprl/editor/ml |
+7 -7 | metaprl/mk/load_config |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 19:35:00 -0800 (Sat, 21 Jan 2006)
Revision: 8563
Log message:
As usual, svn does not recognize svn:externals until you commit.
Changes | Path |
Added | metaprl-jyh/poplmark/OMakefile |
Properties | metaprl-jyh/poplmark/OMakefile |
Added | metaprl-jyh/poplmark/OMakeroot |
Properties | metaprl-jyh/poplmark/OMakeroot |
Properties | metaprl-jyh/poplmark/theories/itt |
Properties | metaprl-jyh/poplmark/theories/poplmark |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 19:48:11 -0800 (Sat, 21 Jan 2006)
Revision: 8564
Log message:
In the theory search (OMakefile_theories.find-theory), do not
find the theory unless the MetaprlInfo file exists.
The issue is as follows. The THEORY_DEPS variable specifies
theories relative to the theories/ directory. So this requires
that we place theories in some place where the path works.
For example, I want my private theory to include these theories:
itt/reflection
poplmark/naive
This means I *must* name these directories as such (with
the current scheme), I can't just put them somewhere
myproject/reflection
myproject/naive
Instead, they must be something like
myproject/itt/reflection
myproject/poplmark/naive
Oh well. But if I define myproject/itt, this *does not* define the
itt theory. So the theory-path-search matches only if the MetaprlInfo
file exists.
With this, the search really is MetaPRL-specific. While I think that
this might still be a general problem, perhaps Aleksey's solution is
the right way to go. That is, we would keep a Map that would cache the
search-path results.
Changes | Path |
+8 -2 | metaprl/OMakefile_theories |
+0 -8 | metaprl/theories/itt/MetaprlInfo |
+8 -0 | metaprl/theories/itt/reflection/MetaprlInfo |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-21 20:02:21 -0800 (Sat, 21 Jan 2006)
Revision: 8565
Log message:
Initial jyh theory.
I think the readonly-install mode is very nice, and I want
to use it as a default. The plan is:
1. Define a trunk theory that I can install (instead of
/usr/local/lib/metaprl, I choose something relative
to my home).
2. Then, for specific projects, I define project directories
that use svn:externals to include the theories that
I care about.
The tradeoff is:
- Building core MetaPRL for install is more expensive
(~10k targets vs ~7k targets).
- Building a private project is incredibly cheap
in contrast (~200 targets).
It also means that I will have to remember to do possibly
multiple commits if I modify both my private directory
and core MetaPRL.
*If only* svn could do the smart thing. At least svn status will tell
me what all I have changed.
Changes | Path |
Properties | metaprl-jyh |
Properties | metaprl-jyh/poplmark |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-21 22:52:22 -0800 (Sat, 21 Jan 2006)
Revision: 8566
Log message:
The new symlinks should be ignored by SVN and deleted by "omake clean".
Changes | Path |
Properties | metaprl/editor/ml |
+1 -1 | metaprl/editor/ml/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-22 11:35:37 -0800 (Sun, 22 Jan 2006)
Revision: 8567
Log message:
Include the theory in the theory search path even if it is READONLY.
Changes | Path |
+2 -1 | metaprl/OMakefile_theories |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-22 16:28:02 -0800 (Sun, 22 Jan 2006)
Revision: 8569
Log message:
Added intro and elim rules for BindTriangle{n}.
Reproved all the theorems in Itt_hoas_sequent_bterm2.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-22 21:16:48 -0800 (Sun, 22 Jan 2006)
Revision: 8570
Log message:
[Ping Aleksey] Take a look at the following address:
/itt_reflection_experimental/itt_hoas_relax1/vbind_eta_expand/1/1/1/1/1/1
At this location, reduceC does something different than
(sweepDnC reduceC), in fact reduceC does not work. This might
be a coding error In Itt_hoas_vbind.squash_vbind_conv, but I don't
think so. It seems that squash_vbind_conv either succeeds or raises
RefineError, and if it succeeds, it makes progress. So it would
seem that reduceC should apply to all terms, but it does not.
Mostly proved the forward chaining wf rules for BSequent.
They will need to be changed a bit.
Added vector binders to Itt_hoas_relax1.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-23 00:33:59 -0800 (Mon, 23 Jan 2006)
Revision: 8572
Log message:
Power failure her, comitting before everything dies.
Changes | Path |
+19 -11 | metaprl/theories/itt/reflection/experimental/itt_hoas_sequent_term1.ml |
+2667 -2533 | metaprl/theories/itt/reflection/experimental/itt_hoas_sequent_term1.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-23 14:33:11 -0800 (Mon, 23 Jan 2006)
Revision: 8576
Log message:
Reverted the change that moved itt/reflection out of the itt/
VirtualTheory (meaning, reflection is now a subtheory of itt again).
Changes | Path |
+8 -0 | metaprl/theories/itt/MetaprlInfo |
+0 -8 | metaprl/theories/itt/reflection/MetaprlInfo |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 14:47:41 -0800 (Mon, 23 Jan 2006)
Revision: 8577
Log message:
- MetaPRL (especially the read-only mode) requires OMake 0.9.6.8
- Debugging code in reduceC was broken.
Changes | Path |
+0 -4 | metaprl/OMakefile |
+5 -7 | metaprl/OMakefile_common |
+4 -6 | metaprl/support/tactics/top_conversionals.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-23 18:39:44 -0800 (Mon, 23 Jan 2006)
Revision: 8578
Log message:
Added some theorems about nil and singleton lists in the Itt_vec_sequent_term
theory.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 18:42:12 -0800 (Mon, 23 Jan 2006)
Revision: 8579
Log message:
Made the default browser command configurable via the mk/config.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 19:22:39 -0800 (Mon, 23 Jan 2006)
Revision: 8580
Log message:
TUrned a prim_rw into a define.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 19:59:17 -0800 (Mon, 23 Jan 2006)
Revision: 8581
Log message:
In the readonly installation mode, we currently do not have doc/htmlman - so
when doc/htmlman is unavailable, we need to point to http://metaprl.org/
instead.
Changes | Path |
+24 -0 | metaprl/mllib/setup.ml |
+1 -0 | metaprl/mllib/setup.mli |
+6 -1 | metaprl/support/shell/shell_browser.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 20:06:19 -0800 (Mon, 23 Jan 2006)
Revision: 8582
Log message:
Fixing a non-compile, sorry!
Changes | Path |
+1 -0 | metaprl/support/shell/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-23 20:35:59 -0800 (Mon, 23 Jan 2006)
Revision: 8584
Log message:
Include .test-metaprl-startup on "omake install".
Added code to check reduce annotations for progress.
Amazingly, the only rewrite that does not pass the test
is Itt_hoas_relax.squash_bdepth_mk_terms. Perhaps my
test is too relaxed.
Changes | Path |
+4 -0 | metaprl/editor/ml/OMakefile |
+1 -4 | metaprl/refiner/refsig/term_subst_sig.ml |
+4 -2 | metaprl/refiner/term_ds/term_subst_ds.ml |
+25 -2 | metaprl/support/tactics/top_conversionals.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 20:51:23 -0800 (Mon, 23 Jan 2006)
Revision: 8585
Log message:
- When no port is given (or when -port 0 is given), use the first free port
starting with the default 60,000.
- If the HTTP server failed to start up (the port is in use, etc), print a
better error message.
Changes | Path |
+1 -1 | metaprl/editor/ml/OMakefile |
+2 -1 | metaprl/filter/base/filter_exn.ml |
+19 -1 | metaprl/support/shell/shell_browser.ml |
+9 -10 | metaprl/tactics/proof/exn_boot.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-23 21:12:16 -0800 (Mon, 23 Jan 2006)
Revision: 8586
Log message:
Xin: I plan to merge the "branch" tomorrow, renaming all the numbered
files, like Itt_hoas_sequent_term1.ml, back to their unnumbered
versions. This means I'll need to edit the .prla files. If you
commit your work, I'll edit your .prla too. Otherwise, no big
deal, we'll just edit it later.
Finished off the proof for bsequent-wf forward chaining. At this
point, we're ready to reprove the Pmn_core_terms, which will require
some tactic adjustments.
Changes | Path |
+20 -0 | metaprl/theories/itt/reflection/experimental/itt_hoas_sequent_term1.ml |
+2388 -2828 | metaprl/theories/itt/reflection/experimental/itt_hoas_sequent_term1.prla |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-23 21:32:39 -0800 (Mon, 23 Jan 2006)
Revision: 8587
Log message:
Fixed the DEFAUILT_UI detection.
Changes | Path |
+9 -7 | metaprl/support/shell/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 09:59:45 -0800 (Tue, 24 Jan 2006)
Revision: 8588
Log message:
I can't rename files atomically, so this is the first step:
removing unnumbered files.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 10:51:02 -0800 (Tue, 24 Jan 2006)
Revision: 8589
Log message:
Comment out Pmn_core_terms temporarily.
Changes | Path |
+1 -1 | metaprl/theories/poplmark/naive/pmn_core_terms.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 10:51:31 -0800 (Tue, 24 Jan 2006)
Revision: 8590
Log message:
Renamed numbered files back to unnumbered.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 11:08:15 -0800 (Tue, 24 Jan 2006)
Revision: 8591
Log message:
Fix Filter_reflection to use the new terms and
reenabled Pmn_core_terms.
Changes | Path |
+25 -33 | metaprl/filter/base/filter_reflection.ml |
Properties | metaprl/support/shell |
+1 -1 | metaprl/theories/poplmark/naive/pmn_core_terms.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 11:54:33 -0800 (Tue, 24 Jan 2006)
Revision: 8592
Log message:
Added with withOptionC and withoutOptionC conversions.
Switched Itt_hoas_{vector,debruijn} to use an option
Itt_hoas_vector!denormalize, which is normally off,
but enabled locally in the two theories.
The reduceBTermC is changed to use the option instead
of hard-coding the conversion list.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-24 13:28:28 -0800 (Tue, 24 Jan 2006)
Revision: 8593
Log message:
- Making the "omake clean" more clean, while making sure that in shared mode,
"omake clean" would not try cleaning up the shared installation.
- Removing the "bin" and "lib" directories - they should now be created
on-demand.
Changes | Path |
+6 -0 | metaprl/OMakefile |
+4 -2 | metaprl/OMakefile_common |
+1 -1 | metaprl/OMakefile_theories |
+1 -1 | metaprl/editor/ml/OMakefile |
+1 -0 | metaprl/filter/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-24 13:33:35 -0800 (Tue, 24 Jan 2006)
Revision: 8594
Log message:
Making "omake clean" more clean.
Changes | Path |
Properties | metaprl |
+1 -1 | metaprl/OMakefile |
+1 -1 | metaprl/editor/ml/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-24 13:33:35 -0800 (Tue, 24 Jan 2006)
Revision: 8594
Log message:
Making "omake clean" more clean.
Changes | Path |
Properties | metaprl |
+1 -1 | metaprl/OMakefile |
+1 -1 | metaprl/editor/ml/OMakefile |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 13:34:02 -0800 (Tue, 24 Jan 2006)
Revision: 8595
Log message:
Also initialize the tactic_arg in proofs loaded from IO proofs.
BTW, the private resources seems to be working.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-24 14:38:37 -0800 (Tue, 24 Jan 2006)
Revision: 8597
Log message:
- Better scoping of build options.
- Added a HACKish list of files that depend on $(BIN) and $(LIB) directories
(This is not needed with the change I just made in OMake, but needed with
OMake 0.9.6.8).
Changes | Path |
+9 -0 | metaprl/OMakefile |
+41 -45 | metaprl/OMakefile_common |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 15:08:04 -0800 (Tue, 24 Jan 2006)
Revision: 8598
Log message:
Try to be more careful about using length{vlist{| <J> |}} as
the canonical expression for the length of a context.
Temporarily remove poplmark/naive from THEORIES_ALL until
the proofs terminate.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 18:22:58 -0800 (Tue, 24 Jan 2006)
Revision: 8599
Log message:
We're back in business in PoplMark, at least for the first three
term declarations.
Sequents are now BTerms.
I adopted a new normalization style in Itt_hoas_sequent_term.
This means we have some junk theorems there, and it is confusing.
Will try Aleksey's method of check_all next.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 18:40:58 -0800 (Tue, 24 Jan 2006)
Revision: 8600
Log message:
Fixed a couple of broken theorems.
Back to the complete PoplMark, 122sec expand time:k
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 19:40:51 -0800 (Tue, 24 Jan 2006)
Revision: 8601
Log message:
Split the judgments out of Pmn_core_terms.
An initial thought here is to define the meta-type judgment
manually for sequents, rather than use the existential types.
According to our plan, we don't plan to have wf judgments
for sequents. However, we see that Filter_{parse,reflection}
are doing the wrong thing on actual rules (as opposed to
declare statements), so I'll fix that.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-24 19:40:51 -0800 (Tue, 24 Jan 2006)
Revision: 8601
Log message:
Split the judgments out of Pmn_core_terms.
An initial thought here is to define the meta-type judgment
manually for sequents, rather than use the existential types.
According to our plan, we don't plan to have wf judgments
for sequents. However, we see that Filter_{parse,reflection}
are doing the wrong thing on actual rules (as opposed to
declare statements), so I'll fix that.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-25 09:57:47 -0800 (Wed, 25 Jan 2006)
Revision: 8604
Log message:
Reflected rule definitions can use the usual meta-type checking
mechanism Term_grammar.parse_rule.
With sequent judgments, we have goals like the following
bind{n; x. sequent_bterm{vsequent{| <J[x]> >- C[x] |}}} in BTerm
Options:
1. We can augment the normalizer with theorems for
pushing binds through sequent_bterm, vsequent.
One potential drawback is that we have assumed
in many places that sequents are closed.
2. We could define theorems for sequent_bterm{vsequent{| ... |}}
in non-normal form.
I think option 1 is probably better.
The key theorem is as follows:
bind{n; x. sequent_bterm{vsequent{| <J[x]> >- C[x] |}}}
<-->
sequent_bterm{vsequent{| hyp_context{n; x. hyplist{| <J[x]> |}};
>- bind{n; x. C[x]} |}}
We would have to define the non-vector hyp_context{n; x. ...} term,
and then prove a bunch of theorems about open sequents.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-25 19:16:13 -0800 (Wed, 25 Jan 2006)
Revision: 8605
Log message:
Remove the $(EXPORT) directory on "omake clean".
Changes | Path |
+1 -1 | metaprl/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-25 20:28:47 -0800 (Wed, 25 Jan 2006)
Revision: 8606
Log message:
Fixing the svnversion test.
Changes | Path |
+3 -1 | metaprl/support/editor/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-25 20:58:52 -0800 (Wed, 25 Jan 2006)
Revision: 8607
Log message:
Compute the version string manually when svnversion does not exist, but
$(ROOT)/.svn does exist.
Changes | Path |
+37 -5 | metaprl/support/editor/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-25 23:02:34 -0800 (Wed, 25 Jan 2006)
Revision: 8608
Log message:
Better svnversion replacement.
Changes | Path |
+3 -1 | metaprl/support/editor/OMakefile |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-26 00:09:58 -0800 (Thu, 26 Jan 2006)
Revision: 8609
Log message:
Truncate the "id" number to 31 bits in order to make .prla files written on
64-bit platforms readable under 32 bits.
Changes | Path |
+10 -0 | metaprl/filter/filter/filter_parse.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-26 00:17:28 -0800 (Thu, 26 Jan 2006)
Revision: 8610
Log message:
I do not think we need to run check-status.sh from under ssh anymore.
Changes | Path |
+4 -3 | metaprl/util/check-status |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-26 00:28:10 -0800 (Thu, 26 Jan 2006)
Revision: 8611
Log message:
- Make sure that selection options in tactic_arg do not pollute the "named
terms" attributes on IO.
- Cleaned up the .prla files that had junk in their tactic_arg attributes.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-26 00:50:55 -0800 (Thu, 26 Jan 2006)
Revision: 8612
Log message:
*** WARNING: BREAKS BINARY COMPATIBILITY! ***
Changing the option_table, making the options lookup more efficient.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-26 18:55:46 -0800 (Thu, 26 Jan 2006)
Revision: 8613
Log message:
Adding a meta-type for selection opnames.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-26 21:30:57 -0800 (Thu, 26 Jan 2006)
Revision: 8614
Log message:
Partial progress to computing the elimination rule.
It looks stupid right now, because the assums are all trivial. Mainly I'm
fighting with syntactic well-formedness, meaning context and so-vars
all need the right arity. The assums are being computed, dropped on
the floor until I figure out the mistake.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-27 10:28:20 -0800 (Fri, 27 Jan 2006)
Revision: 8615
Log message:
Generate the elim-rule. It is both big and ugly.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-27 14:20:02 -0800 (Fri, 27 Jan 2006)
Revision: 8616
Log message:
Fixed a typo.
Changes | Path |
+1 -1 | metaprl/mk/make_config |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2006-01-27 14:25:14 -0800 (Fri, 27 Jan 2006)
Revision: 8617
Log message:
Moving the settings of the OMake variables to mk/default. This way, mk/config
rules are in scope of the OMakeFlags and their execution would not be
unnecessarily verbose.
Changes | Path |
+0 -30 | metaprl/OMakefile_common |
+30 -0 | metaprl/mk/defaults |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-28 18:59:35 -0800 (Sat, 28 Jan 2006)
Revision: 8619
Log message:
Manually branch the reflection/experimental directory
to reflection/experimental_bsequent. This is mainly
so that we can keep the proofs for copying purposes.
I will delete the experimental_bsequent directory if
everything works out, or restore it if things do not.
Plan is to investigate "append sequents". Roughly
speaking the new sequent will have the form:
asequent{| <H>; x: hyp{A}; y: J[x] >- C[x; y] |}
where
<H> represents a list of lists
hyp{'A} <--> ['A]
'J['x] represents a list
Lots of issues that need to be solved, we'll see how it goes.
Changes | Path |
Copied | metaprl/theories/itt/reflection/experimental_bsequent |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-28 19:54:42 -0800 (Sat, 28 Jan 2006)
Revision: 8620
Log message:
Added append vector binders and proved some really basic theorems.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-29 17:41:26 -0800 (Sun, 29 Jan 2006)
Revision: 8621
Log message:
Initial progress toward append-style sequents and binders.
This initial naive definition is not satisfactory.
Here is the problem. The append-binder has the following rule:
mk_flat_vbind{| x: A; <J[x]> >- e[x] |} <-->
mk_bind{length{A}; x. mk_flat_vbind{| <J[x]> >- e[x] |}}
This means that it is possible to define some strange terms.
mk_flat_bind{| x: A; y: append{x; x} >- e[x; y] |}
This says that the "y" binder has twice as many bindings
as the "x" binder. This is clearly bogus.
I'm not sure exactly how to fix it. We could require non-self-bindings
in the context, but that is probably too strong.
It seems like we would prefer a sequent_ind form that would allow
the substitions for the hyps and concl to differ.
Perhaps we can do two-phase, where the first phase squashes the terms
in the context. We'll see.
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2006-01-29 18:46:23 -0800 (Sun, 29 Jan 2006)
Revision: 8622
Log message:
Committing changes made back in Decmeber before my defense.
jtunify: one more unification rule added
s4_tests: more tests, more formulations of Muddy Children
Changes | Path |
+72 -4 | metaprl/refiner/reflib/jtunify.ml |
+48 -16 | metaprl/theories/s4lp/s4_tests.ml |
+270 -270 | metaprl/theories/s4lp/s4_tests.prla |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2006-01-29 19:20:37 -0800 (Sun, 29 Jan 2006)
Revision: 8623
Log message:
Added a "squashed" version of sequent induction. It can be removed
if we decide it is a bad plan.
I'm starting to get a bad feeling about these append-style
sequent forms. They are very complicated.
Changes by: Yegor N. Bryukhov (ybryukhov at gc.cuny.edu)
Date: 2006-01-29 20:48:19 -0800 (Sun, 29 Jan 2006)
Revision: 8624
Log message:
unintentionally, I deleted all the new proofs, so I had to restore them, luckily they are trivial.
Changes | Path |
+1960 -1472 | metaprl/theories/s4lp/s4_tests.prla |