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
gen_term_size num_arr_tau2 num (Stlc_tyctx_cons (tau1, gamma)) tau2
in
Stlc_abs (tau1, body)
let[@assert] gen_term_size =
let num_arr_tau = (v >=0 : [%v: int]) [@over] in
let num = (v >=0 : [%v: int]) [@over] in
let gamma = (true : [%v: stlc_tyctx]) [@over] in
let tau = (num_arr v num_arr_tau : [%v: stlc_ty]) [@over] in
(typing gamma v tau && num_app v num : [%v: stlc_term]) [@under]
where num_app_func and num_app_arg are sum so something <= num -1 which plus the eventual application covers all numbers of applications <= num. The specification says typing gamma v tau && num_app v num which is covering applications equal to num.
underapproximation_type/data/original_poirot/stlc/gen_term_size.ml
Lines 49 to 77 in 94d0f05
where num_app_func and num_app_arg are sum so something
<= num -1
which plus the eventual application covers all numbers of applications<= num
. The specification saystyping gamma v tau && num_app v num
which is covering applications equal tonum
.One can either change
underapproximation_type/data/original_poirot/stlc/gen_term_size.ml
Line 50 in 94d0f05
num - num_app_func - 1
or change the top level specification tofun (n[@exists]: int) -> typing gamma v tau && num_app v n && n <= num
The text was updated successfully, but these errors were encountered: