Documentation

Duper.Clause

structure Duper.Lit :
Instances For
    Equations
    inductive Duper.LitSide :
    Instances For
      Equations
      Instances For
        structure Duper.LitPos :
        Instances For
          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              Instances For
                def Duper.Lit.map (f : Lean.ExprLean.Expr) (l : Lit) :
                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
                      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 Duper.Lit.mapMByPos {m : TypeType u_1} [Monad m] [MonadLiftT Lean.MetaM m] (f : Lean.ExprArray ExprPosm Lean.Expr) (l : Lit) (poses : Array LitPos) :
                          m Lit
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Duper.Lit.mapM {m : TypeType w} [Monad m] (f : Lean.Exprm Lean.Expr) (l : Lit) :
                            m Lit
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Duper.Lit.fold {α : Type v} (f : αLean.Exprα) (init : α) (l : Lit) :
                              α
                              Equations
                              Instances For
                                def Duper.Lit.foldWithTypeM {β : Type v} {m : Type v → Type w} [Monad m] (f : βLean.Exprm β) (init : β) (l : Lit) :
                                m β
                                Equations
                                Instances For
                                  def Duper.Lit.foldM {β : Type v} {m : Type v → Type w} [Monad m] (f : βLean.ExprLitPosm β) (init : β) (l : Lit) :
                                  m β
                                  Equations
                                  Instances For
                                    def Duper.Lit.foldGreenM {m : TypeType u_1} {β : Type} [Monad m] [MonadLiftT Lean.MetaM m] (f : βLean.ExprLitPosm β) (init : β) (l : Lit) :
                                    m β
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def Duper.Lit.getAtPos! {m : TypeType u_1} [Monad m] [MonadLiftT Lean.MetaM m] (l : Lit) (pos : LitPos) :
                                      Equations
                                      Instances For
                                        def Duper.Lit.replaceAtPos? {m : TypeType u_1} [Monad m] [MonadLiftT Lean.MetaM m] (l : Lit) (pos : LitPos) (replacement : Lean.Expr) :
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          def Duper.Lit.replaceAtPos! {m : TypeType} [Monad m] [MonadLiftT Lean.MetaM m] [Lean.MonadError m] (l : Lit) (pos : LitPos) (replacement : Lean.Expr) :
                                          m Lit
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For

                                            Note : This function will throw error if pos is not a valid pos for l

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

                                              This function acts as Meta.kabstract except that it takes a LitPos rather than Occurrences and expects the given expression to consist only of applications up to the given ExprPos. Additionally, since the exact position is given, we don't need to pass in Meta.kabstract's second argument p

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                Equations
                                                Instances For
                                                  def Duper.Lit.makeLhs (lit : Lit) (side : LitSide) :
                                                  Equations
                                                  Instances For
                                                    def Duper.Lit.getSide (lit : Lit) (side : LitSide) :
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      Instances For
                                                        def Duper.Lit.compare (ord : Lean.ExprLean.ExprBoolLean.MetaM Comparison) (alreadyReduced : Bool) (l₁ l₂ : Lit) :
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          structure Duper.Clause :
                                                          Instances For
                                                            Equations
                                                            Instances For
                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                Equations
                                                                Instances For
                                                                  Equations
                                                                  Instances For
                                                                    def Duper.Clause.foldM {β : Type v} {m : Type v → Type w} [Monad m] (f : βLean.ExprClausePosm β) (init : β) (c : Clause) :
                                                                    m β
                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      Equations
                                                                      Instances For
                                                                        def Duper.Clause.mapMUpdateType {m : TypeType u_1} [instMonad : Monad m] (c : Clause) (f : Lean.Exprm Lean.Expr) :
                                                                        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
                                                                              Equations
                                                                              Instances For
                                                                                def Duper.Clause.selectionPrecedence (c : Clause) (goalDistance : Nat) :

                                                                                Determines the precedence clause c should have for clause selection. Lower values indicate higher precedence

                                                                                Equations
                                                                                Instances For