Equations
Instances For
Equations
Instances For
- lhs : Grind.AC.Seq
- rhs : Grind.AC.Seq
- h : EqCnstrProof
- id : Nat
Instances For
- core (a b : Expr) (ea eb : Grind.AC.Expr) : EqCnstrProof
- erase_dup (c : EqCnstr) : EqCnstrProof
- erase0 (c : EqCnstr) : EqCnstrProof
- swap (c : EqCnstr) : EqCnstrProof
- simp_exact (lhs : Bool) (c₁ c₂ : EqCnstr) : EqCnstrProof
- simp_ac (lhs : Bool) (s : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- simp_suffix (lhs : Bool) (s : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- simp_prefix (lhs : Bool) (s : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- simp_middle (lhs : Bool) (s₁ s₂ : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- superpose_ac (r₁ c r₂ : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- superpose (p s c : Grind.AC.Seq) (c₁ c₂ : EqCnstr) : EqCnstrProof
- superpose_ac_idempotent (x : Grind.AC.Var) (c₁ : EqCnstr) : EqCnstrProof
- superpose_head_idempotent (x : Grind.AC.Var) (c₁ : EqCnstr) : EqCnstrProof
- superpose_tail_idempotent (x : Grind.AC.Var) (c₁ : EqCnstr) : EqCnstrProof
- refl (s : Grind.AC.Seq) : EqCnstrProof
- erase_dup_rhs (c : EqCnstr) : EqCnstrProof
- erase0_rhs (c : EqCnstr) : EqCnstrProof
Instances For
Equations
Equations
Instances For
- lhs : Grind.AC.Seq
- rhs : Grind.AC.Seq
- h : DiseqCnstrProof
Instances For
- core (a b : Expr) (ea eb : Grind.AC.Expr) : DiseqCnstrProof
- erase_dup (c : DiseqCnstr) : DiseqCnstrProof
- erase0 (c : DiseqCnstr) : DiseqCnstrProof
- simp_exact (lhs : Bool) (c₁ : EqCnstr) (c₂ : DiseqCnstr) : DiseqCnstrProof
- simp_ac (lhs : Bool) (s : Grind.AC.Seq) (c₁ : EqCnstr) (c₂ : DiseqCnstr) : DiseqCnstrProof
- simp_suffix (lhs : Bool) (s : Grind.AC.Seq) (c₁ : EqCnstr) (c₂ : DiseqCnstr) : DiseqCnstrProof
- simp_prefix (lhs : Bool) (s : Grind.AC.Seq) (c₁ : EqCnstr) (c₂ : DiseqCnstr) : DiseqCnstrProof
- simp_middle (lhs : Bool) (s₁ s₂ : Grind.AC.Seq) (c₁ : EqCnstr) (c₂ : DiseqCnstr) : DiseqCnstrProof
Instances For
- id : Nat
- type : Expr
- u : Level
Cached
getLevel type - op : Expr
- assocInst : Expr
- nextId : Nat
Next unique id for
EqCnstrs. Mapping from variables to their denotations. Remark each variable can be in only one ring.
- varMap : PHashMap ExprPtr Grind.AC.Var
Mapping from
Exprto a variable representing it. - denote : PHashMap ExprPtr Grind.AC.Expr
Mapping from Lean expressions to their representations as
AC.Expr - denoteEntries : PArray (Expr × Grind.AC.Expr)
denoteEntriesisdenoteas aPArrayfor deterministic traversal. - queue : Queue
Equations to process.
Processed equations.
- diseqs : PArray DiseqCnstr
Disequalities.
- recheck : Bool
If
recheckistrue, then new equalities have been added to the basis since we checked disequalities and implied equalities.
Instances For
Equations
State for all associative operators detected by grind.
Structures/operators detected. We expect to find a small number of associative operators in a given goal. Thus, using
Arrayis fine here.Mapping from expressions/terms to their structure ids. Recall that term may be the argument of different operators.
- steps : Nat