Documentation

Init.Grind.Interactive

Equations
    Instances For

      The ! modifier instructs grind to consider only minimal indexable subexpressions when selecting patterns.

      Equations
        Instances For

          The ! modifier instructs grind to consider only minimal indexable subexpressions when selecting patterns.

          Equations
            Instances For

              grind is the syntax category for a "grind interactive tactic". A grind tactic is a program which receives a grind goal.

              Equations
                Instances For

                  (grindSeq) runs the grindSeq in sequence on the current list of targets. This is pure grouping with no added effects.

                  Equations
                    Instances For

                      skip does nothing.

                      Equations
                        Instances For

                          lia linear integer arithmetic.

                          Equations
                            Instances For

                              ring (commutative) rings and fields.

                              Equations
                                Instances For

                                  ac associativity and commutativity procedure.

                                  Equations
                                    Instances For

                                      linarith linear arithmetic.

                                      Equations
                                        Instances For

                                          The sorry tactic is a temporary placeholder for an incomplete tactic proof.

                                          Equations
                                            Instances For

                                              Instantiates theorems using E-matching. The approx modifier is just a marker for users to easily identify automatically generated instantiate tactics that may have redundant arguments.

                                              Equations
                                                Instances For

                                                  Shorthand for instantiate only

                                                  Equations
                                                    Instances For

                                                      Shows asserted facts.

                                                      Equations
                                                        Instances For

                                                          Shows propositions known to be True.

                                                          Equations
                                                            Instances For

                                                              Shows propositions known to be False.

                                                              Equations
                                                                Instances For

                                                                  Shows equivalence classes of terms.

                                                                  Equations
                                                                    Instances For

                                                                      Show case-split candidates.

                                                                      Equations
                                                                        Instances For

                                                                          Show grind state.

                                                                          Equations
                                                                            Instances For

                                                                              Show active local theorems and their anchors for heuristic instantiation.

                                                                              Equations
                                                                                Instances For

                                                                                  show_term tac runs tac, then displays the generated proof in the InfoView.

                                                                                  Equations
                                                                                    Instances For

                                                                                      Performs a case-split on a logical connective, match-expression, if-then-else-expression, or inductive predicate. The argument is an anchor referencing one of the case-split candidates in the grind state. You can use cases? to select a specific candidate using a code action.

                                                                                      Equations
                                                                                        Instances For

                                                                                          A variant of cases that provides a code-action for selecting one of the candidate case-splits available in the grind state.

                                                                                          Equations
                                                                                            Instances For

                                                                                              Performs the next case-split. The case-split is selected using the same heuristic used by finish.

                                                                                              Equations
                                                                                                Instances For

                                                                                                  done succeeds iff there are no remaining goals.

                                                                                                  Equations
                                                                                                    Instances For

                                                                                                      finish tries to close the current goal using grind's default strategy

                                                                                                      Equations
                                                                                                        Instances For

                                                                                                          finish? tries to close the current goal using grind's default strategy and suggests a tactic script.

                                                                                                          Equations
                                                                                                            Instances For

                                                                                                              The have tactic is for adding opaque definitions and hypotheses to the local context of the main goal. The definitions forget their associated value and cannot be unfolded.

                                                                                                              • have h : t := e adds the hypothesis h : t if e is a term of type t.
                                                                                                              • have h := e uses the type of e for t.
                                                                                                              • have : t := e and have := e use this for the name of the hypothesis.
                                                                                                              Equations
                                                                                                                Instances For

                                                                                                                  Executes the given tactic block to close the current goal.

                                                                                                                  Equations
                                                                                                                    Instances For

                                                                                                                      all_goals tac runs tac on each goal, concatenating the resulting goals. If the tactic fails on any goal, the entire all_goals tactic fails.

                                                                                                                      Equations
                                                                                                                        Instances For

                                                                                                                          focus tac focuses on the main goal, suppressing all other goals, and runs tac on it. Usually · tac, which enforces that the goal is closed by tac, should be preferred.

                                                                                                                          Equations
                                                                                                                            Instances For

                                                                                                                              next => tac focuses on the next goal and solves it using tac, or else fails. next x₁ ... xₙ => tac additionally renames the n most recent hypotheses with inaccessible names to the given names.

                                                                                                                              Equations
                                                                                                                                Instances For

                                                                                                                                  · grindSeq focuses on the main grind goal and tries to solve it using the given sequence of grind tactics.

                                                                                                                                  Equations
                                                                                                                                    Instances For

                                                                                                                                      any_goals tac applies the tactic tac to every goal, concatenating the resulting goals for successful tactic applications. If the tactic fails on all of the goals, the entire any_goals tactic fails.

                                                                                                                                      This tactic is like all_goals try tac except that it fails if none of the applications of tac succeeds.

                                                                                                                                      Equations
                                                                                                                                        Instances For

                                                                                                                                          with_annotate_state stx t annotates the lexical range of stx : Syntax with the initial and final state of running tactic t.

                                                                                                                                          Equations
                                                                                                                                            Instances For

                                                                                                                                              tac <;> tac' runs tac on the main goal and tac' on each produced goal, concatenating all goals produced by tac'.

                                                                                                                                              Equations
                                                                                                                                                Instances For

                                                                                                                                                  first | tac | ... runs each tac until one succeeds, or else fails.

                                                                                                                                                  Equations
                                                                                                                                                    Instances For

                                                                                                                                                      try tac runs tac and succeeds even if tac failed.

                                                                                                                                                      Equations
                                                                                                                                                        Instances For

                                                                                                                                                          fail_if_success t fails if the tactic t succeeds.

                                                                                                                                                          Equations
                                                                                                                                                            Instances For

                                                                                                                                                              admit is a synonym for sorry.

                                                                                                                                                              Equations
                                                                                                                                                                Instances For

                                                                                                                                                                  fail msg is a tactic that always fails, and produces an error using the given message.

                                                                                                                                                                  Equations
                                                                                                                                                                    Instances For

                                                                                                                                                                      repeat tac repeatedly applies tac so long as it succeeds. The tactic tac may be a tactic sequence, and if tac fails at any point in its execution, repeat will revert any partial changes that tac made to the tactic state. The tactic tac should eventually fail, otherwise repeat tac will run indefinitely.

                                                                                                                                                                      Equations
                                                                                                                                                                        Instances For

                                                                                                                                                                          rename_i x_1 ... x_n renames the last n inaccessible names using the given names.

                                                                                                                                                                          Equations
                                                                                                                                                                            Instances For

                                                                                                                                                                              expose_names renames all inaccessible variables with accessible names, making them available for reference in generated tactics. However, this renaming introduces machine-generated names that are not fully under user control. expose_names is primarily intended as a preamble for generated grind tactic scripts.

                                                                                                                                                                              Equations
                                                                                                                                                                                Instances For

                                                                                                                                                                                  set_option opt val in tacs (the tactic) acts like set_option opt val at the command level, but it sets the option only within the tactics tacs.

                                                                                                                                                                                  Equations
                                                                                                                                                                                    Instances For

                                                                                                                                                                                      set_config configItem+ in tacs executes tacs with the updated configuration options configItem+

                                                                                                                                                                                      Equations
                                                                                                                                                                                        Instances For

                                                                                                                                                                                          Proves <term> using the current grind state and default search strategy.

                                                                                                                                                                                          Equations
                                                                                                                                                                                            Instances For

                                                                                                                                                                                              Adds new case-splits using model-based theory combination.

                                                                                                                                                                                              Equations
                                                                                                                                                                                                Instances For