Alpha equivalence for LCNF Code
Instances For
Instances For
Instances For
def
Lean.Compiler.LCNF.AlphaEqv.eqvArg
(a₁ : Lean.Compiler.LCNF.Arg)
(a₂ : Lean.Compiler.LCNF.Arg)
:
Instances For
def
Lean.Compiler.LCNF.AlphaEqv.eqvArgs
(as₁ : Array Lean.Compiler.LCNF.Arg)
(as₂ : Array Lean.Compiler.LCNF.Arg)
:
Instances For
def
Lean.Compiler.LCNF.AlphaEqv.eqvLetValue
(e₁ : Lean.Compiler.LCNF.LetValue)
(e₂ : Lean.Compiler.LCNF.LetValue)
:
Instances For
@[inline]
def
Lean.Compiler.LCNF.AlphaEqv.withFVar
{α : Type}
(fvarId₁ : Lean.FVarId)
(fvarId₂ : Lean.FVarId)
(x : Lean.Compiler.LCNF.AlphaEqv.EqvM α)
:
Instances For
@[inline]
def
Lean.Compiler.LCNF.AlphaEqv.withParams
(params₁ : Array Lean.Compiler.LCNF.Param)
(params₂ : Array Lean.Compiler.LCNF.Param)
(x : Lean.Compiler.LCNF.AlphaEqv.EqvM Bool)
:
Instances For
@[specialize #[]]
def
Lean.Compiler.LCNF.AlphaEqv.withParams.go
(params₁ : Array Lean.Compiler.LCNF.Param)
(params₂ : Array Lean.Compiler.LCNF.Param)
(x : Lean.Compiler.LCNF.AlphaEqv.EqvM Bool)
(h : Array.size params₂ = Array.size params₁)
(i : Nat)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
partial def
Lean.Compiler.LCNF.AlphaEqv.eqvAlts
(alts₁ : Array Lean.Compiler.LCNF.Alt)
(alts₂ : Array Lean.Compiler.LCNF.Alt)
:
partial def
Lean.Compiler.LCNF.AlphaEqv.eqv
(code₁ : Lean.Compiler.LCNF.Code)
(code₂ : Lean.Compiler.LCNF.Code)
:
def
Lean.Compiler.LCNF.Code.alphaEqv
(c₁ : Lean.Compiler.LCNF.Code)
(c₂ : Lean.Compiler.LCNF.Code)
:
Return true
if c₁
and c₂
are alpha equivalent.