@[inline]
def
Lean.Compiler.atMostOnce.seq
(f : Lean.Compiler.atMostOnce.Visitor)
(g : Lean.Compiler.atMostOnce.Visitor)
:
Equations
- Lean.Compiler.atMostOnce.seq f g d = match f d with | { found := found, result := false } => { found := found, result := false } | other => g other
Instances For
Equations
- One or more equations did not get rendered due to their size.
@[inline]
Equations
Instances For
@[inline]
Equations
- Lean.Compiler.atMostOnce.visitFVar x y { found := found, result := false } = { found := found, result := false }
- Lean.Compiler.atMostOnce.visitFVar x y { found := false, result := true } = { found := x == y, result := true }
- Lean.Compiler.atMostOnce.visitFVar x y { found := true, result := true } = { found := true, result := x != y }
Instances For
Instances For
@[export lean_at_most_once]
Return true iff the free variable with id x
occurs at most once in e
Equations
- Lean.Compiler.atMostOnce e x = match Lean.Compiler.atMostOnce.visit x e { found := false, result := true } with | { found := found, result := result } => result