You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Silicon seems to not be able to prove inequality of sequences if the first elements are equal. If I first reason about the elements individually, then the reasoning about the sequences passes as well. This is similar to issue #601, but still seems to be a problem. Like with that issue, Carbon does verify the example.
The Silicon version I use is Silicon 1.1-SNAPSHOT (4c705143).
Update: From what we can tell, it seems to be an issue with the axiomatisation of sequence equality, specifically the triggers in the extensional_seq_equality axiom. Accessing the unequal item in one of the sequences allows verification to pass:
// This passes
method test_seq_semiequal()
{
var b: Bool
b := Seq(true, false)[1]
assert Seq(true, false) != Seq(true, true)
}
The text was updated successfully, but these errors were encountered:
I won't have time to look at this any time soon. If you can see a difference between the axiom triggers used by Carbon and Silicon, you could adjust the latter to see if this resolves the incompleteness. I would be much obliged :-)
…oject#629
- Weakened triggers for singleton
- Placed append empty left/right in one quantifier
- Split index_over_append into left/right version, and used separate arithmetic functions
- Phrase disequality with skolem function for differing index
Silicon seems to not be able to prove inequality of sequences if the first elements are equal. If I first reason about the elements individually, then the reasoning about the sequences passes as well. This is similar to issue #601, but still seems to be a problem. Like with that issue, Carbon does verify the example.
The Silicon version I use is
Silicon 1.1-SNAPSHOT (4c705143)
.Update: From what we can tell, it seems to be an issue with the axiomatisation of sequence equality, specifically the triggers in the
extensional_seq_equality
axiom. Accessing the unequal item in one of the sequences allows verification to pass:The text was updated successfully, but these errors were encountered: