File: .lake/packages/aesop/Aesop/Rule/Name.lean

full_name: Aesop.PhaseName
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Type

full_name: Aesop.PhaseName.unsafe
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Aesop.PhaseName

full_name: Aesop.PhaseName.safe
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Aesop.PhaseName

full_name: Aesop.instHashablePhaseName
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Hashable Aesop.PhaseName

full_name: Aesop.instInhabitedPhaseName
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Inhabited Aesop.PhaseName

full_name: Aesop.PhaseName.norm
code: inductive PhaseName
  | norm
  | safe
  | «unsafe»
  deriving Inhabited, BEq, Hashable
goal: Aesop.PhaseName

full_name: Aesop.instBEqPhaseName
code: BEq
goal: BEq Aesop.PhaseName

full_name: Aesop.PhaseName.instOrd
code: instance : Ord PhaseName 
goal: Ord Aesop.PhaseName

full_name: Aesop.PhaseName.instToString
code: instance : ToString PhaseName 
goal: ToString Aesop.PhaseName

full_name: Aesop.ScopeName
code: inductive ScopeName
  | global
  | «local»
  deriving Inhabited, BEq, Hashable
goal: Type

full_name: Aesop.instHashableScopeName
code: inductive ScopeName
  | global
  | «local»
  deriving Inhabited, BEq, Hashable
goal: Hashable Aesop.ScopeName

full_name: Aesop.ScopeName.global
code: inductive ScopeName
  | global
  | «local»
  deriving Inhabited, BEq, Hashable
goal: Aesop.ScopeName

full_name: Aesop.instInhabitedScopeName
code: inductive ScopeName
  | global
  | «local»
  deriving Inhabited, BEq, Hashable
goal: Inhabited Aesop.ScopeName

full_name: Aesop.ScopeName.local
code: inductive ScopeName
  | global
  | «local»
  deriving Inhabited, BEq, Hashable
goal: Aesop.ScopeName

full_name: Aesop.instBEqScopeName
code: BEq
goal: BEq Aesop.ScopeName

full_name: Aesop.ScopeName.instOrd
code: instance : Ord ScopeName 
goal: Ord Aesop.ScopeName

full_name: Aesop.ScopeName.instToString
code: instance : ToString ScopeName 
goal: ToString Aesop.ScopeName

full_name: Aesop.BuilderName.cases
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.constructors
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.simp
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.unfold
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.destruct
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.forward
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.instHashableBuilderName
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Hashable Aesop.BuilderName

full_name: Aesop.BuilderName.apply
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.BuilderName.tactic
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Aesop.BuilderName

full_name: Aesop.instInhabitedBuilderName
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Inhabited Aesop.BuilderName

full_name: Aesop.BuilderName
code: inductive BuilderName
  | apply
  | cases
  | constructors
  | destruct
  | forward
  | simp
  | tactic
  | unfold
  deriving Inhabited, BEq, Hashable
goal: Type

full_name: Aesop.instBEqBuilderName
code: BEq
goal: BEq Aesop.BuilderName

full_name: Aesop.BuilderName.instOrd
code: instance : Ord BuilderName 
goal: Ord Aesop.BuilderName

full_name: Aesop.BuilderName.instToString
code: instance : ToString BuilderName 
goal: ToString Aesop.BuilderName

full_name: Aesop.RuleName.name
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Lean.Name

full_name: Aesop.RuleName.phase
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Aesop.PhaseName

full_name: Aesop.RuleName.scope
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Aesop.ScopeName

full_name: Aesop.RuleName.builder
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Aesop.BuilderName

full_name: Aesop.instInhabitedRuleName
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Inhabited Aesop.RuleName

full_name: Aesop.RuleName.hash
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: UInt64

full_name: Aesop.RuleName
code: structure RuleName where
  name : Name
  builder : BuilderName
  phase : PhaseName
  scope : ScopeName
  protected hash : UInt64 :=
    mixHash (hash name) $ mixHash (hash builder) $ mixHash (hash phase)
      (hash scope)
  deriving Inhabited
goal: Type

full_name: Aesop.RuleName.instHashable
code: instance : Hashable RuleName 
goal: Hashable Aesop.RuleName

full_name: Aesop.RuleName.instBEq
code: instance : BEq RuleName 
goal: BEq Aesop.RuleName

full_name: Aesop.RuleName.compare
code: protected def compare : (_ _ : RuleName) → Ordering 
goal: Aesop.RuleName → Aesop.RuleName → Ordering

full_name: Aesop.RuleName.quickCompare
code: protected def quickCompare (n₁ n₂ : RuleName) : Ordering 
goal: Ordering

full_name: Aesop.RuleName.instOrd
code: instance : Ord RuleName 
goal: Ord Aesop.RuleName

full_name: Aesop.RuleName.instToString
code: instance : ToString RuleName 
goal: ToString Aesop.RuleName

full_name: Aesop.getRuleNameForExpr
code: def getRuleNameForExpr : Expr → MetaM Name
  
goal: Lean.Expr → Lean.MetaM Lean.Name

full_name: Aesop.instOrdDisplayRuleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Ord Aesop.DisplayRuleName

full_name: Aesop.instInhabitedDisplayRuleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Inhabited Aesop.DisplayRuleName

full_name: Aesop.instHashableDisplayRuleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Hashable Aesop.DisplayRuleName

full_name: Aesop.DisplayRuleName.normSimp
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Aesop.DisplayRuleName

full_name: Aesop.DisplayRuleName.normUnfold
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Aesop.DisplayRuleName

full_name: Aesop.DisplayRuleName.ruleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Aesop.DisplayRuleName

full_name: Aesop.instBEqDisplayRuleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: BEq Aesop.DisplayRuleName

full_name: Aesop.DisplayRuleName
code: inductive DisplayRuleName
  | ruleName (n : RuleName)
  | normSimp
  | normUnfold
  deriving Inhabited, BEq, Ord, Hashable
goal: Type

full_name: Aesop.DisplayRuleName.instCoeRuleName
code: instance : Coe RuleName DisplayRuleName 
goal: Coe Aesop.RuleName Aesop.DisplayRuleName

full_name: Aesop.DisplayRuleName.instToString
code: instance : ToString DisplayRuleName 
goal: ToString Aesop.DisplayRuleName