- commonMCtx? : Option Lean.MetavarContext
- mctx₁ : Lean.MetavarContext
- mctx₂ : Lean.MetavarContext
- allowAssignmentDiff : Bool
Allow metavariables to be unassigned on one side of the comparison and assigned on the other. So when we compare two expressions and we encounter a metavariable
?x
in one of them and a subexpressione
in the other (at the same position), we consider?x
equal toe
.
Instances For
- equalMVarIds : Std.HashMap Lean.MVarId Lean.MVarId
- equalLMVarIds : Std.HashMap Lean.LMVarId Lean.LMVarId
- leftUnassignedMVarValues : Std.HashMap Lean.MVarId Lean.Expr
A map from metavariables which are unassigned in the left goal to their corresponding expression in the right goal. Only used when
allowAssignmentDiff = true
. - rightUnassignedMVarValues : Std.HashMap Lean.MVarId Lean.Expr
A map from metavariables which are unassigned in the right goal to their corresponding expression in the left goal. Only used when
allowAssignmentDiff = true
.
Instances For
def
Aesop.EqualUpToIdsM.run'
{α : Type}
(x : EqualUpToIdsM α)
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(allowAssignmentDiff : Bool)
:
Lean.MetaM (α × State)
Equations
Instances For
def
Aesop.EqualUpToIdsM.run
{α : Type}
(x : EqualUpToIdsM α)
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(allowAssignmentDiff : Bool)
:
Equations
Instances For
@[inline]
Equations
Instances For
@[inline]
Equations
Instances For
@[inline]
Equations
Instances For
@[inline]
Equations
Instances For
@[specialize #[]]
Equations
Instances For
@[specialize #[]]
Equations
Instances For
- lctx₁ : Lean.LocalContext
- localInstances₁ : Lean.LocalInstances
- lctx₂ : Lean.LocalContext
- localInstances₂ : Lean.LocalInstances
- equalFVarIds : Std.HashMap Lean.FVarId Lean.FVarId
Instances For
- mvarId (mvarId : Lean.MVarId) : MVarValue
- expr (e : Lean.Expr) : MVarValue
- delayedAssignment (da : Lean.DelayedMetavarAssignment) : MVarValue
Instances For
@[specialize #[]]
Equations
Instances For
@[specialize #[]]
Equations
Instances For
@[implemented_by Aesop.EqualUpToIds.Unsafe.levelsEqualUpToIdsCore]
@[reducible, inline]
Equations
Instances For
@[specialize #[]]
Equations
Instances For
@[specialize #[]]
Equations
Instances For
unsafe def
Aesop.EqualUpToIds.Unsafe.exprsEqualUpToIdsCore₂.printExpr
(mctx : Lean.MetavarContext)
(lctx : Lean.LocalContext)
(localInstances : Lean.LocalInstances)
(e : Lean.Expr)
:
Equations
Instances For
@[specialize #[]]
Equations
Instances For
unsafe def
Aesop.EqualUpToIds.Unsafe.exprsEqualUpToIdsCore₃.normalizeMVar
(mctx : Lean.MetavarContext)
(m : Lean.MVarId)
:
Equations
Instances For
Equations
Instances For
@[specialize #[]]
Equations
Instances For
@[specialize #[]]
unsafe def
Aesop.EqualUpToIds.Unsafe.localContextsEqualUpToIdsCore
(lctx₁ lctx₂ : Lean.LocalContext)
(localInstances₁ localInstances₂ : Lean.LocalInstances)
:
Equations
Instances For
unsafe def
Aesop.EqualUpToIds.Unsafe.localContextsEqualUpToIdsCore.go
(decls₁ decls₂ : Array Lean.LocalDecl)
(h : decls₁.size = decls₂.size)
(i : Nat)
(gctx : GoalContext)
:
Equations
Instances For
@[specialize #[]]
unsafe def
Aesop.EqualUpToIds.Unsafe.unassignedMVarsEqualUpToIdsCore
(mvarId₁ mvarId₂ : Lean.MVarId)
:
Equations
Instances For
@[implemented_by Aesop.EqualUpToIds.Unsafe.exprsEqualUpToIdsCore₁]
@[implemented_by Aesop.EqualUpToIds.Unsafe.unassignedMVarsEqualUpToIdsCore]
@[specialize #[]]
Equations
Instances For
def
Aesop.exprsEqualUpToIds
(mctx₁ mctx₂ : Lean.MetavarContext)
(lctx₁ lctx₂ : Lean.LocalContext)
(localInstances₁ localInstances₂ : Lean.LocalInstances)
(e₁ e₂ : Lean.Expr)
(allowAssignmentDiff : Bool := false)
:
Equations
Instances For
Equations
Instances For
def
Aesop.unassignedMVarsEqualUptoIds
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(mvarId₁ mvarId₂ : Lean.MVarId)
(allowAssignmentDiff : Bool := false)
:
Equations
Instances For
def
Aesop.unassignedMVarsEqualUptoIds'
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(mvarId₁ mvarId₂ : Lean.MVarId)
(allowAssignmentDiff : Bool := false)
:
Equations
Instances For
def
Aesop.tacticStatesEqualUpToIds
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(goals₁ goals₂ : Array Lean.MVarId)
(allowAssignmentDiff : Bool := false)
:
Equations
Instances For
def
Aesop.tacticStatesEqualUpToIds'
(commonMCtx? : Option Lean.MetavarContext)
(mctx₁ mctx₂ : Lean.MetavarContext)
(goals₁ goals₂ : Array Lean.MVarId)
(allowAssignmentDiff : Bool := false)
: