From f32a1e50c07fe5117bd3ffa33c16d0cf52a9c6eb Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <etienne.kneuss@epfl.ch> Date: Thu, 18 Sep 2014 14:09:04 +0200 Subject: [PATCH] Generate Sets as well --- src/main/scala/leon/synthesis/rules/Tegis.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/scala/leon/synthesis/rules/Tegis.scala b/src/main/scala/leon/synthesis/rules/Tegis.scala index 0238bc643..f17f75c96 100644 --- a/src/main/scala/leon/synthesis/rules/Tegis.scala +++ b/src/main/scala/leon/synthesis/rules/Tegis.scala @@ -69,6 +69,14 @@ case object TEGIS extends Rule("TEGIS") { Generator[TypeTree, Expr](cct.fields.map(_.getType), { case rs => CaseClass(cct, rs)} ) } + case st @ SetType(base) => + List( + Generator(List(base), { case elems => FiniteSet(elems).setType(st) }), + Generator(List(st, st), { case Seq(a, b) => SetUnion(a, b) }), + Generator(List(st, st), { case Seq(a, b) => SetIntersection(a, b) }), + Generator(List(st, st), { case Seq(a, b) => SetDifference(a, b) }) + ) + case _ => Nil } -- GitLab