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
In #3644, Guido thankfully pointed me to the old discussion #2069 about missing universe instantiations in the SMT encoding. Apparently, the most obvious way to encounter that issue was eliminated in #2205 by removing the axiom f x << f.
However, the underlying unsoundness due to missing universe instantiations is still present. We can easily define a "predicate" is_univ_zero u#a which is true if and only if a is zero. The SMT encoding of this predicate is clearly inconsistent if we omit the universe instantiation:
moduleMissingUnivopenFStar.FunctionsopenFStar.Cardinality.Universes// is_univ_zero u#a <==> a == 0letis_univ_zero=exists(f:Typeu#a->Typeu#0).is_injfletis_univ_zero_zero():Lemma(is_univ_zerou#0)=assertis_injfun(t:Typeu#0)->tletnot_is_univ_zero_succ():Lemma(~(is_univ_zerou#(a+1)))=introduceforall(f:Typeu#(a+1)->Typeu#0).~(is_injf)withno_inj_universesu#0u#(a+1)flet_:squashFalse=is_univ_zero_zero();not_is_univ_zero_succu#0()
The text was updated successfully, but these errors were encountered:
In #3644, Guido thankfully pointed me to the old discussion #2069 about missing universe instantiations in the SMT encoding. Apparently, the most obvious way to encounter that issue was eliminated in #2205 by removing the axiom
f x << f
.However, the underlying unsoundness due to missing universe instantiations is still present. We can easily define a "predicate"
is_univ_zero u#a
which is true if and only ifa
is zero. The SMT encoding of this predicate is clearly inconsistent if we omit the universe instantiation:The text was updated successfully, but these errors were encountered: