14 lines
723 B
Text
14 lines
723 B
Text
-- Good hint
|
||
@[unify] def {u} cons_append_hint (α : Type u) (a b : α) (l₁ l₂ l₃: list α) : unification_hint :=
|
||
{ pattern := (a :: l₁) ++ l₂ =?= b :: l₃,
|
||
constraints := [l₃ =?= l₁ ++ l₂, a =?= b] }
|
||
|
||
-- Bad hint: pattern is incorrect
|
||
@[unify] def {u} append_cons_hint (α : Type u) (a b : α) (l₁ l₂ l₃: list α) : unification_hint :=
|
||
{ pattern := l₁ ++ (a :: l₂) =?= b :: l₃,
|
||
constraints := [l₃ =?= l₁ ++ l₂, a =?= b] }
|
||
|
||
-- Bad hint: constraint #1 is incorrect
|
||
@[unify] def {u} cons_append_hint' (α : Type u) (a b : α) (l₁ l₂ l₃: list α) : unification_hint :=
|
||
{ pattern := (a :: l₁) ++ l₂ =?= b :: l₃,
|
||
constraints := [l₃ =?= l₁ ++ l₃, a =?= b] }
|