21 lines
793 B
Text
21 lines
793 B
Text
/-!
|
||
Tests that `@[csimp]` rejects constant replacements with concrete universe parameters
|
||
-/
|
||
|
||
noncomputable def funnyChoice (x : α) : α := Classical.choice ⟨x⟩
|
||
|
||
/--
|
||
error: invalid 'csimp' theorem, only constant replacement theorems (e.g., `@f = @g`) are currently supported.
|
||
-/
|
||
#guard_msgs in
|
||
@[csimp]
|
||
theorem bad_csimp : @funnyChoice.{0} = @id.{0} := rfl
|
||
|
||
/--
|
||
error: Tactic `native_decide` failed. Error: failed to compile definition, compiler IR check failed at `_example._nativeDecide_1._closed_0`. Error: depends on declaration 'funnyChoice', which has no executable code; consider marking definition as 'noncomputable'
|
||
-/
|
||
#guard_msgs in
|
||
example : False := by
|
||
have : funnyChoice 2 = funnyChoice 3 := rfl
|
||
have : funnyChoice 2 ≠ funnyChoice 3 := by native_decide
|
||
contradiction
|