data61 / PSL

Other
65 stars 9 forks source link

SeLFiE: avoid expensive syntax sugars. #157

Closed yutakang closed 4 years ago

yutakang commented 4 years ago

For Something_Or_Below_Somethings, we probably do not need to introduce a new variable. Just introduce a new atomic assertion Is_Below.

Probably the followings are difficult to improve further

yutakang commented 4 years ago

Some_Of and All_Of pose a tricky problem. I extended qtyp in Util.ML and domains in Quantifier_Domain.ML with QPrint_To_Paths of string and print_to_paths: Eval_Parameter.non_path_literal -> Eval_Parameter.literals to compute them efficiently.

This means, I have to bridge the gap between string and Eval_Parameter.literal In Eval_Unary by evaluating the value of Eval_Parameter.literal.

So, I think I need one more definition of qtyp that has QPrint_To_Paths2 of Eval_Parameter.non_path_literal.

yutakang commented 4 years ago

NO... this "optimisation" caused code-clutter and actually exacerbated the performance.

I am not going to keep Some_Of and All_Of as syntactic sugars.