From 3b1c1905431b09141f80f9a4252909e9d1ccee5b Mon Sep 17 00:00:00 2001 From: raj_mathe Date: Sat, 15 May 2021 00:05:42 +0200 Subject: [PATCH] =?UTF-8?q?master=20>=20master:=20codego=20-=20nnf=20f?= =?UTF-8?q?=C3=BCr=20implies,=20iff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codego/aussagenlogik/recursion/recursion_nnf.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/codego/aussagenlogik/recursion/recursion_nnf.go b/codego/aussagenlogik/recursion/recursion_nnf.go index d613fd5..73acd42 100644 --- a/codego/aussagenlogik/recursion/recursion_nnf.go +++ b/codego/aussagenlogik/recursion/recursion_nnf.go @@ -64,9 +64,20 @@ func NNF(fml formulae.Formula) formulae.Formula { } } else if fml.IsImplication() { return formulae.FormulaPair{ - Pos: formulae.Implies(prevPos[0], prevPos[1]), + Pos: formulae.Disjunction2(prevNeg[0], prevPos[1]), Neg: formulae.Conjunction2(prevPos[0], prevNeg[1]), } + } else if fml.IsDoubleImplication() { + return formulae.FormulaPair{ + Pos: formulae.Conjunction2( + formulae.Disjunction2(prevNeg[0], prevPos[1]), + formulae.Disjunction2(prevNeg[1], prevPos[0]), + ), + Neg: formulae.Disjunction2( + formulae.Conjunction2(prevPos[0], prevNeg[1]), + formulae.Conjunction2(prevPos[1], prevNeg[0]), + ), + } } else { panic("Could not evaluate expression!") }