Skip to content
Snippets Groups Projects
Unverified Commit 736e17c1 authored by SimonGuilloud's avatar SimonGuilloud Committed by GitHub
Browse files

Merge pull request #65 from cache-nez/and-or-one-argument

Print and/or connector formulas with 1 argument
parents a4c9481b 8faa4ec1
No related branches found
No related tags found
No related merge requests found
......@@ -460,6 +460,7 @@ object Parser {
},
{
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)
}
)
......
......@@ -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")
}
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") {
assert(Parser.printFormula(ConnectorFormula(And, 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