def f (x : Nat) := x + 1 /-- error: failed to set `[semireducible]` for `f`, declarations are `[semireducible]` by default Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [semireducible] f attribute [reducible] f /-- error: failed to set `[reducible]`, `f` is not currently `[semireducible]`, but `[reducible]` Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [reducible] f -- should fail because of double reducible setting -- "Reset" `f` set_option allowUnsafeReducibility true in attribute [semireducible] f attribute [irreducible] f /-- error: failed to set `[irreducible]`, `f` is not currently `[semireducible]` nor `[implicit_reducible]`, but `[irreducible]` Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [irreducible] f attribute [local semireducible] f /-- error: failed to set `[local semireducible]`, `f` is currently `[semireducible]`, `[irreducible]` expected Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [local semireducible] f attribute [local irreducible] f /-- error: failed to set `[local irreducible]`, `f` is currently `[irreducible]`, `[semireducible]` nor `[implicit_reducible]` expected Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [local irreducible] f /-- error: failed to set `[local reducible]` for `f`, recall that `[reducible]` affects the term indexing datastructures used by `simp` and type class resolution Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [local reducible] f /-- error: failed to set reducibility status, `Nat.add` has not been defined in this file, consider using the `local` modifier Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [semireducible] Nat.add /-- error: failed to set reducibility status, `Nat.add` has not been defined in this file, consider using the `local` modifier Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [reducible] Nat.add /-- error: failed to set reducibility status, `Nat.add` has not been defined in this file, consider using the `local` modifier Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [irreducible] Nat.add /-- error: Scoped attributes must be used inside namespaces -/ #guard_msgs in attribute [scoped reducible] Nat.add namespace Foo /-- error: failed to set reducibility status for `Nat.add`, the `scoped` modifier is not recommended for this kind of attribute Note: Use `set_option allowUnsafeReducibility true` to override reducibility status validation -/ #guard_msgs in attribute [scoped reducible] Nat.add set_option allowUnsafeReducibility true in attribute [scoped reducible] Nat.add end Foo