@[reducible, inline]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
- op: Lean.Meta.AC.PreExpr → Lean.Meta.AC.PreExpr → Lean.Meta.AC.PreExpr
- var: Lean.Expr → Lean.Meta.AC.PreExpr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Instances For
def
Lean.Meta.AC.abstractAtoms
(preContext : Lean.Meta.AC.PreContext)
(atoms : Array Lean.Expr)
(k : Array (Lean.Expr × Option Lean.Expr) → Lean.MetaM Lean.Expr)
:
In order to prevent the kernel trying to reduce the atoms of the expression, we abstract the proof
over them. But ac_rfl
proofs are not completely abstract in the value of the atoms – it recognizes
neutral elements. So we have to abstract over these proofs as well.
Equations
- Lean.Meta.AC.abstractAtoms preContext atoms k = do let α ← Lean.Meta.inferType atoms[0]! let u ← Lean.Meta.getLevel α Lean.Meta.AC.abstractAtoms.go preContext atoms k α u 0 #[] #[] #[]
Instances For
@[irreducible]
def
Lean.Meta.AC.abstractAtoms.go
(preContext : Lean.Meta.AC.PreContext)
(atoms : Array Lean.Expr)
(k : Array (Lean.Expr × Option Lean.Expr) → Lean.MetaM Lean.Expr)
(α : Lean.Expr)
(u : Lean.Level)
(i : Nat)
(acc : Array (Lean.Expr × Option Lean.Expr))
(vars args : Array Lean.Expr)
:
Instances For
Instances For
def
Lean.Meta.AC.buildNormProof.mkContext
(preContext : Lean.Meta.AC.PreContext)
(α : Lean.Expr)
(u : Lean.Level)
(vars : Array (Lean.Expr × Option Lean.Expr))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.AC.buildNormProof.convertTarget
(preContext : Lean.Meta.AC.PreContext)
(vars : Array Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.AC.buildNormProof.convertTarget preContext vars (Lean.Data.AC.Expr.var x_1) = vars[x_1]!
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.AC.rewriteUnnormalizedRefl goal = do let __do_lift ← Lean.Meta.AC.rewriteUnnormalized goal __do_lift.refl
Instances For
Equations
- Lean.Meta.AC.acRflTactic x = do let goal ← Lean.Elab.Tactic.getMainGoal goal.withContext (liftM (Lean.Meta.AC.rewriteUnnormalizedRefl goal))
Instances For
Instances For
Implementation of the ac_nf
tactic when operating on the main goal.
Instances For
Implementation of the ac_nf
tactic when operating on a hypothesis.
Equations
- Lean.Meta.AC.acNfHypTactic fvarId = Lean.Elab.Tactic.liftMetaTactic1 fun (goal : Lean.MVarId) => Lean.Meta.AC.acNfHypMeta goal fvarId
Instances For
Equations
- One or more equations did not get rendered due to their size.