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

        Rewrite an initialized fixed point to its parameterized form while preserving the complete-lattice instance already present in the goal.

        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