-
Notifications
You must be signed in to change notification settings - Fork 4
Added implementation for function application check #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: after-ftscs
Are you sure you want to change the base?
Conversation
jlvargasme
commented
Oct 23, 2023
- Function application is implemented for functions that do not have tuples as arguments
- Fixed parsing to accept refinement functions with refinement tuples
- Implementing refinement function declaration that has refinement tuples as arguments
- Implement refinement function application check for function with refinement tuples as arguments
- Fixed function input satisfiability check
…ecl.mk_apply with user arguments
jchen-cs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed code together, spotted an issue on line 1060 in z3refinement.ml. Everything else looks good and will approve once that is fixed.
| let node main () = | ||
| let z = add (1.,2.) in | ||
| () | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove empty lines at end of file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed empty lines
| let check_env = { exp_env = ref (checks @ !(local_env.exp_env)); var_env = Hashtbl.create 0} in | ||
| check_validity ctx constraint_env check_env; | ||
| let check_env = checks @ !(local_env.exp_env) @ !(ref_fun.creation_env.exp_env) in | ||
| check_validity ctx checks; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We noticed a bug here during our code review. check_validity returns true even if constraints are not satisfied due to the use of an implication statement. Quick fix is to replace the original implication x -> x with T -> x (just true in the antecedent) to keep with the original function interface with minimal changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed with the latest commit