Equations
- Duper.instBEqMClause = { beq := Duper.beqMClause✝ }
Equations
- Duper.instHashableMClause = { hash := Duper.hashMClause✝ }
Equations
Instances For
Equations
Instances For
Equations
- Duper.MClause.fromExpr e = { lits := (Duper.MClause.fromExpr.litsFromExpr e).toArray }
Instances For
Equations
- Duper.MClause.fromExpr.litsFromExpr (((Lean.Expr.const `Or us).app litexpr).app other) = Duper.Lit.fromExpr litexpr :: Duper.MClause.fromExpr.litsFromExpr other
- Duper.MClause.fromExpr.litsFromExpr (Lean.Expr.const `False us) = []
- Duper.MClause.fromExpr.litsFromExpr x✝ = [Duper.Lit.fromExpr x✝]
Instances For
Equations
- Duper.MClause.map f c = { lits := Array.map (fun (l : Duper.Lit) => Duper.Lit.map f l) c.lits }
Instances For
Equations
- Duper.MClause.mapM f c = do let __do_lift ← Array.mapM (fun (l : Duper.Lit) => Duper.Lit.mapM f l) c.lits pure { lits := __do_lift }
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
Instances For
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 ClausePos 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
Instances For
Equations
- Duper.MClause.eraseIdx i c = { lits := c.lits.eraseIdxIfInBounds i }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns the list of minimal literal indices that satisfy the provided filter_fn
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns the list of maximal literal indices that satisfy the provided filter_fn
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns the list of literals (that satisfy the provided filter_fn) for which the size difference between the lhs and rhs is maximal. Note: For getMaxDiffLits, the filter_fn takes in both the lit and its index because filtering by index is more convenient for some selection functions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Determines whether c.lits[idx]! is maximal in c. If strict is set to true, then there can be no idx' such that c.lits[idx]! and c.lits[idx']! are evaluated as equal by the comparison function
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns true if there may be some assignment in which the given idx is maximal, and false if there is some idx' that is strictly greater than idx (in this case, since idx < idx', for any subsitution σ, idx σ < idx' σ so idx can never be maximal)
Note that for this function, strictness does not actually matter, because regardless of whether we are considering potential strict maximality or potential nonstrict maximality, we can only determine that idx can never be maximal if we find an idx' that is strictly gerater than it
Equations
- One or more equations did not get rendered due to their size.