Documentation

Lean.Meta.Tactic.Grind.Types

@[inline]
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Stores information for a node in the egraph. Each internalized expression e has an ENode associated with it.

  • next : Lean.Expr

    Next element in the equivalence class.

  • root : Lean.Expr

    Root (aka canonical representative) of the equivalence class

  • cgRoot : Lean.Expr

    Root of the congruence class. This is field is a don't care if e is not an application.

  • target? : Option Lean.Expr

    When e was added to this equivalence class because of an equality h : e = target, then we store target here, and h at proof?.

  • proof? : Option Lean.Expr
  • flipped : Bool

    Proof has been flipped.

  • size : Nat

    Number of elements in the equivalence class, this field is meaningless if node is not the root.

  • interpreted : Bool

    interpreted := true if node should be viewed as an abstract value.

  • ctor : Bool

    ctor := true if the head symbol is a constructor application.

  • hasLambdas : Bool

    hasLambdas := true if equivalence class contains lambda expressions.

  • heqProofs : Bool

    If heqProofs := true, then some proofs in the equivalence class are based on heterogeneous equality.

  • generation : Nat
  • mt : Nat

    Modification time

Equations
Equations
Instances For
Equations
  • Lean.Meta.Grind.instInhabitedGoal = { default := { mvarId := default, clauses := default, enodes := default, newEqs := default, inconsistent := default, gmt := default } }
Equations
  • goal.admit = goal.mvarId.admit

Returns some n if e has already been "internalized" into the Otherwise, returns nones.

Equations
Equations
  • One or more equations did not get rendered due to their size.
def Lean.Meta.Grind.mkENodeCore (e : Lean.Expr) (interpreted ctor : Bool) (generation : Nat) :
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.