Skip to content
Snippets Groups Projects
Commit 8faa4ec1 authored by Katja Goltsova's avatar Katja Goltsova
Browse files

Print and/or connector formulas with 1 argument

parent a4c9481b
No related branches found
No related tags found
1 merge request!65Print and/or connector formulas with 1 argument
...@@ -460,6 +460,7 @@ object Parser { ...@@ -460,6 +460,7 @@ object Parser {
}, },
{ {
case ConnectorFormula(c @ (Iff | Implies), Seq(left, right)) => Seq(left ~ Some(c ~ right)) case ConnectorFormula(c @ (Iff | Implies), Seq(left, right)) => Seq(left ~ Some(c ~ right))
case ConnectorFormula((And | Or), Seq(f)) => Seq(f ~ None)
case f => Seq(f ~ None) case f => Seq(f ~ None)
} }
) )
......
...@@ -98,6 +98,15 @@ class PrinterTest extends AnyFunSuite with TestUtils { ...@@ -98,6 +98,15 @@ class PrinterTest extends AnyFunSuite with TestUtils {
assert(Parser.printFormula(ConnectorFormula(Or, Seq(ConnectorFormula(Or, Seq(a, b)), c))) == "a ∨ b ∨ c") assert(Parser.printFormula(ConnectorFormula(Or, Seq(ConnectorFormula(Or, Seq(a, b)), c))) == "a ∨ b ∨ c")
} }
test("and/or of 1 argument") {
assert(Parser.printFormula(ConnectorFormula(And, Seq(a))) == "a")
assert(Parser.printFormula(ConnectorFormula(Or, Seq(a))) == "a")
assert(Parser.printFormula(ConnectorFormula(Implies, Seq(ConnectorFormula(Or, Seq(a)), ConnectorFormula(And, Seq(a))))) == "(a) ⇒ (a)")
assert(Parser.printFormula(ConnectorFormula(Implies, Seq(a, a))) == "a ⇒ a")
assert(Parser.printFormula(BinderFormula(Forall, x, ConnectorFormula(Or, Seq(a)))) == "∀'x. a")
}
test("connectors of >2 arguments") { test("connectors of >2 arguments") {
assert(Parser.printFormula(ConnectorFormula(And, Seq(a, b, c))) == "a ∧ b ∧ c") assert(Parser.printFormula(ConnectorFormula(And, Seq(a, b, c))) == "a ∧ b ∧ c")
assert(Parser.printFormula(ConnectorFormula(Or, Seq(a, b, c))) == "a ∨ b ∨ c") assert(Parser.printFormula(ConnectorFormula(Or, Seq(a, b, c))) == "a ∨ b ∨ c")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment