copatternbased
Copatternbased refers to programming and formal methods that rely on copatterns as the primary means of defining data and corecursive computations, especially for coinductive or potentially infinite structures. A copattern is a pattern that matches over a value's observations rather than its constructors; for streams, this means specifying how to observe the next element (head) and how to obtain the rest (tail) rather than how to build a stream.
This approach is dual to the traditional inductive definitions that use algebraic data types and constructors.
Practically, it appears in some languages and proof tools where copattern-like constructs or libraries exist; common