lean4-htt/tests/lean/user_attribute.lean

36 lines
915 B
Text

definition foo_attr := ⦃user_attribute, name := `foo, descr := "bar"⦄
run_command attribute.register `foo_attr
attribute [foo] eq.refl
print [foo]
print eq.refl
run_command attribute.get_instances `foo >>= tactic.pp >>= tactic.trace
print "---"
-- compound names
definition foo_baz_attr := ⦃user_attribute, name := `foo.baz, descr := "bar"⦄
run_command attribute.register `foo_baz_attr
attribute [foo.baz] eq.refl
print [foo.baz]
print eq.refl
run_command attribute.get_instances `foo.baz >>= tactic.pp >>= tactic.trace
-- can't redeclare attributes
definition duplicate := ⦃user_attribute, name := `reducible, descr := "bar"⦄
run_command attribute.register `duplicate
-- wrong type
definition bar := "bar"
run_command attribute.register `bar
section
variable x : string
definition baz_attr := ⦃user_attribute, name := `baz, descr := x⦄
run_command attribute.register `baz_attr
end