@@ -308,7 +308,13 @@ def tff_typed_variable(self, items):
308308 cast (str | list [Any ] | tuple [str , Any , Any ], items [1 ])
309309 )
310310 if isinstance (sort , tuple ):
311- sort = self ._function_sort_from_sig (sort ) if self .thf_mode else self .sort
311+ sort = (
312+ self ._function_sort_from_sig (
313+ cast (tuple [list [smt .SortRef ], Optional [smt .SortRef ]], sort )
314+ )
315+ if self .thf_mode
316+ else self .sort
317+ )
312318 if sort is None :
313319 sort = self .sort
314320 v = smt .Const (name , sort )
@@ -408,15 +414,17 @@ def _declare_symbol(
408414 if isinstance (type_repr , tuple ) and type_repr [0 ] == "fun" :
409415 sig = self ._type_repr_to_sort (type_repr )
410416 assert isinstance (sig , tuple )
411- doms , rng = sig
417+ doms , rng = cast ( tuple [ list [ smt . SortRef ], Optional [ smt . SortRef ]], sig )
412418 doms = list (doms )
413419 rng = rng if rng is not None else self .sort
414420 self .func_sigs [name ] = (doms , rng )
415421 if not self .thf_mode :
416422 fn = smt .Function (name , * doms , rng )
417423 self .funcs [(name , len (doms ))] = fn
418424 return fn
419- sort = self ._function_sort_from_sig ((doms , rng ))
425+ sort = self ._function_sort_from_sig (
426+ cast (tuple [list [smt .SortRef ], Optional [smt .SortRef ]], (doms , rng ))
427+ )
420428 const = smt .Const (name , sort )
421429 self .consts [name ] = const
422430 return const
@@ -451,17 +459,14 @@ def _type_repr_to_sort(
451459 rng_sort = self ._type_repr_to_sort (rng )
452460 if isinstance (rng_sort , tuple ):
453461 rng_doms , rng_rng = rng_sort
454- dom_sorts .extend (rng_doms )
462+ dom_sorts .extend (cast ( list [ smt . SortRef ], rng_doms )) # type: ignore
455463 rng_sort = rng_rng
456464 return (
457465 cast (list [smt .SortRef ], dom_sorts ),
458466 cast (Optional [smt .SortRef ], rng_sort ),
459467 )
460468 if isinstance (type_repr , list ):
461- return [
462- cast (smt .SortRef , self ._type_repr_to_sort (cast (Any , t )))
463- for t in type_repr
464- ]
469+ return [cast (smt .SortRef , self ._type_repr_to_sort (t )) for t in type_repr ]
465470 if isinstance (type_repr , str ):
466471 if type_repr == "$o" :
467472 return smt .BoolSort ()
0 commit comments