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
Copy file name to clipboardExpand all lines: src/smtencoding/FStarC.SMTEncoding.Encode.fst
+7-24Lines changed: 7 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -849,6 +849,7 @@ let encode_top_level_let :
849
849
lettoks_fvbs=List.revtoksin
850
850
letdecls=List.revdecls|>List.flattenin
851
851
(*
852
+
* GM: Not accurate any more.
852
853
* AR: decls are the declarations for the top-level lets
853
854
* if one of the let body contains a let rec (inner let rec), we simply return decls at that point, inner let recs are not encoded to the solver yet (see Inner_let_rec below)
854
855
* the way it is implemented currently is that, the call to encode the let body throws an exception Inner_let_rec which is caught below in this function
@@ -1154,30 +1155,12 @@ let encode_top_level_let :
1154
1155
is_smt_reifiable_functionenv.tcenvt))
1155
1156
thendecls,env_decls
1156
1157
else
1157
-
try
1158
-
ifnotis_rec
1159
-
then
1160
-
(* Encoding non-recursive definitions *)
1161
-
encode_non_rec_lbdefbindingstypstoks_fvbsenv
1162
-
else
1163
-
encode_rec_lbdefsbindingstypstoks_fvbsenv
1164
-
with
1165
-
|Inner_let_recnames->
1166
-
letplural=List.lengthnames > 1in
1167
-
letr=List.hdnames|>sndin
1168
-
FStarC.TypeChecker.Err.add_errors
1169
-
env.tcenv
1170
-
[(Errors.Warning_DefinitionNotTranslated,
1171
-
// FIXME
1172
-
[Errors.text <|Format.fmt3
1173
-
"Definitions of inner let-rec%s %s and %s enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types"
0 commit comments