Right now, the mode will only "collapse at infinity." That is, when we reach the end of a skolem bound, and encounter an existential, we deliberately force the fresh element to be collapsed with the previously created element. This works just fine without any bugs or major performance issues.
Two open questions:
Without unforced collapses at the SMT layer, we will not return possibly "unexpected models." For the ALAS example, an unexpected model may be when the stranger grants himself the key as an employee. Do unforced collapses / unexpected models really enlighten the user on anything interesting? If not, there's no reason to allow unforced collapses in this case.
Does allowing unforced collapses at the SMT layer enable us to return more models than the current Collapsed Mode would?
@salmans, @dandougherty I think this summarizes what is left open from our discussion. Feel free to comment to add or correct me.
Right now, the mode will only "collapse at infinity." That is, when we reach the end of a skolem bound, and encounter an existential, we deliberately force the fresh element to be collapsed with the previously created element. This works just fine without any bugs or major performance issues.
Two open questions:
@salmans, @dandougherty I think this summarizes what is left open from our discussion. Feel free to comment to add or correct me.