Documentation

LeanPool.Lean4Itree.Paco.PacoTactics

Parameterized-coinduction tactics #

The elaborators, macros and syntax that drive parameterized-coinduction proofs (pinit, pcofix, pfold, punfold, pcases, pleft/pright, pmon, ptop, ...). These act on goals phrased with the parameterized least fixed point plfp and its accumulation principle plfp_acc from PacoDefs.

def Lean.MVarId.introFact (mvarId : MVarId) (fact : Expr) :

introduce a new fact, given the witness for that fact

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Introduce a new fact, and a new goal to prove that fact the new goal is the first return value.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Initialise a parameterized-coinduction proof: mark the context and unfold the goal's lfp_monotone fixed point so the Paco combinators can act on it.

      Equations
      Instances For

        Introduce the plfp_acc accumulation hypothesis for the current goal, threading the goal's complete-lattice instance and monotonicity proof.

        Equations
        Instances For

          Repackage the coinduction goal into the existential relation expected by the accumulation hypothesis, producing the obligation, converter and main subgoals.

          Equations
          Instances For

            Split the most recently introduced hypothesis, which must be a conjunction, into its two components and clear the original.

            Equations
            Instances For

              The Paco coinduction tactic: starts a parameterized-coinduction proof and introduces the coinduction hypothesis under the name cih.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Unfold the parameterized least fixed point once in the goal.

                Equations
                Instances For

                  Unfold the parameterized least fixed point once in a hypothesis.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Initialise a parameterized-coinduction proof from a fixed-point hypothesis h.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Clear the residual ⊤ₚ meet from a uplfp hypothesis, leaving the plain parameterized fixed point.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Introduce the disjunction lemma uplfp_goal for the current uplfp goal, threading the goal's complete-lattice instance.

                        Equations
                        Instances For

                          Discharge a uplfp goal by choosing its left (r) disjunct.

                          Equations
                          Instances For

                            Discharge a uplfp goal by choosing its right (plfp) disjunct.

                            Equations
                            Instances For

                              Prepare a uplfp hypothesis for case analysis by exposing the underlying disjunction r ∨ plfp f r.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                Apply the disjunction prepared by pcasesPrepare to the hypothesis h.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Rewrite a uplfp f r hypothesis into the disjunction r ∨ plfp f r.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    Reduce a plfp goal using monotonicity of the parameterized least fixed point.

                                    Equations
                                    Instances For

                                      Close a goal of the form x ⊑ ⊤ₚ using the top-element specification.

                                      Equations
                                      Instances For