#
e86e6d62 |
|
30-Apr-2019 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Implement machinery to check that tactic results change acceptably Used to implement checks that h.o. redexes don't remain, or have decreased in count. This is progress towards implementation of github issue #680.
|
#
f969d86b |
|
05-Oct-2017 |
Andreas Lööw <AndreasLoow@users.noreply.github.com> |
Various doc fixes
|
#
468179c5 |
|
06-Sep-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Implement line-number reporting for failing THEN1/>- This relies on a somewhat disgusting quotation filter hack which replaces occurrences of >-/THEN1 in line with the following pattern: tac1 >- tac2 - - - > tac1 >>- linenumber ?? tac2 This relies on >>- and ?? being left-associative, which is how they are defined. The definition of ?? is fun f ?? x = f x The linenumber is inserted by the quotation filter, which tracks this naturally.
|
#
c4baf6cc |
|
17-Jul-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Provide access to more switches when parsing in context In particular, allow setting of Feedback traces which will be used when parsing of quotations occurs. This allows Q.PAT_ASSUM to be made quiet about inventing type variables. This is deemed desirable in github issue #425. (I'm not 100% sure now of this, but hey.) Closes #425
|
#
49bb6a02 |
|
28-Jul-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Provide "typed" parsing-in-context entry-points This allows QTY_TAC ty tac q to parse q in the context of the goal and also require the resulting term to have the provided type. The resulting term is then passed to tac, as per Q_TAC>
|
#
fa81d70b |
|
28-Jul-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Rename pat_assum to pat_x_assum; provide pat_assum To be consistent with naming conventions elsewhere, change the name of qpat_assum (and PAT_ASSUM, and Q.PAT_ASSUM) to include an extra _x_ (or _X_), indicating that the matching assumption is pulled out of the assumption list. Use the old names to provide a version that doesn't pull the assumption out of the list. Again, seeking consistency with other similar tactics, make variable names that appear in the pattern and the goal be forced to have the type that they have in the goal.
|
#
4a68817b |
|
15-Jul-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix build errors prompted by goal_assum
|
#
d95230c8 |
|
15-Jul-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Put goal_assum into Tactical's signature
|
#
e28c677a |
|
20-Mar-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Define special backtracking cases of pat_assum In particular, the "pattern" is a single term or quotation that has to either be the head constant of the assumption or the head of the lhs of the assumption. Unlike pat_assum as it stands currently, the behaviour backtracks (à la first_assum) if the theorem-tactic doesn't succeed with the first assumption found. Versions come in "copy assumption" and "cut assumption" versions, just like first_assum and first_x_assum.
|
#
5b282aae |
|
06-Dec-2015 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
More moving lcsymtacs implementations elsewhere Eventually lcsymtacs will just be a bunch of 'open' declarations, and then people won't bother to include it at all.
|
#
48bce6f2 |
|
04-Dec-2015 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Move some tactics from lcsymtacs to Tactic{,al} As per Github issue #274
|
#
e7f4d74a |
|
16-Nov-2015 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Move lcsymtacs functions to natural homes For example, we do not need to have >> in lcsymtacs; it might as be in Tactical. The ultimate aim is to do away with lcsymtacs entirely. This is work towards github issue #274
|
#
bd77b8fb |
|
20-Oct-2015 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Delete trailing whitespace
|
#
b54e6e27 |
|
02-May-2015 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
new irule, order of new subgoals is consistent, regardless of how the substitution may change the internal order of hypothesis in the argument theorem also new tactical ADD_SGS_TAC - like VALIDATE but new terms to be proved need to be specified
|
#
32bf1e49 |
|
02-Feb-2015 |
Piotr Trojanek <piotr.trojanek@gmail.com> |
extra semicolons removed from (some) .sig files
|
#
ca5c8d49 |
|
31-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
new list-tactic USE_SG_THEN makes one subgoal available in the proof of another
|
#
79fc3d40 |
|
31-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
relaxing type constraint for THEN and THENL to permit val THEN : list_tactic * tactic -> list_tactic val THENL : list_tactic * tactic list -> list_tactic as well as the usual types
|
#
e8e1f70e |
|
20-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
GEN_VALIDATE(_LT) - flag for adding new subgoals in any event GEN_VALIDATE false is like VALIDATE, but adds subgoals for the assumptions of the theorem produced by the justification, regardless of whether they are among the assumptions of the goal. Advantage of this is that GEN_VALIDATE false (ACCEPT_TAC th) produces predictable subgoals, which may help in coding compound tactics
|
#
621c1ebb |
|
13-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
VALIDATE and VALIDATE_LT If tac (ltac) is invalid due to proving theorems with extra assumptions, VALIDATE tac and VALIDATE_LT ltac make the tactic valid by returning extra subgoals to prove the extra assumptions
|
#
876ff199 |
|
11-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
expand_list to interactively work on a list of subgoals also Tactical.VALID_LT, to check that a list-tactical is valid (expand_list checks validity, expand_listf doesn't) also abbreviations elt, eall, eta, enth to apply (list-)tactic to subgoal(s)
|
#
8d315d0c |
|
09-Dec-2014 |
Michael Norrish <michael.norrish@nicta.com.au> |
Delete trailing whitespace in src/ This needs doing periodically, and is best done to a whole bunch of files at once.
|
#
279c6472 |
|
01-Dec-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
replacing code for THEN and THENL using ALLGOALS and TACS_TO_LT also defines NULL_OK_LT to implement change to THENL (see https://github.com/HOL-Theorem-Prover/HOL/issues/214 )
|
#
7e336374 |
|
17-Nov-2014 |
Jeremy Dawson <jeremy@cecs.anu.edu.au> |
list_tactic concept introduce list_tactic - works on a list of goals, not a single goal THEN_LT (tac1, ltac2 : list_tactic), A tactical that applies ltac2 to the list of subgoals resulting from tac1 TACS_TO_LT (tac2l: tactic list) : list_tactic ALLGOALS - A list_tactic which applies a given tactic to all goals ALL_LT - always succeeds NTH_GOAL - applies tactic to nth goal of list REVERSE_LT - A list_tactic that reverses a list of subgoals SPLIT_LT - apply two list-tactics, one to first n subgoals, the other to the rest ROTATE_LT - rotate the list of subgoals by n positions
|
#
d5f20b85 |
|
12-Aug-2013 |
Ramana Kumar <ramana@member.fsf.org> |
Add LAST_ASSUM and LAST_X_ASSUM tactics like first_assum and first_x_assum, but work from the other end of the assumption list
|
#
1bc9f344 |
|
13-Jan-2011 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Change src/bool to src/1 as a prelude to experimentation!
|