* delay2 is a propagation delay from node 1 via internal feedback to node 3,
* delay1 must be greater than delay2.
Thus, the naive implementation is correct ''only'' for slow environment.<ref>[[Jordi Cortadella|J. Cortadella]], M. Kishinevsky, [https://www.inf.pucrs.br/~calazans/graduate/SSD/Tutorial_Cortadella_Lyngby_Summer_School_1997.pdf Tutorial: Synthesis of control circuits from STG specifications]. Summer school, Lyngby, 1997.</ref>
The definition of C-element can be generalized for multiple-valued logic,<ref name="Kim69" /><ref>[https://www.proquest.com/docview/303676273?pq-origsite=gscholar&fromopenview=true J. M. Johnson, Theory and Application of Self-Timed Integrated Systems Using Ternary Logic Elements. PhD thesis. University of California, Santa Barbara. 1989.]</ref> or even for continuous signals:
:<math>\text { if } x_1=x_2=...=x_m, \text { then } y_n=\text{any}(x_1,x_2,...,x_m), \text { else } y_n=y_{n-1}.</math>
For example, the truth table for a balanced ternary C-element with two inputs is
{| class="wikitable" style="text-align: center"
! <math>x_1</math> !! <math>x_2</math> !! <math>y_n</math>
|-
| −1 || −1 || −1
|-
| −1 || 0 || <math>y_{n-1}</math>
|-
| −1 || 1 || <math>y_{n-1}</math>
|-
| 0 || −1 || <math>y_{n-1}</math>
|-
| 0 || 0 || 0
|-
| 0 || 1 || <math>y_{n-1}</math>
|-
| 1 || −1 || <math>y_{n-1}</math>
|-
| 1 || 0 || <math>y_{n-1}</math>
|-
| 1 || 1 || 1
|}
==Implementations of the C-element==
|