File: .lake/packages/lean4/src/lean/Lean/Compiler/LCNF/Probing.lean

full_name: Lean.Compiler.LCNF.Probe
code: abbrev Probe α β 
goal: Type u_1

full_name: Lean.Compiler.LCNF.Probe.map
code: @[inline]
def map (f : α → CompilerM β) : Probe α β 
goal: Lean.Compiler.LCNF.Probe α β

full_name: Lean.Compiler.LCNF.Probe.filter
code: @[inline]
def filter (f : α → CompilerM Bool) : Probe α α 
goal: Lean.Compiler.LCNF.Probe α α

full_name: Lean.Compiler.LCNF.Probe.sorted
code: @[inline]
def sorted [Inhabited α] [inst : LT α] [DecidableRel inst.lt] : Probe α α 
goal: Lean.Compiler.LCNF.Probe α α

full_name: Lean.Compiler.LCNF.Probe.sortedBySize
code: @[inline]
def sortedBySize : Probe Decl (Nat × Decl) 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl (Nat × Lean.Compiler.LCNF.Decl)

full_name: Lean.Compiler.LCNF.Probe.countUnique
code: def countUnique [ToString α] [BEq α] [Hashable α] : Probe α (α × Nat) 
goal: Lean.Compiler.LCNF.Probe α (α × Nat)

full_name: Lean.Compiler.LCNF.Probe.countUniqueSorted
code: @[inline]
def countUniqueSorted [ToString α] [BEq α] [Hashable α] [Inhabited α] : Probe α (α × Nat) 
goal: Lean.Compiler.LCNF.Probe α (α × Nat)

full_name: Lean.Compiler.LCNF.Probe.getLetValues.start
code: partial def getLetValues : Probe Decl LetValue 
goal: StateRefT' IO.RealWorld (Array Lean.Compiler.LCNF.LetValue) Lean.Compiler.LCNF.CompilerM Unit

full_name: Lean.Compiler.LCNF.Probe.getLetValues
code: partial def getLetValues : Probe Decl LetValue 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.LetValue

full_name: Lean.Compiler.LCNF.Probe.getLetValues.go
code: partial def getLetValues : Probe Decl LetValue 
goal: StateRefT' IO.RealWorld (Array Lean.Compiler.LCNF.LetValue) Lean.Compiler.LCNF.CompilerM Unit

full_name: Lean.Compiler.LCNF.Probe.getJps.start
code: partial def getJps : Probe Decl FunDecl 
goal: StateRefT' IO.RealWorld (Array Lean.Compiler.LCNF.FunDecl) Lean.Compiler.LCNF.CompilerM Unit

full_name: Lean.Compiler.LCNF.Probe.getJps.go
code: partial def getJps : Probe Decl FunDecl 
goal: StateRefT' IO.RealWorld (Array Lean.Compiler.LCNF.FunDecl) Lean.Compiler.LCNF.CompilerM Unit

full_name: Lean.Compiler.LCNF.Probe.getJps
code: partial def getJps : Probe Decl FunDecl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.FunDecl

full_name: Lean.Compiler.LCNF.Probe.filterByLet
code: partial def filterByLet (f : LetDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByLet.go
code: partial def filterByLet (f : LetDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByFun.go
code: partial def filterByFun (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByFun
code: partial def filterByFun (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByJp.go
code: partial def filterByJp (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByJp
code: partial def filterByJp (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByFunDecl.go
code: partial def filterByFunDecl (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByFunDecl
code: partial def filterByFunDecl (f : FunDecl → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByCases.go
code: partial def filterByCases (f : Cases → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByCases
code: partial def filterByCases (f : Cases → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByJmp.go
code: partial def filterByJmp (f : FVarId → Array Arg → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByJmp
code: partial def filterByJmp (f : FVarId → Array Arg → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByReturn
code: partial def filterByReturn (f : FVarId → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.filterByReturn.go
code: partial def filterByReturn (f : FVarId → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByUnreach.go
code: partial def filterByUnreach (f : Expr → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Code → Lean.Compiler.LCNF.CompilerM Bool

full_name: Lean.Compiler.LCNF.Probe.filterByUnreach
code: partial def filterByUnreach (f : Expr → CompilerM Bool) : Probe Decl Decl 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Decl

full_name: Lean.Compiler.LCNF.Probe.declNames
code: @[inline]
def declNames : Probe Decl Name 
goal: Lean.Compiler.LCNF.Probe Lean.Compiler.LCNF.Decl Lean.Name

full_name: Lean.Compiler.LCNF.Probe.toString
code: @[inline]
def toString [ToString α] : Probe α String 
goal: Lean.Compiler.LCNF.Probe α String

full_name: Lean.Compiler.LCNF.Probe.count
code: @[inline]
def count : Probe α Nat 
goal: Lean.Compiler.LCNF.Probe α Nat

full_name: Lean.Compiler.LCNF.Probe.sum
code: @[inline]
def sum : Probe Nat Nat 
goal: Lean.Compiler.LCNF.Probe Nat Nat

full_name: Lean.Compiler.LCNF.Probe.tail
code: @[inline]
def tail (n : Nat) : Probe α α 
goal: Lean.Compiler.LCNF.Probe α α

full_name: Lean.Compiler.LCNF.Probe.head
code: @[inline]
def head (n : Nat) : Probe α α 
goal: Lean.Compiler.LCNF.Probe α α

full_name: Lean.Compiler.LCNF.Probe.runOnModule
code: def runOnModule (moduleName : Name) (probe : Probe Decl β) (phase : Phase := Phase.base): CoreM (Array β) 
goal: Lean.CoreM (Array β)

full_name: Lean.Compiler.LCNF.Probe.runGlobally
code: def runGlobally (probe : Probe Decl β) (phase : Phase := Phase.base) : CoreM (Array β) 
goal: Lean.CoreM (Array β)

full_name: Lean.Compiler.LCNF.Probe.toPass
code: def toPass [ToString β] (probe : Probe Decl β) (phase : Phase) : Pass 
goal: Lean.Compiler.LCNF.Pass

full_name: Lean.Compiler.LCNF.Probe.initFn._@..lake.packages.lean4.src.lean.Lean.Compiler.LCNF.Probing._hyg.2885
code: builtin_initialize
  registerTraceClass `Compiler.probe (inherited := true)
goal: IO Unit