- 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
?xin one of them and a subexpressionein the other (at the same position), we consider?xequal 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
@[instance_reducible, always_inline]
def Aesop.EqualUpToIdsM.run' {α : Type} (x : EqualUpToIdsM α) (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (allowAssignmentDiff : Bool) :
Lean.MetaM (α × State)
Instances For
def Aesop.EqualUpToIdsM.run {α : Type} (x : EqualUpToIdsM α) (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (allowAssignmentDiff : Bool) :
Instances For
@[inline]
Instances For
@[specialize #[]]
Instances For
@[specialize #[]]
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 #[]]
Instances For
@[implemented_by Aesop.EqualUpToIds.Unsafe.levelsEqualUpToIdsCore]
@[reducible, inline]
Instances For
@[specialize #[]]
Instances For
@[specialize #[]]
Instances For
@[specialize #[]]
Instances For
@[specialize #[]]
unsafe def Aesop.EqualUpToIds.Unsafe.localContextsEqualUpToIdsCore (lctx₁ lctx₂ : Lean.LocalContext) (localInstances₁ localInstances₂ : Lean.LocalInstances) :
Instances For
@[specialize #[]]
unsafe def Aesop.EqualUpToIds.Unsafe.unassignedMVarsEqualUpToIdsCore (mvarId₁ mvarId₂ : Lean.MVarId) :
Instances For
@[implemented_by Aesop.EqualUpToIds.Unsafe.exprsEqualUpToIdsCore₁]
@[implemented_by Aesop.EqualUpToIds.Unsafe.unassignedMVarsEqualUpToIdsCore]
@[specialize #[]]
Instances For
def Aesop.exprsEqualUpToIds (mctx₁ mctx₂ : Lean.MetavarContext) (lctx₁ lctx₂ : Lean.LocalContext) (localInstances₁ localInstances₂ : Lean.LocalInstances) (e₁ e₂ : Lean.Expr) (allowAssignmentDiff : Bool := false) :
Instances For
Instances For
def Aesop.unassignedMVarsEqualUptoIds (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (mvarId₁ mvarId₂ : Lean.MVarId) (allowAssignmentDiff : Bool := false) :
Instances For
def Aesop.unassignedMVarsEqualUptoIds' (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (mvarId₁ mvarId₂ : Lean.MVarId) (allowAssignmentDiff : Bool := false) :
Instances For
def Aesop.tacticStatesEqualUpToIds (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (goals₁ goals₂ : Array Lean.MVarId) (allowAssignmentDiff : Bool := false) :
Instances For
def Aesop.tacticStatesEqualUpToIds' (commonMCtx? : Option Lean.MetavarContext) (mctx₁ mctx₂ : Lean.MetavarContext) (goals₁ goals₂ : Array Lean.MVarId) (allowAssignmentDiff : Bool := false) :