#
8e3a4ca9 |
|
22-Aug-2020 |
Thomas Sewell <sewell@chalmers.se> |
Add elim_Case rules Case markers are meant to become assumptions of goals, so this rewrite set eliminates markers that have ended up in the wrong place.
|
#
03e180f5 |
|
22-Aug-2020 |
Thomas Sewell <sewell@chalmers.se> |
Add Case marker constant to markerTheory Yet another trivial constant. This one will appear in assumptions in goals of a proof by induction or case distinction, and will clarify which case the current goal is.
|
#
71fdb8d8 |
|
06-Apr-2020 |
Michael Norrish <michael.norrish@data61.csiro.au> |
Attempt at better Abbrev protection This in the face of simplification and the variable elimination done by RW_TAC and friends. Core sequence, -t1 and some of -t2 builds (up to category theory example). Machinery for dynamically reverting to the old behaviours possible through diminish_srw_ss and a trace variable. This is work on github issue #800
|
#
e99f87f3 |
|
26-May-2020 |
Michael Norrish <michael.norrish@data61.csiro.au> |
Tweak 'using' to now handle unnamed monomorphic theorem arguments
|
#
43663798 |
|
25-May-2020 |
Michael Norrish <michael.norrish@data61.csiro.au> |
Allow Induct_on & Cases_on to use different theorems with 'using' The using function is infix on tactics; other tactics can grab 'using' theorems if they want to try, using the markerLib.maybe_using entrypoint.
|
#
70744e4c |
|
25-Aug-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Allow "local" attribute to be added to Type syntax This generates a temp_type_abbrev/temp_type_abbrev_pp call underneath. Document and use in a few src files. Thanks to Magnus for the suggestion.
|
#
f49eec50 |
|
30-Apr-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Implement Req0/ReqD forms to require simp rules to have been applied Closes #680
|
#
2348abf0 |
|
02-Apr-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Add Excl theorem form to exclude things from simplification For example simp[Excl "BETA_CONV"] will stop the BETA_CONV conversion from firing. This doesn't interact correctly with remove_ssfrags properly yet because that function rebuilds a simpset from its constituent fragments, and so will put back stuff that Excl has removed. The remove_ssfrags implementation will change to simply remove those things in the simpset that have come from given fragments (meaning that simpsets will no longer need to store their originating fragments at all).
|
#
eee03790 |
|
05-Mar-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make equality of "tight" precedence by default Start to work through knock-on effects of this.
|
#
5ff906ec |
|
03-Mar-2016 |
Ramana Kumar <ramana@member.fsf.org> |
Replace :label with :ind There is no real need for a new type here.
|
#
08d7a558 |
|
23-Oct-2014 |
Piotr Trojanek <piotr.trojanek@gmail.com> |
trailing newlines in *.{sml,sig} files from src/ removed Trailing newlines from SML files in src/ were rendered in HTML documentation.
|
#
3e8ecc59 |
|
17-Feb-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
map marker$stmarker to Unwanted.id
|
#
deb58297 |
|
02-Feb-2012 |
Ramana Kumar <ramana.kumar@gmail.com> |
add opentheory name for marker$AC Currently using Data.Bool./\\, but it might make sense to use a HOL4 specific name for this... we'll see.
|
#
f8fd8324 |
|
02-Oct-2011 |
Ramana Kumar <ramana.kumar@gmail.com> |
add various names to the OpenTheory map This is in preparation for logging llistTheory. Notes: - Sent combin$C to Function.Combinator.c (same for combin$S). Another name might be preferred on the OpenTheory side. - Not sure what bool$BOUNDED is about; dumped it in the HOL4 namespace. - Put lots of pred_set constants in the Set namespace, but in the standard (OpenTheory) library it seems like Set is for constants operating on an abstract type of sets (rather than predicates). I'm not sure whether we should use a different namespace when working with sets-as-predicates or just pretend predicates are the abstract type and do a bit of magic on article reading/writing as necessary (don't know what that would be exactly yet). - Similar for constants in set_relation, which I'm currently putting in the Relation namespace. Although it looks like currently OpenTheory doesn't use an abstract type of relations (but probably it will later). - Sent marker$Cong and marker$Abbrev to Unwanted.id, but not sure if Unwanted.id is supposed to be polymorphic (whereas those are identity functions restricted to bool). Similar for numeral$iZ - sent GSPEC to Set.specification; maybe not an obvious name... - Using top-level "While" namespace for whileTheory - dumped numeral$iiSUC in HOL4 namespace; not sure what to do with it - BIT2 is going to Number.Numeral.bit2; this is in line with wanting the base library to be liberal, i.e. a union of all useful basic constants and theorems (so has bit0, bit1 and bit2)... but I think there may be competing goals for base
|
#
c76376ed |
|
29-Apr-2008 |
Konrad Slind <konrad.slind@gmail.com> |
Additional functionality for abbreviations. 1. The labels library has been merged into markerLib and the src/labels directory eliminated. 2. Have added markerSyntax structure. 3. Operations on abbrevs used to all be in structure Q, even those that didn't deal with quotations (like UNABBREV_ALL_TAC). Now markerLib provides all abbrev. operations and these take terms. Operations that benefit from quotes, e.g., ABBREV_TAC, MATCH_ABBREV_TAC, etc. are still to be found in Q. 4. Abbrevs are kept reduced by the simplifiers and there is a REABBREV_TAC which can be separately called. This sorts abbrevs topologically, so that they get restored in a sensible order. 5. For situations where one wants to get rid of all abbrevs, apply a tactic, and then restore the abbrevs, there is WITHOUT_ABBREVS: tactic->tactic. 6. Have added a simple topological sort to Lib. 7. Updated proofs in the src directories, and also in examples/lambda.
|
#
ad57a8a3 |
|
10-Mar-2006 |
Konrad Slind <konrad.slind@gmail.com> |
Upgrading Define so that it proves more termination goals. Generates lex. combinations and tries them out, so gets some more ordinary recursions. Gets all iterated primitive recursions. Also has been taught about some operations on words (so recursion from w to w-1w will terminate, for example). Let me know of any bugs/slowdowns, etc.
|
#
b9fa040b |
|
07-Jul-2004 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Remove cutesy parsing hack from Abbrevs. May implement something in the goal-stack pretty-printer to emulate this.
|
#
1d04a0ca |
|
07-Jul-2004 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
New treatment of abbreviations. Documentation still to be updated. Backwards compatibility illustrated in examples/lambda/standardisationScript and examples/arm6. New techniques and entry-points illustrated in core distribution and some of the lambda example scripts.
|
#
c5bbd307 |
|
04-Jul-2004 |
Konrad Slind <konrad.slind@gmail.com> |
Numerous minor changes associated with various things, most having to do with exporting ML.
|
#
d94b8bf3 |
|
01-Jul-2003 |
Konrad Slind <konrad.slind@gmail.com> |
Support for rewriting annotations.
|
#
bbf00959 |
|
26-Jun-2003 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Provide an unint "tag" constant for use elsewhere in the system.
|
#
c17424b3 |
|
07-Dec-2001 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Moved marker stuff to its own directory, and also used same_const function in new markerLib. In a far off, distant land, where we implement named assumptions using Konrad's NAMED constant (see src/basicProof/Notes), this stuff will need to put back into bool so that the basic tactics can be made to work with named assumptions.
|