Documentation

Duper.RuleM

Instances For
    Equations
    Instances For
      Instances For
        Instances For
          @[reducible, inline]

          Takes: Proofs of the parent clauses, ProofParent information, the transported Expressions (which will be turned into bvars in the clause) introduced by the rule, and the target clause

          Equations
          Instances For
            Instances For
              Equations
              Instances For
                Instances For
                  Instances For
                    Equations
                    Instances For
                      Instances For
                        @[inline]
                        def Duper.RuleM.RuleM.run {α : Type} (x : RuleM α) (ctx : Context) (s : State) :
                        Equations
                        Instances For
                          @[inline]
                          def Duper.RuleM.RuleM.run' {α : Type} (x : RuleM α) (ctx : Context) (s : State) :
                          Equations
                          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
                                      Equations
                                      Instances For

                                        Runs x and only modifes the MCtx if the first argument returned by x is true (on failure, does not modify MCtx)

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

                                          Runs x and only modifies loadedClauses if the first argument returned by x is true (on failure, does not modify loadedClauses)

                                          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.RuleM.replace (e target replacement : Lean.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

                                                  Suppose c : Clause = ⟨bs, ls⟩, (mVars, m) ← loadClauseCore c then m = c.instantiateRev mVars m ≝ mkAppN c.toForallExpr mVars

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

                                                      Does the same thing as loadClauseCore but adds c to inhabitationClauses rather than loadedClauses

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

                                                        Does the same thing as loadClause but adds c to inhabitationClauses rather than loadedClauses

                                                        Equations
                                                        Instances For

                                                          Returns the MClause that would be returned by calling loadClause c and the Clause × Array MVarId pair that would be added to loadedClauses if loadClause c were called, but does not actually change the set of loaded clauses. The purpose of this function is to process a clause and turn it into an MClause while delaying the decision of whether to actually load it

                                                          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.RuleM.yieldClause (mc : MClause) (ruleName : String) (mkProof : Option ProofReconstructor) (transferExprs : Array Lean.Expr := #[]) (mvarIdsToRemove : List Lean.MVarId := []) :
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  def Duper.RuleM.compare (s t : Lean.Expr) (alreadyReduced : Bool) :
                                                                  Equations
                                                                  Instances For