Skip to content
Snippets Groups Projects
  • Etienne Kneuss's avatar
    2e2ccc85
    Allow safe recursive calls in CEGIS · 2e2ccc85
    Etienne Kneuss authored
    Introduces terminates(f(..)) witnesses in the spec, used to generate
    safe recursive calls.
    
    After a split i.e. on a List with Cons, the witness becomes
    
    terminates(f(.., Cons(h, t), ..))
    
    at which point we know that calling f(.., t, ..) is safe
    termination-wise.
    2e2ccc85
    History
    Allow safe recursive calls in CEGIS
    Etienne Kneuss authored
    Introduces terminates(f(..)) witnesses in the spec, used to generate
    safe recursive calls.
    
    After a split i.e. on a List with Cons, the witness becomes
    
    terminates(f(.., Cons(h, t), ..))
    
    at which point we know that calling f(.., t, ..) is safe
    termination-wise.
RecursiveEvaluator.scala 16.57 KiB