File tree Expand file tree Collapse file tree 2 files changed +19
-20
lines changed
Expand file tree Collapse file tree 2 files changed +19
-20
lines changed Original file line number Diff line number Diff line change @@ -65,13 +65,13 @@ protected def GoalDiff.empty (oldGoal newGoal : MVarId) : GoalDiff := {
6565def isRPINFEqual (goal₁ goal₂ : MVarId) (e₁ e₂ : Expr) : BaseM Bool :=
6666 return (← goal₁.withContext $ rpinf e₁) == (← goal₂.withContext $ rpinf e₂)
6767
68- def isRPINFEqualLDecl (goal₁ goal₂ : MVarId) :
69- ( ldecl₁ ldecl₂ : LocalDecl) → BaseM Bool
70- | .cdecl (type := type₁) .., .cdecl (type := type₂) .. =>
71- isRPINFEqual goal₁ goal₂ type₁ type₂
72- | .ldecl (type := type₁) (value := value₁) .., .ldecl (type := type₂) (value := value₂) .. =>
73- isRPINFEqual goal₁ goal₂ type₁ type₂ <&&>
74- isRPINFEqual goal₁ goal₂ value₁ value₂
68+ def isRPINFEqualLDecl (goal₁ goal₂ : MVarId) (ldecl₁ ldecl₂ : LocalDecl) : BaseM Bool :=
69+ match ldecl₁.isLet, ldecl₂.isLet with
70+ | false , false =>
71+ isRPINFEqual goal₁ goal₂ ldecl₁. type ldecl₂.type
72+ | true , true =>
73+ isRPINFEqual goal₁ goal₂ ldecl₁. type ldecl₂.type <&&>
74+ isRPINFEqual goal₁ goal₂ ldecl₁. value ldecl₂.value
7575 | _, _ => return false
7676
7777def getNewFVars (oldGoal newGoal : MVarId) (oldLCtx newLCtx : LocalContext) :
Original file line number Diff line number Diff line change @@ -281,19 +281,18 @@ mutual
281281 | _, _ => return false
282282
283283 @[specialize]
284- unsafe def localDeclsEqualUpToIdsCore :
285- LocalDecl → LocalDecl → ReaderT GoalContext EqualUpToIdsM Bool
286- | .cdecl _ _ userName₁ type₁ bi₁ kind₁,
287- .cdecl _ _ userName₂ type₂ bi₂ kind₂ =>
288- pure (namesEqualUpToMacroScopes userName₁ userName₂ && bi₁ == bi₂ &&
289- kind₁ == kind₂) <&&>
290- exprsEqualUpToIdsCore₁ type₁ type₂
291- | .ldecl _ _ userName₁ type₁ v₁ _ kind₁,
292- .ldecl _ _ userName₂ type₂ v₂ _ kind₂ =>
293- pure (namesEqualUpToMacroScopes userName₁ userName₂ &&
294- kind₁ == kind₂) <&&>
295- exprsEqualUpToIdsCore₁ type₁ type₂ <&&>
296- exprsEqualUpToIdsCore₁ v₁ v₂
284+ unsafe def localDeclsEqualUpToIdsCore (ldecl₁ ldecl₂ : LocalDecl) :
285+ ReaderT GoalContext EqualUpToIdsM Bool :=
286+ match ldecl₁.isLet, ldecl₂.isLet with
287+ | false , false =>
288+ pure (namesEqualUpToMacroScopes ldecl₁.userName ldecl₂.userName && ldecl₁.binderInfo == ldecl₂.binderInfo &&
289+ ldecl₁.kind == ldecl₂.kind) <&&>
290+ exprsEqualUpToIdsCore₁ ldecl₁.type ldecl₂.type
291+ | true , true =>
292+ pure (namesEqualUpToMacroScopes ldecl₁.userName ldecl₂.userName &&
293+ ldecl₁.kind == ldecl₂.kind) <&&>
294+ exprsEqualUpToIdsCore₁ ldecl₁.type ldecl₂.type <&&>
295+ exprsEqualUpToIdsCore₁ ldecl₁.value ldecl₂.value
297296 | _, _ => return false
298297
299298 @[specialize]
You can’t perform that action at this time.
0 commit comments