Documentation

Duper.Clause

structure Duper.Lit :
Instances For
    Equations
    Instances For
      Equations
      Instances For
        Equations
        Instances For
          inductive Duper.LitSide :
          Instances For
            Equations
            Instances For
              Equations
              Instances For
                structure Duper.LitPos :
                Instances For
                  Equations
                  Instances For
                    Equations
                    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
                                                                          Instances For
                                                                            Equations
                                                                            Instances For
                                                                              Instances For
                                                                                Equations
                                                                                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