Below is a list of my publications, separated by type and within each type in inverse chronological order. Most of them can be downloaded in PDF format; you can also download the BiBTeX reference in case you want to cite it. I also include a selection of submitted publications.
Use the drop-down menu below to view only publications pertaining to a particular topic, or of a particular type.
Topic:
International Publications with Refereeing
[58]Certifying Choreography Compilation (with F. Montesi and M. Peressotti)
in A. Cerone and P. Ölveczky (eds.), Theoreical Aspects of Computing - ICTAC 2021.,
LNCS 12819:115-133. Springer, September 2021.
DOI 10.1007/978-3-030-85315-0_8
Proving choreography compilation correct is challenging and error-prone, because it requires relating languages in different paradigms (global interactions vs local actions) and dealing with a combinatorial explosion of proof cases. We present the first certified program for choreography compilation for a nontrivial choreographic language supporting recursion.
[57]Formalising a Turing-Complete Choreography Language in Coq (with F. Montesi and M. Peressotti)
in L. Cohen and C. Kaliszyk (eds.), Interactive Theorem Proving, ITP 2021.,
LIPIcs 193:15:1-15:18. Schloss Dagstuhl, June 2021.
DOI 10.4230/LIPIcs.ITP.2021.15
With this effort, we show that theorem proving can be a very useful tool in the field of choreographic languages: besides the added degree of confidence that we get from a mechanised proof, the formalisation process led us to a significant simplification of the underlying theory. Our results offer a foundation for the future formal development of choreographic languages.
[56]Stratification Approximation Fixpoint Theory and Its Application to Active Integrity Constraints (with B. Bogaerts)
in ACM Transactions on Computational Logic, 22(1):6:1-6:19. ACM, January 2021.
DOI 10.1145/3430750
One recent application domain of AFT is the field of active integrity constraints (AICs). We apply our extended stratification theory to AICs and find that existing notions of stratification in AICs are covered by this general algebraic definition of stratification. As a result, we obtain stratification results for a large variety of semantics for AICs.
[55]Hypothetical Answers to Continuous Queries over Data Streams (with G. Gaspar and I. Nunes)
in The 34th AAAI Conference on Artificial Intelligence, AAAI 2020.,
pages 2798-2805. AAAI Press, February 2020.
DOI 10.1609/aaai.v34i03.5668
In this paper we present a semantics for queries and corresponding answers that covers such hypothetical answers, together with an online algorithm for updating the set of facts that are consistent with the currently available information.
[54]A Core Model for Choreographic Programming (with F. Montesi),
in Theoretical Computer Science, 802:38-66. Elsevier, January 2020.
DOI 10.1016/j.tcs.2019.07.005
In this work, we introduce Core Choreographies (CC), a model that includes only the core primitives of choreographic programming. Every computable function can be implemented as a choreography in CC, from which we can synthesise a process implementation where independent computations run in parallel. We discuss the design of CC and argue that it constitutes a canonical model for choreographic programming.
[53]Formally Verifying the Solution to the Pythagorean Triples Problem (with J. Marques-Silva and P. Schneider-Kamp),
© Springer
in Journal of Automated Reasoning, 63(3):695-722. Springer, October 2019.
DOI 10.1007/s10817-018-9490-4
[52]Sorting Networks: to the End and Back Again (with M. Codish, T. Ehlers, M. Müller and P. Schneider-Kamp)
in Journal of Computer and System Sciences, 104:184-201. Elsevier, September 2019.
DOI 10.1016/j.jcss.2016.04.004
[51]Multiparty Classical Choreographies (with M. Carbone, F. Montesi and A. Murawska)
© Springer
in F. Mesnard and P.J. Stuckey (eds.), Logic-Based Program Synthesis and Transformation (LOPSTR 2018).,
LNCS 11408:59-76. Springer, May 2019.
DOI 10.1007/978-3-030-13838-7_4
[50] Machine-Assisted Proofs (with J. Davenport, B. Poonen, J. Maynard, H. Helfgott and P.H. Tiep),
in B. Sirakov, P. Ney de Souza and M. Viana (eds.), Proceedings of the International Congress of Mathematicians (ICM 2018), volume 1, pages 1085-1110. World Scientific, May 2019.
DOI 10.1142/11060
[49]Complete and Efficient DRAT Proof Checking (with A. Rebola-Pardo)
in N. Björner and A. Gurfinkel (eds.), Formal Methods for Computer-Aided Design (FMCAD 2018),
pages 1-9. IEEE, October 2018.
DOI 10.23919/FMCAD.2018.8602993
[48]Active Integrity Constraints for General-Purpose Knowledge Bases (with G. Gaspar, I. Nunes and P. Schneider-Kamp)
© Springer
in Annals of Mathematics and Artificial Intelligence, 83(3-4):213-246. Springer, August 2018.
DOI 10.1007/s10472-018-9577-y
In the last decade, several authors have proposed adaptations of the notion of integrity constraints to other reasoning frameworks than relational databases. In this article, we extend this line of work in two ways. First, we target multi-context systems, a general-purpose framework for combining heterogeneous reasoning systems, able to model most other reasoning frameworks, as we demonstrate. Second, we extend the notions of active integrity constraints and grounded repairs to this generalized setting. This way of including repair suggestions inside integrity constraints, subject to a validity check, enables us to define simple iterative algorithms to find all possible grounded repairs for an inconsistent multi-context system, avoiding the need to solve complex or undecidable problems.
[47]Communications in Choreographies, Revisited (with F. Montesi and M. Peressotti)
in H.M. Haddad, R.L. Wainright and R. Chbeir (eds.),
Proceedings of the Symposium on Applied Computing, SAC 2018, Pau, France, April 9-13, 2018,
pages 1248-1255. ACM, 2018.
DOI 10.1145/3167132.3167267
We introduce a new model for choreographic programming equipped with a primitive for grouped interactions that subsumes all the above scenarios. Intuitively, grouped interactions can be thought of as being carried out as one single interaction. In practice, they are implemented by processes that carry them out in a concurrent fashion. After formalising the intuitive semantics of grouped interactions, we prove that choreographic programs and their implementations are correct and deadlock-free by construction.
[46]Fixpoint Semantics for Active Integrity Constraints (with B. Bogaerts)
in Artificial Intelligence, 255:43-70. Elsevier, February 2018.
DOI 10.1016/j.artint.2017.11.003
In this paper, we apply approximation fixpoint theory, an abstract, algebraic framework designed to unify semantics of non-monotonic logics, to the field of AICs. This results in a new family of semantics for AICs. We study properties of our new semantics and relationships to existing semantics. In particular, we argue that two of the newly defined semantics stand out. Grounded repairs have a simple definition that is purely based on semantic principles that semantics for AICs should adhere to. And, as we show, they coincide with the intended interpretation of AICs on many examples. The second semantics of interest is the AFT-well-founded semantics: it is a computationally cheap semantics that provides upper- and lower bounds for many other classes of repairs.
[45]On Asynchrony and Choreographies (with F. Montesi)
in M. Bartoletti, L. Bocchi, L. Henrio and S. Knight (eds.),
Proceedings 10th Interaction and Concurrency Experience.
EPTCS 261:76-90. Open Publishing Association, 2017.
DOI 10.4204/EPTCS.261.8
[44]Formally Proving Size Optimality of Sorting Networks (with K.S. Larsen and P. Schneider-Kamp),
© Springer
in Journal of Automated Reasoning, 59(4):425-454. Springer, December 2017.
DOI 10.1007/s10817-017-9405-9
In this work we present a formal verification of optimality of sorting networks on up to 9 inputs, making it one of the largest computer-generated proofs that has been formally verified. We show that an adequate pre-processing of the information provided by the oracle is essential for feasibility, as it improves the time required by our extracted checker by several orders of magnitude.
[43]How to Get More Out of Your Oracles (with K.S. Larsen and P. Schneider-Kamp),
© Springer
in M. Ayala-Rincon and C. Muñoz (eds.), Interactive Theorem Proving, ITP 2017,
LNCS 10499:164-170. Springer, September 2017.
DOI 10.1007/978-3-319-66107-0_11
[42]Semantics for Active Integrity Constraints Using Approximation Fixpoint Theory (with B. Bogaerts)
in C. Sierra (ed.), 26th International Joint Conference on Artificial Intelligence, IJCAI 2017,
pages 866-872. IJCAI, 2017.
DOI 10.24963/ijcai.2017/120
In this paper, we apply approximation fixpoint theory, an abstract, algebraic framework designed to unify semantics of non-monotonic logics, to the field of AICs. This results in a new family of semantics for AICs. We study properties of our new semantics and relationships to existing semantics. In particular, we argue that the AFT-well-founded semantics has some very desirable properties.
[41]Efficient Certified RAT Verification (with M.J.H. Heule, W.A. Hunt Jr., M. Kaufmann and P. Schneider-Kamp)
© Springer
in L. de Moura (ed.), Automated Deduction - CADE 26,
LNAI 10395:220-236. Springer, August 2017.
DOI 10.1007/978-3-319-63046-5_14
[40]That's Enough: Asynchrony with Standard Choreography Primitives (with F. Montesi)
in C. Caleiro, F. Dionísio, P. Gouveia, P. Mateus and J. Rasga (eds.),
Logic and Computation: Essays in Honour of Amílcar Sernadas, volume 33 of Tributes,
pages 125-142, College Publications, 2017.
In this work, we take a different approach, and show that such extensions are not needed to reason about asynchronous communications in choreographies. Rather, we demonstrate how a standard choreography calculus already has all the needed expressive power to encode messages in transit (and thus asynchronous communications) through the primitives of process spawning and name mobility. The practical consequence of our results is that we can reason about real-world systems within a choreography formalism that is simpler than those hitherto proposed.
[39]Procedural Choreographic Programming (with F. Montesi)
© Springer
in A. Bouajjani and A. Silva (eds.), Formal Techniques for Distributed Objects, Components, and Systems – 37th IFIP WG 6.1 International Conference, FORTE 2017,
LNCS 10321:92-107. Springer, June 2017.
DOI 10.1007/978-3-319-60225-7_7
We propose Procedural Choreographies (PC), a choreographic language model with full procedural abstraction. PC includes unbounded process creation and name mobility, yielding a powerful framework for writing correct concurrent algorithms that can be compiled into a process calculus. This increased expressivity requires a typing discipline to ensure that processes are properly connected when enacting procedures.
[38]Encoding Asynchrony in Choreographies (with F. Montesi)
(poster )
in D. Shin and M. Lencastre (eds.),
Proceedings of the Symposium on Applied Computing, SAC 2017, Marrakech, Morocco, April 3-7, 2017,
pages 1175-1177. ACM, 2017.
DOI 10.1145/3019612.3019901
In this work, we take a different approach, and show that such extensions are not needed to reason about asynchronous communications in choreographies. Rather, we demonstrate how a standard choreography calculus already has all the needed expressive power to encode messages in transit (and thus asynchronous communications) through the primitives of process spawning and name mobility. The practical consequence of our results is that we can reason about real-world systems within a choreography formalism that is simpler than those hitherto proposed.
[37]Formally Proving the Boolean Pythagorean Triples Conjecture (with P. Schneider-Kamp)
in T. Eiter and D Sands (eds.),
Proceedings of LPAR-21,
EPiC Series in Computing 46:509-522. EasyChair Publications, May 2017.
[36]Optimizing Sorting Algorithms by Using Sorting Networks (with M. Codish, M. Nebel and P. Schneider-Kamp),
© Springer
in Formal Aspects of Computing, 29(3):559-579. Springer, May 2017.
DOI 10.1007/s00165-016-0401-3
[35]A Core Model for Choreographic Programming (with F. Montesi),
© Springer
in O. Kouchnarenko and R. Khosravi (eds.),
Formal Aspects of Component Software – 13th International Conference, FACS 2016,
LNCS 10231:17-35. Springer, April 2017.
DOI 10.1007/978-3-319-57666-4_3
In this work, we introduce Core Choreographies (CC), a model that includes only the core primitives of choreographic programming. Every computable function can be implemented as a choreography in CC, from which we can synthesise a process implementation where independent computations run in parallel. We discuss the design of CC and argue that it constitutes a canonical model for choreographic programming.
[34]Efficient Certified Resolution Proof Checking (with J. Marques-Silva and P. Schneider-Kamp),
© Springer
in A. Legay and T. Margaria (eds.),
Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017,
LNCS 10205:118-135. Springer, April 2017.
DOI 10.1007/978-3-662-54577-5_7
[33]The Paths to Choreography Extraction (with K.S. Larsen and F. Montesi),
© Springer
in J. Esparza and A.S. Murawski (eds.),
Foundations of Software Science and Computation Structures, FoSSaCS 2017,
LNCS 10203:424-440. Springer, April 2017.
DOI 10.1007/978-3-662-54458-7_25
To attack this problem, we propose a novel methodology (called choreography extraction) that, given a set of programs or protocol specifications, automatically constructs a choreography that describes their behavior. The key to our extraction is identifying a set of paths in a graph that represents the symbolic execution of the programs of interest. Our method improves on previous work in several directions: we can now deal with programs that are equipped with a state and internal computation capabilities; time complexity is dramatically better; we capture programs that are correct but not necessarily synchronizable, i.e., they work because they exploit asynchronous communication.
[32]From Description-Logic Programs to Multi-Context Systems (with G. Gaspar and I. Nunes).
Journal of Logical and Algebraic Methods in Programming, 88:26-44. Elsevier, April 2017.
DOI 10.1016/j.jlamp.2017.01.005
[31]Optimal-Depth Sorting Networks (with D. Bundala, M. Codish, P. Schneider-Kamp and J. Závodný)
Journal of Computer and System Sciences, 84:185-204. Elsevier, March 2017.
DOI 10.1016/j.jcss.2016.09.004
[30]Active Integrity Constraints: from Theory to Implementation (with M. Franz, A. Hakhverdyan, M. Ludovico, I. Nunes and P. Schneider-Kamp),
© Springer
in A. Fred, J. Dietz, D. Aveiro, K. Liu and J. Filipe (eds.), Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K2015),
CCIS 631:399-420. Springer, December 2016.
DOI 10.1007/978-3-319-52758-1_22
The framework of active integrity constraints (AICs) is one example of such an effort, providing theoretical grounds for rule-based algorithms for ensuring database consistency. An AIC consists of an integrity constraint together with a specification of actions that may be taken to repair a database that does not satisfy it. Both denotational and operational semantics have been proposed for AICs.
In this paper, we describe
repAIrC
, a prototype implementation of the algorithms previously proposed targetting SQL databases, i.e., the most prolific type of databases. Using repAIrC
, we can both validate an SQL database with respect to a given set of AICs and compute possible repairs in case the database is inconsistent; the tool is able to work with the different kinds of repairs that have been considered, and achieves optimal asymptotic complexity in their computation. It also implements strategies for parallelizing the search for repairs, which in many cases can make untractable problems become easily solvable.
[29]Active Integrity Constraints for Multi-context Systems (with G. Gaspar, I. Nunes and P. Schneider-Kamp),
© Springer
in E. Blomqvist, F. Vitali, P. Ciancatini and F. Poggi (eds.),
Knowledge Engineering and Knowledge Management – 20th International Conference, EKAW 2016,
LNAI 10024:98-112, Springer, November 2016.
DOI: 10.1007/978-3-319-49004-5_7
[28]Grounded Fixpoints and Active Integrity Constraints
in M. Carro, A. King, M. De Vos and N. Saeedloei (eds.), Technical Communications of the 32nd International Conference on Logic Programming (ICLP'16),
OASIcs 52:11.1-11.14, Schloss Dagstuhl, November 2016.
DOI 10.4230/OASIcs.ICLP.2016.11
However, the different semantics that have been proposed for these integrity constraints all exhibit some counter-intuitive examples. In this work, we look at active integrity constraints using ideas from algebraic fixpoint theory. We show how database repairs can be modeled as fixpoints of particular operators on databases, and study how the notion of grounded fixpoint induces a corresponding notion of grounded database repair that captures several natural intuitions, and in particular avoids the problems of previous alternative semantics.
In order to study grounded repairs in their full generality, we need to generalize the notion of grounded fixpoint to non-deterministic operators. We propose such a definition and illustrate its plausibility in the database context.
[27]Choreographies in Practice (with F. Montesi),
© Springer
in E. Albert and I. Lanesi (eds.), Formal Techniques for Distributed Objects, Components, and Systems – 36th IFIP WG 6.1 International Conference, FORTE 2016,
LNCS 9688:114-123. Springer, June 2016.
DOI 10.1007/978-3-319-39570-8_8
There is still a lack of practical illustrations of the applicability of choreographies to computational problems with standard concurrent solutions. In this work, we explore the potential of choreographic programming by writing concurrent algorithms for sorting, solving linear equations, and computing Fast Fourier Transforms. The lessons learned from this experiment give directions for future improvements of the paradigm.
[26]Sorting Nine Inputs Requires Twenty-Five Comparisons (with M. Codish, M. Frank and P. Schneider-Kamp)
Journal of Computer and System Sciences, 82(3):551-563. Elsevier, May 2016.
DOI 10.1016/j.jcss.2015.11.014
This closes the two smallest open instances of the optimal-size sorting network problem, which have been open since the results of Floyd and Knuth from 1966 proving optimality for sorting networks of up to 8 inputs.
[25]Integrity Constraints for General-Purpose Knowledge Bases (with I. Nunes and P. Schneider-Kamp),
© Springer
in M. Gyssens and G. Simari (eds.), Foundations of Information and Knowledge Systems – 9th International Symposium, FoIKS 2016,
LNCS 9616:235-254. Springer, March 2016.
DOI 10.1007/978-3-319-30024-5_13
In this paper we focus on multi-context systems, a general-purpose framework for combining heterogeneous reasoning systems, enhancing them with a notion of integrity constraints that generalizes the corresponding concept in the database world.
[24]Applying Sorting Networks to Synthesize Optimized Sorting Libraries (with M. Codish, M. Nebel and P. Schneider-Kamp),
© Springer
in M. Falaschi (ed.), Logic-Based Program Synthesis and Transformation (LOPSTR 2015),
LNCS 9527:127-142. Springer, December 2015.
DOI 10.1007/978-3-319-27436-2_8
[23]repAIrC
: A Tool for Ensuring Data Consistency by Means of Active Integrity Constraints (with M. Franz, A. Hakhverdyan, M. Ludovico, I. Nunes and P. Schneider-Kamp)
in A. Fred, J. Dietz, D. Aveiro, K. Liu and J. Filipe (eds.),
Proceedings of the 7th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K 2015), volume 3, pages 17-26.
SCITEPRESS, November 2015.
DOI 10.5220/0005586400170026
This paper describes a tool to validate an SQL database with respect to a given set of active integrity constraints, proposing possible repairs in case the database is inconsistent. The tool is able to work with the different kinds of repairs proposed in the literature, namely simple, founded, well-founded and justified repairs. It also implements strategies for parallelizing the search for them, allowing the user both to compute partitions of independent or stratified active integrity constraints, and to apply these partitions to find repairs of inconsistent databases efficiently in parallel.
[22]Formalizing Size-Optimal Sorting Networks: Extracting a Certified Proof Checker (with P. Schneider-Kamp),
© Springer
in C. Urban and X. Zhang (eds.), Interactive Theorem Proving, ITP 2015,
LNCS 9236:154-169. Springer, August 2015.
DOI 10.1007/978-3-319-22102-1_10
In this paper, we describe a formalized theory of size-optimal sorting networks. From this formalization we extract a certified checker that successfully verifies computer-generated proofs of optimality on up to 8 inputs. The checker relies on an untrusted oracle to shortcut the search for witnesses on more than 1.6 million NP-complete subproblems.
[21]Optimizing a Certified Proof Checker for a Large-Scale Computer-Generated Proof (with P. Schneider-Kamp),
© Springer
in M. Kerber, J. Carette, C. Kaliszyk, F. Rabe and V. Sorge (eds.), Intelligent Computer Mathematics, CICM 2015,
LNAI 9150:55-70. Springer, July 2015.
DOI 10.1007/978-3-319-20615-8_4
In this paper, we describe several non-trivial optimizations of the algorithm in the checker, obtained by appropriately changing the formalization and capitalizing on the symbiosis with an adequate implementation of the oracle. We provide experimental evidence of orders of magnitude improvements to both runtime and memory footprint for 8 inputs, and actually manage to check the full proof for 9 inputs.
- Awarded best paper in the proceedings of CICM 2015 (CALCULEMUS track)
[20]Design Patterns for Description-logic Programs (with G. Gaspar and I. Nunes),
© Springer
in A. Fred, J. Dietz, K. Liu and J. Filipe (eds.), Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K2013),
CCIS 454:199-214. Springer, April 2015.
DOI 10.1007/978-3-662-46549-3_13
In this paper we present a set of design patterns for Mdl-programs, a hybrid formalism combining several description logic knowledge bases via a logic program. These patterns are extensively applied in a natural way in a large-scale example that illustrates how their usage greatly simplifies some programming tasks, at the level of both development and extension.
We also discuss some limitations of this formalism, examining some usual patterns in other programming paradigms that have no parallel in Mdl-programs.
[19]The Finitistic Consistency of Heck's Predicative Fregean System (with F. Ferreira)
Notre Dame Journal of Formal Logic, 56(1):61-79, 2015.
DOI 10.1215/00294527-2835110
[18]Sorting Networks: the End Game (with M. Codish and P. Schneider-Kamp),
© Springer
in A.-H. Dediu, E. Formenti, C. Martín-Vide and B. Truthe (eds.),
Language and Automata Theory and Applications, 9th International Conference, LATA 2015,
LNCS 8977:664-675. Springer, March 2015.
DOI 10.1007/978-3-319-15579-1_52
[17]Twenty-Five Comparators is Optimal when Sorting Nine Inputs (and Twenty-Nine for Ten) (with M. Codish, M. Frank and P. Schneider-Kamp)
26th IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2014,
pages 186-193. IEEE, December 2014.
DOI 10.1109/ICTAI.2014.36
This closes the two smallest open instances of the optimal size sorting network problem, which have been open since the results of Floyd and Knuth from 1966 proving optimality for sorting networks of up to eight inputs.
The proof involves a combination of two methodologies: one based on exploiting the abundance of symmetries in sorting networks, and the other, based on an encoding of the problem to that of satisfiability of propositional logic. We illustrate that, while each of these can single handed solve smaller instances of the problem, it is their combination which leads to an efficient solution for nine inputs.
[16]Information Flow within Relational Multi-context Systems (with G. Gaspar and I. Nunes),
© Springer
in K. Janowicz, S. Schlobach, P. Lambrix and E. Hyvönen (eds.),
Knowledge Engineering and Knowledge Management – 19th International Conference, EKAW 2014,
LNAI 8876:97-108. Springer, November 2014.
DOI 10.1007/978-3-319-13704-9_8
[15]The Quest for Optimal Sorting Networks: Efficient Generation of Two-Layer Prefixes (with M. Codish and P. Schneider-Kamp)
in F. Winkler, V. Negru, T. Ida, T. Jebelan, D. Petcu, S.M. Watt and D. Zaharie (eds.),
16th International Symposium on Symbolic and Numerical Algorithms for Scientific Computing, SYNASC 2014,
pages 359-366. IEEE, October 2014.
DOI 10.1109/SYNASC.2014.55
[14]The Stream-based Service-Centered Calculus: a Foundation for Service-Oriented Programming (with I. Lanese, F. Martins, A. Ravara, and V. Vasconcelos),
© Springer
in Formal Aspects of Computing, 26:865-918. Springer, September 2014.
DOI 10.1007/s00165-013-0284-5
SSCC provides a good trade-off between expressive power for modeling and simplicity for analysis. We assess the expressive power by modeling van der Aalst workflow patterns and an automotive case study from the European project Sensoria. For analysis, we present a simple type system ensuring compatibility of client and service protocols. We also study the behavioral theory of the calculus, highlighting some axioms that capture the behavior of the different primitives.
As a final application of the theory, we define and prove correct some program transformations. These allow to start modeling a system from a typical UML Sequence Diagram, and then transform the specification to match the service-oriented programming style, thus simplifying its implementation using web services technology.
- Included as a Notable Article in Computing in Computing Reviews' 19th Annual Best of Computing list.
[13]Optimizing Computation of Repairs from Active Integrity Constraints,
© Springer
in C. Beierle and C. Meghini (eds.),
Foundations of Information and Knowledge Systems – 8th International Symposium, FoIKS 2014,
LNCS 8367:361-380. Springer, March 2014.
DOI 10.1007/978-3-319-04939-7_18
[12]Description logics, Rules and Multi-context Systems (with R. Henriques and I. Nunes),
© Springer
in K. McMillan, A. Middeldorp, and A. Voronkov (eds.),
Logic for Programming, Artificial Intelligence, and Reasoning, 19th International Conference, LPAR-19,
LNCS 8312:243-257. Springer, December 2013.
DOI 10.1007/978-3-642-45221-5_18
[11]Patterns for Interfacing between Logic Programs and Multiple Ontologies (with I. Nunes and G. Gaspar)
in J. Filipe and J. Dietz (eds.), International Conference on Knowledge Engineering and Ontology Development (KEOD2013), pages 58-69. SCITEPRESS, September 2013.
DOI 10.5220/0004544100580069
In this paper we discuss design patterns for hybrid semantic web systems combining several description logic knowledge bases via a logic program. We introduce eight design patterns, grouped in three categories: three elementary patterns, which are the basic building blocks; four derived patterns, built from these; and a more complex pattern, the study of which can shed some insight in future syntactic developments of the underlying framework. These patterns are extensively applied in a natural way in a large-scale example that illustrates how their usage greatly simplifies some programming tasks, at the level of both development and extension.
We work in a generalization of dl-programs that supports several (possibly different) description logics, but the results presented are easily adaptable to other existing frameworks such as multi-context systems.
[10]Computing Repairs from Active Integrity Constraints (with P. Engrácia, G. Gaspar and I. Nunes)
in H. Wang and R. Banach (eds.),
2013 International Symposium on Theoretical Aspects of Software Engineering (TASE 2013),
pages 183-190. IEEE, July 2013.
DOI 10.1109/TASE.2013.32
[9]Behavioural Theory at Work: Program Transformations in a Service-Centred Calculus (with I. Lanese, F. Martins, A. Ravara, and V. Vasconcelos),
© Springer
in G. Barthe and F. de Boer (eds.),
Proceedings of the 10th IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS'08),
LNCS 5051:59-77. Springer, May 2008.
DOI 10.1007/978-3-540-68863-1_5
[8]Complete Axiomatization of Discrete-Measure Almost-Everywhere Quantification (with J. Rasga, A. Sernadas and C. Sernadas)
in Journal of Logic and Computation, 18(6):885-911. Oxford University Press, April 2008.
DOI 10.1093/logcom/exn014
[7]Heterogeneous Fibring of Deductive Systems via Abstract Proof Systems (with A. Sernadas and C. Sernadas)
in Logic Journal of the IGPL, 16(2):121-153. Oxford University Press, April 2008.
DOI 10.1093/jigpal/jzm057
[6]Reasoning about Probabilistic Sequential Programs (with R. Chadha, P. Mateus and A. Sernadas)
in Theoretical Computer Science, 379(1-2):142-165. Elsevier, June 2007.
DOI 10.1016/j.tcs.2007.02.040
[5]A Large-Scale Experiment in Executing Extracted Programs (with P. Letouzey)
in J. Carette and W.M. Farmer (eds.),
Proceedings of the 12th Symposium on the Integration of Symbolic Computation and Mechanized Reasoning (Calculemus 2005),
ENTCS 151(1):75-191. Elsevier, 2006.
DOI 10.1016/j.entcs.2005.11.024
- Awarded best paper in the proceedings of CALCULEMUS 2005
[4]C-CoRN, the Constructive Coq Repository at Nijmegen (with H. Geuvers and F. Wiedijk),
© Springer
in A. Asperti, G. Bancerek and A. Trybulec (eds.),
Mathematical Knowledge Management, Third International Conference, MKM 2004,
LNCS 3119:88-103. Springer, September 2004.
DOI 10.1007/978-3-540-27818-4_7
[3]Hierarchical Reflection (with F. Wiedijk),
© Springer
in K. Slind, A. Bunker and G. Gopalakrishnan (eds.),
Theorem Proving in Higher Order Logics (17th International Conference, TPHOLs 2004),
LNCS 3223:66-81. Springer, September 2004.
DOI 10.1007/978-3-540-30142-4_5
[2]Program Extraction from Large Proof Developments (with B. Spitters),
© Springer
in D. Basin and B. Wolff (eds.),
Theorem Proving in Higher Order Logics (16th International Conference, TPHOLs 2003),
LNCS 2758:205-220. Springer, September 2003.
DOI 10.1007/10930755_14.
From a fully formalized constructive proof one can automatically obtain a computer implementation of such an algorithm together with a proof that the program is correct. As an example we consider the fundamental theorem of algebra which states that every non-constant polynomial has a root. This theorem has been fully formalized in the Coq proof assistant. Unfortunately, when we first tried to extract a program, the computer ran out of resources.
We will discuss how we used logical techniques to make it possible to extract a feasible program. This example is used as a motivation for a broader perspective on how the formalization of mathematics should be done with program extraction in mind.
[1]A Constructive Formalization of the Fundamental Theorem of Calculus,
© Springer
in H. Geuvers and F. Wiedijk (eds.),
Types 2002, Proceedings of the workshop Types for Proof and Programs,
LNCS 2646:108-126. Springer, April 2003.
DOI 10.1007/3-540-39185-1_7
[1] Bishop, E., Foundations of Constructive Analysis, McGraw-Hill Book Company, 1967.
Other Publications with Refereeing
[10]A Formalisation of Approximation Fixpoint Theory (extended abstract, with B. Bogaerts)
in H. Basold (ed.),
TYPES 2021 (Abstracts),
Leiden, 2021.
[9]Choreographies in Coq (extended abstract, with F. Montesi and M. Peressotti)
in M. Bezem (ed.),
TYPES 2019 (Abstracts),
Oslo, 2019.
[8]The Boolean Pythagorean Triples Problem in Coq (extended abstract, with J. Marques-Silva and P. Schneider-Kamp)
in A. Kaposi (ed.),
TYPES 2017 (Abstracts),
pages 47-48, Budapest, 2017.
[7]A Core Model for Choreographic Programming (with F. Montesi)
in R. Koshravi and O. Kouchnarenko (eds.),
FACS 2016 (Pre-proceedings), October 2016.
[6]Foundations of Choreographies (with F. Montesi)
in S. Gay and A. Ravara (eds.), BETTY 2016 (Proceedings), Lisbon, 2016.
[5]Applying Sorting Networks to Synthesize Optimized Sorting Libraries (with M. Codish, M. Nebel and P. Schneider-Kamp)
in LOPSTR 2015 (Informal Proceedings), 2015.
[4]A Formalized Checker for Size-Optimal Sorting Networks (extended abstract, with P. Schneider-Kamp)
in T. Uustalu (ed.),
TYPES 2015 (Abstracts),
pages 42-43, Tallinn, 2015.
[3]Tighter integration in dl-programs (with P. Engrácia, G. Gaspar, R. Henriques, I. Nunes and D. Santos)
in J. Cachopo, B. Sousa Santos (eds.)
INForum 2013, Atas do 5º Simpósio de Informática,
pages 457-468, Évora, 2013.
dlvhex
to work with dl-programs with lifting.
[2]Towards Automation of Real Analysis in Coq (extended abstract)
(poster )
in J. Zimmer and C. Benzmüller (eds.),
CALCULEMUS Autumn School 2002: Student Poster Abstracts,
SEKI Report, Saarbrücken, 2002.
[1]Formalizing Real Calculus in Coq
in V. Carreño, C. Muñoz and S. Tahar (eds.),
Theorem Proving in Higher Order Logics,
pages 158-166, NASA Conference Proceedings, Hampton VA, 2002.
Two important issues that arose in this formalization and which will be discussed in this paper are partial functions (different ways of dealing with this concept and the advantages of each different approach) and the high level tactics that were developed in parallel with the formalization (which automate several routine procedures involving results about real-valued functions).
Technical Reports
[8]Information Flow within Relational Multi-context Systems (with G. Gaspar and I. Nunes),
Technical Report 2014;03, Faculdade de Ciências da Universidade de Lisboa, September 2014.
[7]Viewing dl-programs as multi-context systems (with R. Henriques and I. Nunes)
Technical Report 2013;05, Faculdade de Ciências da Universidade de Lisboa, April 2013.
[6]Patterns for Programming in the Semantic Web (with I. Nunes and G. Gaspar)
Technical Report 2012;06, Faculdade de Ciências da Universidade de Lisboa, October 2012.
In this paper we discuss design patterns for the Semantic Web, giving new insights on how existing programming frameworks can be used in a systematic way to design large-scale systems. The common denominator between these frameworks is the combination between different reasoning systems, namely description logics and logic programming. Therefore, we chose to work in a generalization of dl-programs that supports several (possibly different) description logics, expecting that our results will be easily adapted to other existing frameworks such as multi-context systems. This study also suggests new constructs to enforce legibility and internal structure of logic-based Semantic Web programs.
[5]Achieving tightness in dl-programs (with P. Engrácia, G. Gaspar and I. Nunes)
Technical Report 2012;03, Faculdade de Ciências da Universidade de Lisboa, July 2012.
[4]Bisimulations in SSCC (with I. Lanese, F. Martins, A. Ravara, V. Vasconcelos)
Technical Report 07-37, Faculdade de Ciências da Universidade de Lisboa, December 2007.
[3]The Essence of Proofs when Fibring Sequent Calculi (with C. Sernadas)
Technical Report, CLC, Lisbon, Portugal, 2005
[2]Equational Reasoning in Algebraic Structures: a Complete Tactic (with F. Wiedijk)
Research Report NIII-R0431, NIII, University of Nijmegen, July 2004.
rational
, a Coq tactic for equational reasoning in abelian groups, commutative rings, and fields. We give an mathematical description of the method that this tactic uses, which abstracts from Coq specifics.We prove that the method that
rational
uses is correct, and that it is complete for groups and rings. Completeness means that the method succeeds in proving an equality if and only if that equality is provable from the the group/ring axioms. Finally we characterize in what way our method is incomplete for fields.
[1]C-CoRN: the Constructive Coq Repository at Nijmegen (with H. Geuvers and F. Wiedijk)
in Dutch Proof Tools Day 2004 (Program + Proceedings),
Research Report NIII-R0429, NIII, University of Nijmegen, June 2004.
Theses
[2]Constructive Real Analysis: a Type-Theoretical Formalization and Applications
PhD thesis, University of Nijmegen, June 2004.
[1]Lambda Calculus and Beyond
Diploma thesis, Instituto Superior Técnico, Lisbon, June 2001.
Books (editor)
[4]Números, cirurgias e nós de gravata: 10 anos de Seminário Diagonal no IST (with J.P. Boavida, R. Carpentier, E. Grifo, P. Gonçalves, D. Henriques and A.R. Pires)
Lisbon, 2012.
[3]Seminário Diagonal–Proceedings IST, III (with A. Cannas da Silva, N. Freitas, J.D. Silva and A. Vasconcelos)
Lisbon, 2007.
[2]Seminário Diagonal–Proceedings IST, II (with A. Cannas da Silva, R. Gonçalves, J. Pimentel Nunes, A.R. Pires, T. Reis, P.M. Resende and J. Silva)
Lisbon, 2005.
[1]Seminário Diagonal–Proceedings IST 2000-01 (with J.P. Boavida, A. Cannas da Silva, J. Fachada and P. Resende)
Lisbon, 2001.
Other Publications
[2]Uma Forma Diferente de Fazer Contas
in J.P. Boavida, R. Carpentier, L. Cruz-Filipe, P. Gonçalves, E. Grifo, D. Henriques and A.R. Pires (eds.),
Números, cirurgias e nós de gravata: 10 anos de Seminário Diagonal no IST, Lisbon, 2012.
[1]Habilidades com Somatórios
in J.P. Boavida, A. Cannas da Silva, L. Cruz-Filipe, J. Fachada and P. Resende (eds.),
Seminário Diagonal–Proceedings IST 2000-01, Lisbon, 2001.
Unpublished notes
[9]Active Integrity Constraints and Operational Aspects of the Problem of Database Repair (with P. Engrácia, G. Gaspar, I. Nunes and P. Schneider-Kamp), 2018.
In this article, we show how AICs may be used directly to repair inconsistent databases in an efficient way. First, we introduce notions of independence and precedence on AICs that allow the search for repairs to be, respectively, parallelized and sequentialized. Afterwards, we present an operational semantics and show that the different kinds of repairs for AICs can be effectively computed as leaves of specific kinds of trees. We show that this operational semantics is complete when existence of a repair is an NP-complete problem. Finally we discuss the applicability of these techniques and results to integrity constraints in general.
[8]On Asynchrony and Choreographies (with F. Montesi), 2018.
In this work, we present a systematic study of asynchronous communications in choreographies. First, we discuss and formalise the properties that an asynchronous semantics for choreographies should have. Then, we explore how out-of-order execution, previously used in choreographies for modelling concurrency, can be used to endow choreographies with an asynchronous semantics that satisfies our properties. Our development yields a pleasant correspondence with FIFO-based asynchronous messaging, modelled in a process calculus. Finally, we investigate the expressivity of choreography languages with respect to asynchrony. Specifically, we find out that choreography languages equipped with process spawning and name mobility primitives are expressive enough to program asynchronous behaviour over a simple synchronous semantics.
[7]Procedural Choreographic Programming (with F. Montesi), 2017.
We propose Procedural Choreographies (PC), a choreographic language model with full procedural abstraction. PC includes unbounded process creation and name mobility, yielding a powerful framework for writing correct concurrent algorithms that can be compiled into a process calculus. This expressivity requires a typing discipline to ensure that processes are properly connected when enacting procedures. Connections may form networks of arbitrary graph structures. We develop a formal synthesis procedure that, given a program in PC, generates a correct-by-construction concurrent implementation in terms of a process calculus. We illustrate the expressivity of PC with a series of examples, including parallel streams and parallel computation based on pipelining.
[6]Connectors meet Choreographies (with F. Arbab, S. Jongmans and F. Montesi), 2016.
In this work, we present Cho-Reo-graphies (CR), a model where choreographies are parametric in the (Reo) connectors through which parties communicate. CR is the first choreography model where different communication semantics (e.g., synchronous and asynchronous) can freely be mixed in the same choreography. We prove that if a choreography respects the rules of the connectors that it uses, then the process implementation that we can synthesise from it enjoys deadlock freedom.
[5]When Six Gates are Not Enough (with M. Codish, M. Frank and P. Schneider-Kamp), 2015.
[4]Cut-elimination theorem for second-order logic (with F. Ferreira)
Unpublished note, August 2013.
[3]The Automotive Case Study in the Sensoria Core Calculi (with F. Martins and V. Vasconcelos)
Unpublished note, June 2007.
[2]Sequent Calculi Based on Derivations (with C. Sernadas)
Unpublished note, 2005.
[1]A Decision Procedure for Equational Reasoning in Commutative Algebraic Structures (with F. Wiedijk)
Unpublished note, October 2004.
Within Coq we prove that this decision procedure is correct. On the meta-level we analyse its completeness, showing that it is complete for groups and rings in the sense that the tactic succeeds in finding a proof of an equality if and only if that equality is provable from the group/ring axioms without any hypotheses. Finally we characterize in what way our method is incomplete for fields.