Rephrasing: Both the a and the c wire pair can be viewed as encoding a value by a One-Hot code. When the value is sent to the k-Latch via an a input, it stores (latches) this value until b is received. Reception of b reproduces the value via the corresponding c ouput.
Specification in Verdect:
define L( a0?, ..., a(k-1)?, b?, c0!, ..., c(k-1)! ) = pref *[ (a0? || b?); c0! | ... | (a(k-1)? || b?); c(k-1)! ] endAlso available through this link The specification of the 3-Latch is as follows:
Specification in Verdect:
define L( a0?, a1?, a2?, b?, c0!, c1!, c2! ) = pref *[ (a0? || b?); c0! | (a1? || b?); c1! | (a2? || b?); c2! ] endAlso available through this link.
Specification in DI Algebra:
I = { a0?, .. , a(k-1)?, b? } O = { c0?, .. , c(k-1)! } L(k,k) = [ (,i: 0<=i < k: ai? -> L(i,k), b? -> M(k,k) ] L(i,k) = [ b? -> M(i,k), else -> CHAOS ], for 0<=iAlso available through this link We provide the specification for the 3-Latch:M(i,k), b? -> CHAOS] M(i,k) = ci!;L(k,k)
The roles of subscripts i can be permuted (on a_i and c_i simultaneously).
The k-Latch satisfies Rules Y' and Z^out, but not Z^inp (choice between a inputs).
No information available
No information available
The k-Latch is sometimes also referred to as Decision-Wait ([Lucassen94]) or kx1-Join.