I'd like to implement in Coq something like the following code:
Inductive IT :=
| c1 : IT
| c2 (x:IT) (H:
match x as x return Prop with
| c1 => True
| c2 y => False
end): IT.
But it is not possible to match undefined type. How to overcome this obstacle?
(I need to check some property of term before using it. For example, the aim - to check the correctness of subformula before constructing larger formula.)