Documentation

Duper.Rules.DatatypeAcyclicity

Produces a list of (possibly duplicate) constructor subterms for e

Returns none if lit does not compare constructor subterms, and returns some litside if lit.litside is a subterm of the constructor it is being compared to. Note that lit.litside may not itself be a constructor (e.g. xs is a constructor subterm of x :: xs)

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Duper.mkDatatypeAcyclicityProof (removedLitNum : Nat) (litSide : LitSide) (premises : List Lean.Expr) (parents : List RuleM.ProofParent) (transferExprs : Array Lean.Expr) (c : Clause) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Implements the acyclicity rules described in section 6.4 of https://arxiv.org/pdf/1611.02908

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