Skip to content
Snippets Groups Projects
  • Etienne Kneuss's avatar
    f48ff213
    Various improvements necessary for the web-interface · f48ff213
    Etienne Kneuss authored
    - Describe individual rule applications to allow a user to select one
      in particular
    
    - Scala-Printing LetDefs correctly, allow initial indenting
    
    - Fix Choose with single out variable not generating Tuple1
    
    - Give synthesis a specific path to follow, used by web
    
    - Allow val (x: Int, y: Int) = ... along with locally{}
    
    - Expose information on the synthesis search tree
    
    - Correctly substitute varaibles in ADTInduction's pre/post
    
    - Generic transformers with PC tracking, collect chooses with PC
    
    - Detect line indentation of choose() to indent solution correctly
    
    - Implement simplifier which renames ids based on the context
    
    - Rescale timeouts, use uninterpreted solver for filtering simple cases
    
    - Assume that choose() can reference the entire scope
    
      This is necessary to ensure that Lets do not get thrown away. For
      instance:
    
      Let(x = ..., choose(out => .. y ..))
    
      while the choose may not directly reference x in its preducate, it's
      part of its path condition and should be usable by synthesis.
      SimplifyLet should not simplify/replace it.
    
    - Modify PC for Let(x, Fcall()), this probably needs to be generalized!
    
    - Expose counter-example found during verification, include them in
      VCReport
    
    - Decouple genVCs/checkVCs from Phase.run so that it can be used separately
    f48ff213
    History
    Various improvements necessary for the web-interface
    Etienne Kneuss authored
    - Describe individual rule applications to allow a user to select one
      in particular
    
    - Scala-Printing LetDefs correctly, allow initial indenting
    
    - Fix Choose with single out variable not generating Tuple1
    
    - Give synthesis a specific path to follow, used by web
    
    - Allow val (x: Int, y: Int) = ... along with locally{}
    
    - Expose information on the synthesis search tree
    
    - Correctly substitute varaibles in ADTInduction's pre/post
    
    - Generic transformers with PC tracking, collect chooses with PC
    
    - Detect line indentation of choose() to indent solution correctly
    
    - Implement simplifier which renames ids based on the context
    
    - Rescale timeouts, use uninterpreted solver for filtering simple cases
    
    - Assume that choose() can reference the entire scope
    
      This is necessary to ensure that Lets do not get thrown away. For
      instance:
    
      Let(x = ..., choose(out => .. y ..))
    
      while the choose may not directly reference x in its preducate, it's
      part of its path condition and should be usable by synthesis.
      SimplifyLet should not simplify/replace it.
    
    - Modify PC for Let(x, Fcall()), this probably needs to be generalized!
    
    - Expose counter-example found during verification, include them in
      VCReport
    
    - Decouple genVCs/checkVCs from Phase.run so that it can be used separately