Documentation

Duper.Util.Misc

def List.subsequences {α : Type u_1} (xs : List α) :
List (List α)
Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        Equations
        Instances For

          Given e of the form forall (a_1 : A_1) ... (a_n : A_n), B[a_1, ..., a_n] and p_1 : A_1, ... p_n : A_n, return B[p_1, ..., p_n].

          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                noncomputable def getInstanceFromLeftNonemptyFact {t : Sort u_1} (nonemptyFact : Nonempty t = True) :
                t
                Equations
                Instances For
                  noncomputable def getInstanceFromRightNonemptyFact {t : Sort u_1} (nonemptyFact : True = Nonempty t) :
                  t
                  Equations
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Lean.Meta.findInstance.simpleApply (lemmaProof goal : Expr) (fvars : Array Expr) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            partial def getArity (e : Lean.Expr) :

                            Returns the arity of e

                            Abstracts occurences of p in e. Previously, Meta.kabstract was used for this purpose, but because Meta.kabstract invokes definitional equality, there were some instances in which Meta.kabstract performed an abstraction at a position where RuleM.replace would not perform a replacement. This was an issue because it created inconsistencies between the clauses produced by superposition's main code and proof reconstruction.

                            abstractAtExpr is written to follow the implementation of Meta.kabstract without invoking definitional equality (instead testing for equality after instantiating metavariables).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Lean.Meta.abstractAtExpr.visit (occs : Occurrences := Occurrences.all) (p : Expr) (pHeadIdx : HeadIndex) (pNumArgs : Nat) (e : Expr) (offset : Nat) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For