Questions tagged [leon]

Leon is an automated system for verifying, repairing, and synthesizing Scala programs.

Leon is an automated system for verifying, repairing, and synthesizing Scala programs. Leon is developed at the Swiss Federal Institute of Technology in Lausanne. The official Leon documentation together with an interactive demo are available online.

21 questions
0
votes
1 answer

Is there a notion of strong induction in Welder?

While working with Welder I faced the situtation where I have to proof that: if content(l1) == content(l2) and f is an idempotent, associative and commutative operator then fold(f,z,l1) = fold(f,z,l2) At one stage of my proof I wanted to show that…
user1868607
  • 2,558
  • 1
  • 17
  • 38
0
votes
1 answer

Proving properties of sets in Inox/Welder

I would like to proof some properties of sets on Inox/Welder but I'm lacking examples that help me to figure out how to do so. Say I want to proof: content(y::xs).contains(x) && x != y ==> content(xs).contains(x) I define the property: def…
user1868607
  • 2,558
  • 1
  • 17
  • 38
0
votes
0 answers

Your firewall blocks traffic on websocket ports error on online service

I'm working with Leon verification system online at http://leon.epfl.ch/. I'm having problems with the connection with the following errors: Failed to connect: Leon failed to contact the mothership :( It usually indicates that your firewall…
user1868607
  • 2,558
  • 1
  • 17
  • 38
0
votes
1 answer

short-circuit evaluation in leon --xlang

Consider the following complicated way of negating a boolean (which depends on short-circuit evaluation): def negate(a: Boolean) = { var b = true a && { b = false; true } b } ensuring { res => res != a } If I test this code in the Scala…
Samuel Gruetter
  • 1,713
  • 12
  • 11
0
votes
1 answer

Is it possible to have requirement on data structure in Leon?

While working on rational numbers with leon, I have to add as requirement isRational pretty much everywhere. For example: import leon.lang._ case class Rational (n: BigInt, d: BigInt) { def +(that: Rational): Rational = { require(isRational…
Hiura
  • 3,500
  • 2
  • 20
  • 39
-1
votes
1 answer

Leon: how to use custom `==` operator?

While working with leon and rationals, I encountered the following issue: the verification of the inverse1 function gives a counter-example but it doesn't make much sense, while inverse2 verifies. import leon.lang._ case class Rational (n: BigInt,…
Hiura
  • 3,500
  • 2
  • 20
  • 39
1
2