From 8d8781116927e667550ed1a092f7ee185dc09bb8 Mon Sep 17 00:00:00 2001 From: rakhimov Date: Sat, 20 Jan 2018 09:40:14 -0800 Subject: [PATCH] Limit XOR and IFF to two arguments Currently, XOR and IFF are specified as n-ary connectives. In addition to being rarely used, these connectives are not intuitive in their associative, n-ary forms. For example, a naive user may confuse XOR with natural 'either .. or', which doesn't hold with more than 2 args; it is rather 'odd' (pun intended :)). I think those FTA tools that do support these gates limit the number of arguments to 2 (e.g., graphically). It would be unreasonable to require generality without a practical need. --- mef/schema/formula.rnc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mef/schema/formula.rnc b/mef/schema/formula.rnc index 9d522ea..0399bb9 100644 --- a/mef/schema/formula.rnc +++ b/mef/schema/formula.rnc @@ -4,8 +4,8 @@ formula = | element and { formula+ } | element or { formula+ } | element not { formula } - | element xor { formula+ } - | element iff { formula+ } + | element xor { formula, formula } + | element iff { formula, formula } | element nand { formula+ } | element nor { formula+ } | element atleast {