Especificações Alloy de Elementos da Lógica Proposicional
Abstract
The elaboration of unique problems with specific characteristics in formal undergraduate courses is a tedious task, especially when the course is offered in Massive Open Online Courses (MOOCs). In this scenario, a technique for the automatic generation of propositional logic formulas and valid arguments was developed. The major challenge of the technique was to generate valid arguments. These arguments are unlikely to arise from totally random generation. The technique makes use of concepts from the Program Synthesis area. For this, the synthesis concepts are used together with formal specifications described in Alloy. In this article, Alloy specifications necessary for the generation of Logic elements are presented.
References
Gulwani, S., Polozov, A., and Singh, R. (2017). Program Synthesis, volume 4. NOW.
Jackson, D. (2012). Software Abstractions: logic, language, and analysis. MIT press.
Mozgovoy, M., Kakkonen, T., and Cosma, G. (2010). Automatic student plagiarism detection: future perspectives. Journal of Educational Computing Research, 43(4):511– 531.
Nori, A. V., Ozair, S., Rajamani, S. K., and Vijaykeerthy, D. (2015). Efficient synthesis of probabilistic programs. ACM SIGPLAN Notices, 50(6):208–217.
Pnueli, A. and Rosner, R. (1989). On the synthesis of a reactive module. In Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 179–190.
Silva, F. S. C. d., Finger, M., and Melo, A. C. V. d. (2006). Lógica para computação. Cengage Learning.
Solar-Lezama, A. (2009). The sketching approach to program synthesis. In Hu, Z., editor, Programming Languages and Systems, pages 4–13, Berlin, Heidelberg. Springer Berlin Heidelberg.
Wang, Y., Dong, J., Shah, R., and Dillig, I. (2019). Synthesizing database programs In Proceedings of the 40th ACM SIGPLAN Conference on for schema refactoring. Programming Language Design and Implementation, pages 286–300.
Yaghmazadeh, N., Wang, Y., Dillig, I., and Dillig, T. (2017). Sqlizer: query synthesis from natural language. Proceedings of the ACM on Programming Languages, 1(OOPSLA):1–26.
