Documentation

Lean.Meta.Tactic.Grind.Types

Instances For
    Instances For
      @[inline]
      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
            • 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

                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

                Instances For
                  Instances For
                    Equations
                    Equations
                    Instances For
                      Instances For
                        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
                          Instances For

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

                            Equations
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                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.
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For