module Circuit.Logics.Combine
( consensusH3,
consensusK3,
firstKnownH3,
latchH3,
)
where
import Circuit.Logics.H3 (H3 (..))
import Circuit.Logics.K3 (K3 (..))
consensusH3 :: H3 -> H3 -> H3
consensusH3 :: H3 -> H3 -> H3
consensusH3 H3
HTrue H3
HTrue = H3
HTrue
consensusH3 H3
HFalse H3
HFalse = H3
HFalse
consensusH3 H3
_ H3
_ = H3
HUnknown
consensusK3 :: K3 -> K3 -> K3
consensusK3 :: K3 -> K3 -> K3
consensusK3 K3
KTrue K3
KTrue = K3
KTrue
consensusK3 K3
KFalse K3
KFalse = K3
KFalse
consensusK3 K3
_ K3
_ = K3
KUnknown
firstKnownH3 :: H3 -> H3 -> H3
firstKnownH3 :: H3 -> H3 -> H3
firstKnownH3 H3
HUnknown H3
y = H3
y
firstKnownH3 H3
x H3
_ = H3
x
latchH3 :: H3 -> H3 -> H3
latchH3 :: H3 -> H3 -> H3
latchH3 H3
HUnknown H3
y = H3
y
latchH3 H3
x H3
_ = H3
x