creusot-rs / creusot

Creusot helps you prove your code is correct in an automated fashion.
GNU Lesser General Public License v2.1
1.12k stars 50 forks source link

SMT solvers have a hard time unfolding type invariants #1121

Open jhjourdan opened 4 days ago

jhjourdan commented 4 days ago

The reason is the conjunctions of several problems:

The end result is that, instead of just unfolding a definition, SMT solvers have to instantiate several quantifiers, and have a hard time with that.

Hence, there are many possible solutions for this problem: