Coq: a single notation for multiple constructors
问题 Is it possible to define a single notation for multiple constructors in Coq? If the constructors differ by their argument types, they might be inferrable from them. A minimal (non-)working example: Inductive A : Set := a | b | c: C -> A | d: D -> A with C: Set := c1 | c2 with D: Set := d1 | d2. Notation "' x" := (_ x) (at level 19). Check 'c1. (*?6 c1 : ?8*) In this case, constructor inference doesn't work. Maybe there's another way to specify a constructor as a variable? 回答1: You can create