From eef2b813cd097e0109b193022c2c73ce9d084db6 Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <ekneuss@gmail.com> Date: Wed, 19 Aug 2015 18:09:05 +0200 Subject: [PATCH] Simplify val hole = choose(); ... hole for single holes --- src/main/scala/leon/synthesis/ConvertHoles.scala | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/scala/leon/synthesis/ConvertHoles.scala b/src/main/scala/leon/synthesis/ConvertHoles.scala index 4c27e9b96..543b37784 100644 --- a/src/main/scala/leon/synthesis/ConvertHoles.scala +++ b/src/main/scala/leon/synthesis/ConvertHoles.scala @@ -80,10 +80,13 @@ object ConvertHoles extends LeonPhase[Program, Program] { val choose = Choose(spec) + val newBody = if (holes.size == 1) { + replaceFromIDs(Map(holes.head -> choose), withoutHoles) + } else { + letTuple(holes, choose, withoutHoles) + } - val valuations = letTuple(holes, choose, withoutHoles) - - withPostcondition(withPrecondition(valuations, pre), post) + withPostcondition(withPrecondition(newBody, pre), post) } else { e @@ -93,7 +96,7 @@ object ConvertHoles extends LeonPhase[Program, Program] { } } - + def run(ctx: LeonContext)(pgm: Program): Program = { pgm.definedFunctions.foreach(fd => fd.fullBody = convertHoles(fd.fullBody,ctx) ) pgm -- GitLab